{"version":3,"sources":["webpack:///webpack/bootstrap 4e307cb97ec16fc34723","webpack:///delegated ./node_modules/pug-runtime/index.js from dll-reference girder_plugin_slicer_cli_web","webpack:///delegated ./node_modules/jquery/dist/jquery.js from dll-reference girder_plugin_slicer_cli_web","webpack:///external \"girder_plugin_slicer_cli_web\"","webpack:///delegated ./node_modules/underscore/modules/index-all.js from dll-reference girder_plugin_slicer_cli_web","webpack:///delegated ./src/rest.js from dll-reference girder_plugin_slicer_cli_web","webpack:///external \"girder_plugin_large_image_annotation\"","webpack:///./node_modules/@girder/histomicsui/events.js","webpack:///./node_modules/@girder/histomicsui/router.js","webpack:///delegated ./src/views/View.js from dll-reference girder_plugin_slicer_cli_web","webpack:///delegated ./src/auth.js from dll-reference girder_plugin_slicer_cli_web","webpack:///./node_modules/@girder/histomicsui/views/View.js","webpack:///delegated ./src/events.js from dll-reference girder_plugin_slicer_cli_web","webpack:///delegated ./src/utilities/PluginUtils.js from dll-reference girder_plugin_slicer_cli_web","webpack:///external \"girder_lib\"","webpack:///./node_modules/@girder/histomicsui/views/utils.js","webpack:///delegated ./node_modules/@girder/slicer_cli_web/views/Panel.js from dll-reference girder_plugin_slicer_cli_web","webpack:///delegated ./node_modules/backbone/backbone.js from dll-reference girder_plugin_slicer_cli_web","webpack:///external \"girder_plugin_large_image\"","webpack:///delegated ./src/constants.js from dll-reference girder_plugin_slicer_cli_web","webpack:///./node_modules/@girder/histomicsui/collections/StyleCollection.js","webpack:///./node_modules/@girder/histomicsui/models/StyleModel.js","webpack:///./node_modules/@girder/histomicsui/node_modules/tinycolor2/tinycolor.js","webpack:///delegated ./src/utilities/jquery/girderModal.js from dll-reference girder_plugin_slicer_cli_web","webpack:///delegated ./src/misc.js from dll-reference girder_plugin_large_image","webpack:///delegated ./node_modules/webpack/buildin/global.js from dll-reference girder_plugin_large_image","webpack:///./node_modules/@girder/histomicsui/dialogs/editElement.js","webpack:////opt/HistomicsUI/histomicsui/web_client/node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack:///delegated ./src/router.js from dll-reference girder_plugin_slicer_cli_web","webpack:///delegated ./src/utilities/EventStream.js from dll-reference girder_plugin_slicer_cli_web","webpack:///./node_modules/@girder/histomicsui/views/layout/HeaderView.js","webpack:///./node_modules/@girder/histomicsui/views/layout/HeaderUserView.js","webpack:///external \"girder_plugin_jobs\"","webpack:///./node_modules/@girder/histomicsui/views/body/ImageView.js","webpack:///delegated ./src/models/ItemModel.js from dll-reference girder_plugin_slicer_cli_web","webpack:///delegated ./node_modules/@girder/large_image_annotation/models/AnnotationModel.js from dll-reference girder_plugin_large_image_annotation","webpack:///./node_modules/@girder/histomicsui/views/popover/AnnotationContextMenu.js","webpack:///./node_modules/@girder/histomicsui/stylesheets/popover/annotationContextMenu.styl","webpack:///./node_modules/@girder/histomicsui/views/popover/AnnotationPopover.js","webpack:///delegated ./node_modules/@girder/large_image_annotation/annotations/geometry/rectangle.js from dll-reference girder_plugin_large_image_annotation","webpack:///delegated ./node_modules/@girder/large_image_annotation/annotations/geometry/ellipse.js from dll-reference girder_plugin_large_image_annotation","webpack:///delegated ./node_modules/@girder/large_image_annotation/annotations/geometry/circle.js from dll-reference girder_plugin_large_image_annotation","webpack:///./node_modules/@girder/histomicsui/panels/AnnotationSelector.js","webpack:///./node_modules/@girder/histomicsui/dialogs/saveAnnotation.js","webpack:///./node_modules/@girder/histomicsui/panels/MetadataWidget.js","webpack:///./node_modules/@girder/histomicsui/dialogs/editRegionOfInterest.js","webpack:///./node_modules/@girder/histomicsui/stylesheets/panels/zoomWidget.styl","webpack:///./node_modules/@girder/histomicsui/dialogs/metadataPlot.js","webpack:///./node_modules/@girder/histomicsui/panels/DrawWidget.js","webpack:///./node_modules/@girder/histomicsui/vue/components/EditHeatmapOrGridDataContainer.vue?d1fb","webpack:///node_modules/@girder/histomicsui/vue/components/EditHeatmapOrGridDataContainer.vue","webpack:///./node_modules/@girder/histomicsui/vue/components/EditHeatmapOrGridData.vue?9957","webpack:///node_modules/@girder/histomicsui/vue/components/EditHeatmapOrGridData.vue","webpack:///./node_modules/@girder/histomicsui/vue/components/ColorPickerInput.vue?6a29","webpack:///node_modules/@girder/histomicsui/vue/components/ColorPickerInput.vue","webpack:///./node_modules/@girder/histomicsui/templates/panels/drawWidgetElement.pug","webpack:///delegated ./src/collections/UserCollection.js from dll-reference girder_plugin_large_image_annotation","webpack:///delegated ./src/collections/ItemCollection.js from dll-reference girder_lib","webpack:///delegated ./src/views/widgets/BrowserWidget.js from dll-reference girder_plugin_slicer_cli_web","webpack:///./node_modules/@girder/histomicsui/views/body/ConfigView.js","webpack:///./node_modules/@girder/histomicsui/stylesheets/views/itemList.styl","webpack:///./node_modules/@girder/histomicsui/main.js","webpack:///delegated ./src/pluginUtils.js from dll-reference girder_plugin_slicer_cli_web","webpack:///./node_modules/@girder/histomicsui/index.js","webpack:///./node_modules/@girder/histomicsui/app.js","webpack:///delegated ./node_modules/@girder/fontello/dist/css/animation.css from dll-reference girder_lib","webpack:///delegated ./node_modules/@girder/fontello/dist/css/fontello.css from dll-reference girder_lib","webpack:///delegated ./src/views/App.js from dll-reference girder_lib","webpack:///./node_modules/@girder/histomicsui/views/layout/HeaderAnalysesView.js","webpack:///./node_modules/@girder/histomicsui/templates/layout/headerAnalyses.pug","webpack:///./node_modules/@girder/histomicsui/stylesheets/layout/headerAnalyses.styl","webpack:///./node_modules/@girder/histomicsui/node_modules/bootstrap-submenu/dist/js/bootstrap-submenu.js","webpack:///./node_modules/@girder/histomicsui/node_modules/bootstrap-submenu/dist/css/bootstrap-submenu.css","webpack:///delegated ./src/views/layout/HeaderUserView.js from dll-reference girder_plugin_jobs","webpack:///./node_modules/@girder/histomicsui/templates/layout/headerUser.pug","webpack:///./node_modules/@girder/histomicsui/views/layout/HeaderImageView.js","webpack:///./node_modules/@girder/histomicsui/templates/layout/headerImage.pug","webpack:///./node_modules/@girder/histomicsui/stylesheets/layout/headerImage.styl","webpack:///./node_modules/@girder/histomicsui/templates/layout/header.pug","webpack:///./node_modules/@girder/histomicsui/stylesheets/layout/header.styl","webpack:///./node_modules/@girder/histomicsui/routes.js","webpack:///delegated ./src/models/FileModel.js from dll-reference girder_plugin_slicer_cli_web","webpack:///delegated ./src/collections/FolderCollection.js from dll-reference girder_plugin_slicer_cli_web","webpack:///delegated ./node_modules/@girder/large_image_annotation/views/index.js from dll-reference girder_plugin_large_image_annotation","webpack:///delegated ./node_modules/@girder/slicer_cli_web/views/PanelGroup.js from dll-reference girder_plugin_slicer_cli_web","webpack:///delegated ./node_modules/@girder/large_image_annotation/collections/AnnotationCollection.js from dll-reference girder_plugin_large_image_annotation","webpack:///delegated ./node_modules/@girder/large_image_annotation/annotations/index.js from dll-reference girder_plugin_large_image_annotation","webpack:///delegated ./node_modules/@girder/large_image_annotation/annotations/geojs/index.js from dll-reference girder_plugin_large_image_annotation","webpack:///./node_modules/@girder/histomicsui/node_modules/backbone.localstorage/build/backbone.localStorage.js","webpack:///./node_modules/@girder/histomicsui/templates/popover/annotationContextMenu.pug","webpack:///delegated ./node_modules/@girder/large_image_annotation/collections/ElementCollection.js from dll-reference girder_plugin_large_image_annotation","webpack:///./node_modules/@girder/histomicsui/templates/popover/annotationPopover.pug","webpack:///./node_modules/@girder/histomicsui/templates/popover/annotationPopoverMetadata.pug","webpack:///./node_modules/@girder/histomicsui/stylesheets/popover/annotationPopover.styl","webpack:///delegated ./node_modules/@girder/large_image_annotation/annotations/convert.js from dll-reference girder_plugin_large_image_annotation","webpack:///./node_modules/@girder/histomicsui/views/popover/PixelmapContextMenu.js","webpack:///./node_modules/@girder/histomicsui/templates/popover/pixelmapContextMenu.pug","webpack:///delegated ./src/index.js from dll-reference girder_lib","webpack:///delegated ./src/views/widgets/AccessWidget.js from dll-reference girder_plugin_large_image_annotation","webpack:///delegated ./node_modules/@girder/large_image/views/metadataWidget.js from dll-reference girder_plugin_large_image","webpack:///./node_modules/@girder/histomicsui/templates/panels/metadataWidgetPanel.pug","webpack:///./node_modules/@girder/histomicsui/stylesheets/panels/metadataWidget.styl","webpack:///./node_modules/@girder/histomicsui/stylesheets/dialogs/saveAnnotation.styl","webpack:///./node_modules/@girder/histomicsui/templates/dialogs/saveAnnotation.pug","webpack:///./node_modules/@girder/histomicsui/templates/panels/annotationSelector.pug","webpack:///./node_modules/@girder/histomicsui/stylesheets/panels/annotationSelector.styl","webpack:///./node_modules/@girder/histomicsui/panels/OverviewWidget.js","webpack:///delegated ./node_modules/@girder/large_image/views/imageViewerWidget/setFrameQuad.js from dll-reference girder_plugin_large_image","webpack:///./node_modules/@girder/histomicsui/templates/panels/overviewWidget.pug","webpack:///./node_modules/@girder/histomicsui/stylesheets/panels/overviewWidget.styl","webpack:///./node_modules/@girder/histomicsui/panels/ZoomWidget.js","webpack:///./node_modules/@girder/histomicsui/node_modules/url-search-params-polyfill/index.js","webpack:///./node_modules/@girder/histomicsui/templates/dialogs/editRegionOfInterest.pug","webpack:///./node_modules/@girder/histomicsui/templates/panels/zoomWidget.pug","webpack:///./node_modules/@girder/histomicsui/panels/FrameSelectorWidget.js","webpack:///delegated ./node_modules/@girder/large_image/vue/components/FrameSelector.vue from dll-reference girder_plugin_large_image","webpack:///./node_modules/@girder/histomicsui/templates/panels/frameSelectorWidget.pug","webpack:///./node_modules/@girder/histomicsui/stylesheets/panels/frameSelectorWidget.styl","webpack:///./node_modules/@girder/histomicsui/panels/MetadataPlot.js","webpack:///./node_modules/@girder/histomicsui/templates/dialogs/metadataPlot.pug","webpack:///./node_modules/@girder/histomicsui/templates/panels/metadataPlot.pug","webpack:///./node_modules/@girder/histomicsui/stylesheets/panels/metadataPlot.styl","webpack:///delegated ./node_modules/@girder/large_image_annotation/annotations/geojs/convert.js from dll-reference girder_plugin_large_image_annotation","webpack:///./node_modules/@girder/histomicsui/vue/components/EditHeatmapOrGridDataContainer.vue","webpack:///./node_modules/@girder/histomicsui/vue/components/EditHeatmapOrGridDataContainer.vue?a62f","webpack:///./node_modules/@girder/histomicsui/vue/components/EditHeatmapOrGridDataContainer.vue?cd82","webpack:///./node_modules/@girder/histomicsui/node_modules/vue/dist/vue.js","webpack:///delegated ./node_modules/timers-browserify/main.js from dll-reference girder_plugin_large_image","webpack:///./node_modules/@girder/histomicsui/vue/components/EditHeatmapOrGridData.vue","webpack:///./node_modules/@girder/histomicsui/vue/components/EditHeatmapOrGridData.vue?5539","webpack:///./node_modules/@girder/histomicsui/vue/components/EditHeatmapOrGridData.vue?6b67","webpack:///./node_modules/@girder/histomicsui/vue/components/ColorPickerInput.vue","webpack:///./node_modules/@girder/histomicsui/vue/components/ColorPickerInput.vue?ad39","webpack:///./node_modules/@girder/histomicsui/vue/components/ColorPickerInput.vue?d0b9","webpack:///./node_modules/@girder/histomicsui/node_modules/vue-color/dist/vue-color.min.js","webpack:///./node_modules/@girder/histomicsui/vue/components/ColorPickerInput.vue?208b","webpack:///./node_modules/@girder/histomicsui/vue/components/ColorPickerInput.vue?075e","webpack:///./node_modules/@girder/histomicsui/templates/dialogs/editElement.pug","webpack:///./node_modules/@girder/histomicsui/dialogs/editStyleGroups.js","webpack:///./node_modules/@girder/histomicsui/templates/dialogs/editStyleGroups.pug","webpack:///./node_modules/@girder/histomicsui/stylesheets/dialogs/editStyleGroups.styl","webpack:///./node_modules/@girder/histomicsui/templates/panels/drawWidget.pug","webpack:///./node_modules/@girder/histomicsui/stylesheets/panels/drawWidget.styl","webpack:///./node_modules/@girder/histomicsui/templates/body/image.pug","webpack:///./node_modules/@girder/histomicsui/stylesheets/body/image.styl","webpack:///./node_modules/@girder/histomicsui/templates/layout/layout.pug","webpack:///./node_modules/@girder/histomicsui/stylesheets/layout/layout.styl","webpack:///./node_modules/@girder/histomicsui/collections/index.js","webpack:///./node_modules/@girder/histomicsui/collections/UserCollection.js","webpack:///./node_modules/@girder/histomicsui/dialogs/index.js","webpack:///./node_modules/@girder/histomicsui/dialogs/confirmDialog.js","webpack:///./node_modules/@girder/histomicsui/templates/dialogs/confirmDialog.pug","webpack:///./node_modules/@girder/histomicsui/dialogs/openAnnotatedImage.js","webpack:///./node_modules/@girder/histomicsui/templates/dialogs/annotatedImageList.pug","webpack:///./node_modules/@girder/histomicsui/templates/dialogs/openAnnotatedImage.pug","webpack:///./node_modules/@girder/histomicsui/stylesheets/dialogs/openAnnotatedImage.styl","webpack:///./node_modules/@girder/histomicsui/dialogs/openImage.js","webpack:///delegated ./src/models/FolderModel.js from dll-reference girder_plugin_slicer_cli_web","webpack:///./node_modules/@girder/histomicsui/models/index.js","webpack:///./node_modules/@girder/histomicsui/panels/index.js","webpack:///./node_modules/@girder/histomicsui/views/index.js","webpack:///./node_modules/@girder/histomicsui/views/layout/index.js","webpack:///./node_modules/@girder/histomicsui/views/layout/LoginView.js","webpack:///delegated ./src/views/layout/LoginView.js from dll-reference girder_lib","webpack:///./node_modules/@girder/histomicsui/views/body/index.js","webpack:///delegated ./src/views/widgets/PluginConfigBreadcrumbWidget.js from dll-reference girder_plugin_slicer_cli_web","webpack:///./node_modules/@girder/histomicsui/templates/body/configView.pug","webpack:///./node_modules/@girder/histomicsui/stylesheets/body/configView.styl","webpack:///./node_modules/@girder/histomicsui/views/popover/index.js","webpack:///./node_modules/@girder/histomicsui/views/itemList.js","webpack:///delegated ./src/views/widgets/ItemListWidget.js from dll-reference girder_plugin_large_image_annotation","webpack:///./node_modules/@girder/histomicsui/views/itemPage.js","webpack:///delegated ./src/views/body/ItemView.js from dll-reference girder_plugin_slicer_cli_web","webpack:///./node_modules/@girder/histomicsui/views/HierarchyWidget.js","webpack:///delegated ./src/views/widgets/HierarchyWidget.js from dll-reference girder_plugin_slicer_cli_web","webpack:///./node_modules/@girder/histomicsui/views/searchResultsView.js","webpack:///delegated ./src/views/body/SearchResultsView.js from dll-reference girder_lib","webpack:///./node_modules/@girder/histomicsui/stylesheets/views/searchResultsView.styl","webpack:///./node_modules/@girder/histomicsui/views/JobDetailsWidget.js","webpack:///delegated ./node_modules/@girder/jobs/views/JobDetailsWidget.js from dll-reference girder_plugin_jobs"],"names":["girderEvents","router","Backbone","Router","setQuery","name","value","options","curRoute","history","fragment","routeParts","queryString","undefined","unparsedQueryString","$","param","length","_lastQueryString","navigate","base","getQuery","execute","callback","args","query","pop","push","apply","_","each","key","has","events","trigger","__super__","View","initialize","oldInitialize","result","arguments","document","on","evt","dialogContainer","off","target","closest","modal","oldGirderModal","fn","girderModal","view","call","prop","HuiSettings","_hui_settings","_hui_settings_result","type","url","then","resp","Deferred","resolve","elementAreaAndEdgeLength","element","geojson","features","geogeom","geometry","area","edge","lens","j","coordinates","i","v0","v1","len","Math","abs","properties","annotationType","PI","a","b","h","localStorage","LocalStorage","e","StyleCollection","Collection","extend","model","StyleModel","Model","defaults","lineWidth","lineColor","fillColor","EditElement","render","$el","html","annotationElement","toJSON","createVueModal","el","get","vm","EditHeatmapOrGridDataContainer","propsData","parentView","vueApp","closeVueModal","$destroy","getData","preventDefault","data","validation","label","val","group","_defaultGroup","parseFloat","isFinite","parent","addClass","convertColor","text","removeClass","edited","set","endEdit","toRgbString","dialog","show","defaultGroup","setElement","HeaderView","params","settings","prototype","brandName","brandColor","bannerColor","helpURL","trim","helpTooltip","helpText","tooltip","placement","delay","HeaderUserView","HeaderImageView","HeaderAnalysesView","GirderHeaderUserView","user","ImageView","click","viewerWidget","_mouseClickQueue","_openId","_displayedRegion","_currentMousePosition","_selectElementsByRegionCanceled","_debounceUpdatePixelmapValues","debounce","_updatePixelmapValues","_overlayLayers","selectedAnnotation","AnnotationModel","_id","selectedElements","elements","_increaseZoom2x","_increaseZoom2xRange","min","max","ItemModel","listenTo","_setImageInput","_allowRootSelection","_setDefaultFileOutputs","_resetRegion","_redrawSelection","_widgetDrawRegion","_drawRegionUpdate","_drawModeChange","openImage","annotations","AnnotationCollection","controlPanel","SlicerPanelGroup","closeButton","overviewWidget","OverviewWidget","zoomWidget","ZoomWidget","frameSelectorWidget","FrameSelectorWidget","metadataWidget","MetadataWidget","annotationSelector","AnnotationSelector","collection","image","metadataPlot","MetadataPlot","popover","AnnotationPopover","contextMenu","AnnotationContextMenu","pixelmapContextMenu","PixelmapContextMenu","refetchStyles","obj","setGroupCount","showRegion","toggleAnnotation","toggleLabels","_toggleInteractiveMode","_editAnnotation","_deleteAnnotation","_setAnnotationOpacity","_setAnnotationFillOpacity","_redrawAnnotation","_highlightAnnotationForInteractiveMode","_selectElementsByRegion","_selectElementsByRegionCancel","_editElement","_editElementShape","_closeContextMenu","_handlePixelmapContextMenu","_closePixelmapContextMenu","_saveSelection","_removeSelection","_deselectAnnotationElements","widgetRegion","_knownPanels","clearSettingsCache","parents","keyCode","mouseResetAnnotation","_removeDrawWidget","id","_orderPanels","_getConfig","destroy","ViewerWidget","geojs","itemId","hoverEvents","highlightFeatureSizeLimit","scale","position","bottom","right","setUnclampBoundsForOverlay","mouseOverAnnotation","mouseOutAnnotation","mouseOnAnnotation","mouseOffAnnotation","mouseClickAnnotation","mouseClickOverlay","mouseOverOverlay","overlayLayerDrawn","overlayLayerRemoved","viewer","interactor","removeAction","geo","geo_action","zoomselect","currentOptions","cancelOnMove","imageWidth","maxBounds","imageHeight","extraPanWidth","extraPanHeight","left","top","setImageBounds","setBoundsQuery","_originalZoomRange","zoomRange","geoOn","event","pan","mousemove","showCoordinates","setViewer","setItem","drawWidget","setAnnotationSelector","_resetSelection","clear","silent","fetch","getItemFile","limit","offset","files","Error","FileModel","getTilesDef","tiles","setMaxMagnification","magnification","setImage","getFileModel","fileId","file","largeImage","promise","when","originalId","models","forEach","Object","values","_panelViews","panel","_widgets","_getDefaultInputResource","resource","path","_path","_getDefaultOutputFolder","userFolders","FolderCollection","parentId","parentType","isEmpty","at","chain","pluck","flatten","entry","_rootPath","done","folder","filter","analysis","last","split","find","extension","folderId","_clearTooltips","remove","_closeAnalysis","bounds","rotation","toFixed","join","replace","_updatePixelmapElements","pixelmapElements","annotation","groups","defaultStyle","add","save","pixelmap","_reconcilePixelmapCategories","drawAnnotation","_updatePixelmapsWithCategories","pixelmapId","existingCategories","newCategories","newStyleGroups","category","correspondingStyle","newStyle","strokeColor","correspondingCategory","originalDefaultIndex","findIndex","updatedCategories","where","concat","reject","originalData","newData","map","_pageElements","setView","zoom","once","unset","removeAnnotation","interactiveMode","highlightAnnotation","slice","points","idx","pts","closed","center","hasRegionParameter","region","width","height","pt","x","y","annotationId","_lastMouseOnElement","elementModel","reset","getPixelmapElements","allPixelmaps","pixelmaps","_getCategoryIndexFromStyleGroup","styleGroup","categories","groupId","newIndex","pixelmapElementModel","layer","d","_pixelmapContextMenuActive","updatePixelmap","dataIndex","categoryIndex","pixelmapLayer","layers","layerDataIndex","newValue","indexModified","draw","overlayElement","overlayLayer","overlayAnnotationIsSelected","activeAnnotation","index","mouse","buttonsDown","modifiers","shift","style","getStyleGroup","_queueMouseClickAction","window","requestAnimationFrame","_processMouseClickQueue","_canOpenContextMenu","setTimeout","$window","menu","page","belowWindow","windowWidth","menuWidth","css","buttons","sourceEvent","handled","_openContextMenu","ctrl","annotationLayer","mode","_toggleSelectElement","allowClickSelection","_selectSingleElement","toggle","minimumDistance","Number","POSITIVE_INFINITY","point","dx","dy","distance","sorted","sortBy","property","interactive","_lastDrawingType","drawingType","cancelDrawMode","stopListening","attr","appendTo","DrawWidget","opacity","setGlobalAnnotationOpacity","setGlobalAnnotationFillOpacity","_onKeyDown","test","activeElement","tagName","toLowerCase","drawModes","o","r","c","p","l","_showOrHideAnnotations","selectAnnotationByRegion","originalAnnotation","createAnnotation","nextBrushShape","adjustBrushSize","setToPrevStyleGroup","setToNextStyleGroup","_drawingType","includes","state","modified","drawElement","_trackMousePosition","pageX","pageY","client","clientX","clientY","any","hideAllAnnotations","showAllAnnotations","drawRegion","polygon","coord","found","boundingBox","getElementsInBox","z","getElementsInPolygon","_selectElement","autoRegionContextMenu","poly","results","featureLayer","feature","polygonSearch","partial","_contextMenuActive","force","selectAnnotationByRegionActive","node","focus","_preeditDrawMode","_currentAnnotationEditShape","hideAnnotation","removeAllAnnotations","count","annot","geoOff","modes","edit","_editElementShapeFinishBound","bind","_editElementShapeFinish","update","AccessType","WRITE","attributes","_unselectElement","_highlightAnnotation","_selectElementsByGroup","groupedAnnotations","groupBy","annotationData","elementsCollection","getSettings","layout","_folderConfig","panelLayout","JSON","parse","panels","info","substr","spec","reverse","prependTo","processed","modelId","_folderConfigId","viewMode","annotationGroups","replaceGroups","first","submit","hasClass","originalEvent","eq","_cachedGroupCount","styles","_getAnnotationGroups","numberSelected","groupCount","_removeElements","stopPropagation","updateCount","countPixelmap","_editElements","_setStyleDefinition","styleAttrs","assign","keys","k","refresh","sort","countA","countB","_setGroup","currentTarget","_removeGroup","parseInt","ceil","scaleWidget","gui","formatUnit","scaleresult","areaStr","areaUnitsTable","formatDate","s","Date","toLocaleString","_position","_hide","_show","_hidden","visible","_users","ElementCollection","_getUser","_bindMoveEvent","_recomputeClosestElementThrottled","throttle","_recomputeClosestElement","_closestElement","users","elementProperties","_elementProperties","elementAdditionalValues","_elementAdditionalValues","_visible","_height","uid","_popover","setIf","func","v","Array","props","_scale","_lastPositionEvt","_distanceToElement","_lastCenter","lastElement","MAX_ELEMENTS_LIST_LENGTH","Panel","_expandedGroups","Set","_opacity","_fillOpacity","fillOpacity","_showAllAnnotationsState","_debounceRender","_changeAnnotationHighlight","eventStream","_onJobUpdate","_refreshAnnotations","_saveAnnotation","_parentId","_settingsFromConfig","_showLabels","annotationLabels","_interactiveMode","interactiveHover","toggleInteractiveMode","_debounceRenderRequest","parentItem","empty","title","_activeAnnotation","showLabels","creationAccess","writeAccessLevel","writeAccess","_writeAccess","expandedGroups","annotationAccess","_annotationAccess","collapsed","_changeGlobalOpacity","_changeGlobalFillOpacity","_setCreationAccess","item","_setCreationRequest","display","_deactivateAnnotation","deleteAnnotation","message","submitButton","onSubmit","_saving","_saveAgain","editAnnotationMetadata","listenToOnce","root","error","createResp","toggleClass","fail","status","_norefresh","indexBy","activeId","refreshed","_centroids","_elements","displayed","_setActiveAnnotation","editAnnotation","timeout","icon","_setActiveAnnotationWithoutLoad","always","numElements","vsaving","_inFetch","lastSaveAgain","needsOwn","ADMIN","btn","selectAnnotationByRegionCancel","_unhighlightAnnotation","_toggleExpandGroup","delete","groupObject","union","groupList","contains","_triggerGroupCountChange","collectStyleableProps","styleableFuncs","maxCategories","children","proplist","substring","categoric","indexOf","manyValues","subkey","subroot","rangeStyleableProps","needsArea","entries","calc","perimeter","colorFromFunc","colorParam","funcInfo","range","minColor","maxColor","clr","g","util","convertColorToRGBA","SaveAnnotation","colorpicker","elementTypes","types","elementTypeProps","line","rectangle","arrow","circle","ellipse","annotationHasEditableElements","showStyleEditor","defaultStyles","firstElement","every","_showStyleEditor","_styleableFuncs","_styleFuncs","hasAdmin","DATE_SECOND","styleFuncs","meta","_meta","fieldName","accessLevel","noSave","_updateFuncValues","access","AccessWidget","hideRecurseOption","noAccessFlag","cancel","changeFillColorFunc","changeLineColorFunc","checkFixedIfPresent","names","curfunc","mintext","maxtext","_getFunctionalProps","valueParam","setValue","color","valueFunc","useFunc","minSet","minValue","maxSet","maxValue","setFillColor","setLineColor","setLineWidth","fillColorParam","lineColorParam","description","MetadataWidgetPanel","expand","panelElem","maximize","renderMetadataWidgetHeader","getAccessLevel","_renderHeader","contents","firstKey","_sortedMetaKeys","firstValue","_renderedMetaDict","_limetadata","isObject","stringify","_accessLevel","getModeFromValue","addMetadata","collapse","addMetadataByKey","EditRegionOfInterest","_sizeCte","_format","_compressionRatio","_magnification","areaElement","maxMag","scaleBounds","scaleWidth","scaleHeight","numberOfPixel","getNumberPixels","fileSize","getConvertFileSize","updateform","zoomToMagnification","round","pow","maxZoom","magnificationToZoom","log2","factor","pixelNumber","getFileSize","bytesNumber","convertedSize","downloadDisable","bool","unbind","ev","removeAttr","selectedOption","getUrl","regionWidth","regionHeight","encoding","contentDisposition","urlView","frameAndUrl","URLSearchParams","MetadataPlotDialog","plotConfig","plotOptions","_submit","configOptions","is","format","series","newElementDisplayIdStart","_localId","_editOptions","_getEditOptions","_verifyEditOptions","_highlighted","_groups","_style","_handleStyleGroupsUpdate","_recalculateGroupAggregation","_setStyleGroup","updatedElement","_skipRenderHTML","highlighted","opts","firstRender","displayIdStart","append","hide","_bindHUIModeChange","_updateConstraintValueInputs","_boundHUIModeChange","oldmode","editElement","origGroup","_getId","elemType","newLabel","labelElement","oldLabel","oldnum","viewElement","_byId","pointAnnot","xCoords","yCoords","originalZoomRange","NEGATIVE_INFINITY","newView","zoomAndCenterFromBounds","origMin","transition","duration","endClamp","interp","d3","interpolateZoom","ease","easeExpInOut","deleteElement","addElements","_pixelTolerance","_applyBooleanOp","evtOpts","asPolygonList","toPolygonList","op","currentBooleanOperation","existing","_annotations","f","featureType","polylist","pixelTolerance","searchPoly","near","some","n","oldids","correspond","keepAnnotations","polyops","newAnnot","_guid","omit","_brushPan","_brushZoom","size","brush_size","unitsPerPixel","_setBrushCoordinates","mapgcs","_coordinates","_brushAction","operation","cursor_action","_lastBrushState","stateId","shape","brush_shape","brush_screen","bbox1","bbox2","bbox","blur","order","c1x","c1y","c2x","c2y","ang","atan2","cos","sin","_addDrawnElements","_setBrushMode","forceRefresh","_brushPanBound","cursor_click","registries","addAnnotation","cursor","currentAnnotation","modeOptions","size_mode","constraint","fixed_width","fixed_height","startDrawMode","hui","getItem","err","_saveEditOptions","console","warn","log","raiseOnError","groupName","change","groupElem","newCount","toArray","before","after","span","outerHTML","newrecord","toChange","ix","_setToSelectedStyleGroup","selectElementsInGroup","_dropdownControlClick","stopImmediatePropagation","content","isCollapsed","dropdown","parentNode","_changeBrush","_changeShapeConstraint","delta","newval","nextGroup","next","prevGroup","prev","_styleGroupEditor","dlg","_highlightElement","annotType","_unhighlightElement","used","__null__","pug","require","template","locals","pug_html","pug_mixins","pug_interp","pug_debug_filename","pug_debug_line","pug_debug_sources","locals_for_with","counts","displayIdOffset","typeCounts","$$obj","pug_index0","$$l","classes","displayId","escape","rethrow","module","exports","ConfigView","settingsKeys","_saveSettings","breadcrumb","PluginConfigBreadcrumbWidget","pluginName","method","list","default","_browserWidgetView","BrowserWidget","titleText","submitText","validate","isValid","responseJSON","_openBrowser","histomicsui","configRoute","route","collections","dialogs","views","App","location","search","decodeURIComponent","GirderApp","token","huiHeader","plv","progressListView","_origHandleProgress","_handleProgress","progress","_map","resourceName","login","close","open","navigateTo","bodyView","bindRoutes","analyses","submenupicker","_setAnalysis","api","imageName","versionName","version","cliName","cli","run","imageModel","parentChain","_setNextPreviousImage","getRootPath","nextImageLink","_nextImage","previousImageLink","_previousImage","previousImageName","_previousName","nextImageName","_nextName","previous","parts","object","titlePre","titleNext","annotationCount","upuser","firstName","lastName","elementCount","pug_index1","pug_index4","String","toPrecision","dtaIndex","pixelmapElement","_setCategory","removeButton","attrs","class","merge","moment","block","anyFuncs","sfunc","timestamp","defaultName","expanded","expandedClass","loading","downloadUrl","pug_index2","_createOverview","parentViewer","_boundOnParentPan","isEqual","_tiles","exit","pixelCoordinateParams","sizeX","sizeY","tileWidth","tileHeight","useCredentials","getFrameAndUrl","renderer","mapInteractor","actions","action","input","owner","selectionRectangle","keyboard","ResizeObserver","_observer","observe","autoshareRenderer","_tileLayer","createLayer","_layer","setFrameQuad","tileinfo","_featureLayer","_outlineFeature","createFeature","stroke","strokeWidth","fill","_panOutlineDistance","mouseclick","actiondown","_downState","rotate","distanceToOutline","distanceToPolygon2d","actionmove","actionselection","lowerLeft","upperRight","mapsize","gcsToDisplay","displayToGcs","scaling","_onParentPan","frame","_maxMag","_maxZoom","_minZoom","_cancelSelection","_zoomChanged","step","floor","title_download_view","title_download_area","maxNaturalMag","_maxNaturalMag","minMag","disabled","_zoomRangeControls","_zoomSliderInput","increase","increaseRange","setMagnification","_setSliderValue","_getSliderValue","_inZoomChange","_zoomButton","_downloadView","innerWidth","innerHeight","href","_downloadArea","mag","areaParams","_increaseZoomRange","oldmax","_decreaseZoomRange","frames","FrameSelector","_itemId","imageMetadata","frameUpdate","getPlotOptions","plotPanel","plottableData","_refetchPlottable","_listeningForAnnotations","lastUsed","plottableListUsed","plottableListPromise","_currentAnnotations","plottableList","abort","plottableDataPromise","hasPlot","parentFolderId","fetchPlottableData","requiredKeys","adjacentItems","getPlotData","columns","plotData","colDict","col","onHover","adjustHoverText","plotDataToPlotly","colorBrewerPaired12","viridis","colorScale","distinctcount","linear","domain","plotlyData","hovertext","hoverinfo","marker","symbol","distinct","box","meanline","yaxis","zeroline","scalemode","pointpos","jitter","transforms","kidx","Plotly","ajax","BUILD_TIMESTAMP","dataType","cache","lastPlotData","elem","maximized","margin","t","hovermode","xaxis","newPlot","plotFormats","opt","seriesList","number","comment","string","selected","pug_index3","EditStyleGroups","_newStyle","_setStyle","_updateStyle","_createNewStyle","_saveNewStyle","create","_deleteStyle","_resetDefaults","styleJSON","oldid","styleModels","_setDefaults","_exportGroups","Blob","URL","createObjectURL","_selectImportGroups","_toggleImportReplace","_importGroups","girderEnable","fr","FileReader","onload","onerror","readAsText","EditStyleGroupsDialog","originalCollectionData","originalModelData","originalModelId","form","_cancelChanges","UserCollection","origCollFetch","confirmDialog","openAnnotatedImage","saveAnnotation","editRegionOfInterest","defaultOptions","noop","ConfirmDialog","_options","setOptions","paths","AnnotatedImageList","items","inFetch","OpenAnnotatedImage","ItemCollection","comparator","_query","backbone","creator","_nextQuery","sortField","pageLimit","_usersIsFetched","_fetchImages","_queueFetchImages","_items","promises","_getResourcePath","creatorId","_updateQuery","createDialog","itemParent","widget","showItems","selectItem","rootSelectorSettings","selectByResource","highlightItem","paginated","defaultSelectedResource","isVirtual","FolderModel","body","LoginView","loginText","ItemListWidget","adjustView","cid","quarantine","setCurrentModel","parentModel","setRoute","webrootPath","delegateEvents","ItemView","success","HierarchyWidget","addResourcePaths","_results","payload","_type","resources","contentType","processData","doc","SearchResultsView","_request","_subviews","_origrender","JobDetailsWidget","job","record"],"mappings":"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;;AAED,IAAMC,0CAAkBxF,mBAASyF,UAAT,CAAoBC,MAApB,CAA2B;AAC/CC,WAAOC,oBADwC;AAE/CP,kBAAcA;AAFiC,CAA3B,CAAlB,CAAN;;kBAKeG,e;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChBf;;;;;;AAEA,IAAMI,qCAAa5F,mBAAS6F,KAAT,CAAeH,MAAf,CAAsB;AACrCI,cAAU;AACNC,mBAAW,CADL;AAENC,mBAAW,YAFL;AAGNC,mBAAW;AAHL;AAD2B,CAAtB,CAAb,CAAN;;kBAQeL,U;;;;;;ACVf;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB,8BAA8B;AACpD,sBAAsB,8BAA8B;AACpD,sBAAsB,8BAA8B;;AAEpD;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,+BAA+B,mBAAmB,OAAO;AACzD,+BAA+B,mBAAmB,OAAO;AACzD,+BAA+B,mBAAmB,OAAO;AACzD;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,gBAAgB;AAChB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,gBAAgB;AAChB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA,gBAAgB;AAChB,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,gBAAgB;AAChB,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,UAAU;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,UAAU;AACzB;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA,sDAAsD;AACtD,wCAAwC;AACxC,wCAAwC;AACxC;;AAEA;AACA;;AAEA,YAAY;AACZ;;AAEA;AACA;AACA;AACA,eAAe,UAAU;AACzB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,YAAY;AACZ;;AAEA;AACA;AACA;AACA,eAAe,UAAU;AACzB;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;AACA,sDAAsD;AACtD,wCAAwC;AACxC,wCAAwC;AACxC;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA,eAAe,UAAU;AACzB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,cAAc;AAC3C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,yCAAyC;AAC5D,mBAAmB,yCAAyC;AAC5D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,wCAAwC;AAC3D,mBAAmB,yCAAyC;AAC5D,mBAAmB,yCAAyC;AAC5D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,uCAAuC;AAC1D,mBAAmB,wCAAwC;AAC3D;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,+DAA+D,WAAW;AAC1E;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B,kBAAkB;AAC9C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,2DAA2D,wBAAwB;;AAEnF;AACA;AACA,2CAA2C,wBAAwB;AACnE;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,8EAA8E,4BAA4B,gBAAgB;AAC1H,8EAA8E,2BAA2B,gBAAgB;AACzH,qDAAqD,oDAAoD,gBAAgB;AACzH,qDAAqD,oDAAoD,gBAAgB;AACzH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,uBAAuB;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA,oDAAoD,0BAA0B;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;;AAEA,KAAK,kBAAkB,YAAY,kBAAkB;AACrD;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,4BAA4B,YAAY;;AAExC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KCAA;;;;;;;AACA;;;;AACA;;;;AAEA;;AACA;;AACA;;AACA;;;;AACA;;;;AACA;;;;AACA;;AAEA;;;;AACA;;;;AACA;;;;AAEA;;AACA;;AAEA;;;;AACA;;;;AAEA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;;;AAEA;;;;AACA;;;;AAEA;;;;AACA;;;;AAEA,IAAMsD,gDAAwBhL,eAAKwD,MAAL,CAAY;AACtC3D,YA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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;;;AACA;;;;AAEA;;AACA;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AAEA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;AACA;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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C,IAA/C,EAAqDV,GAArD,CAAP;AACH,CAJD;;kBAMe0wB,mB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrHf;;;;AACA;;AAEA;;;;AACA;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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AjB,C;;;;;;ACjKA,8C;;;;;;ACAA,gD;;;;;;ACAA,8C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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A,eAAe,MAAM;AACrB,iBAAiB,MAAM;AACvB;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe,MAAM;AACrB,iBAAiB,MAAM;AACvB;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,MAAM;AACvB;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;;AAEA;AACA,eAAe,MAAM;AACrB,iBAAiB,MAAM;AACvB;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB;AACjB;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB,QAAQ;AACzB;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA,eAAe,QAAQ;AACvB,iBAAiB,OAAO;AACxB;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB;AACjB;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA,eAAe,OAAO;AACtB,iBAAiB;AACjB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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ACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,0CAA0C,kBAAkB;AAC5D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,uBAAuB,iBAAiB;AACxC;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA,2BAA2B,mBAAmB;AAC9C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA,iCAAiC,EAAE;AACnC;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;A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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA,wBAAwB,+BAA+B;AACvD,wBAAwB,iBAAiB;AACzC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,oDAAoD,iCAAiC,EAAE;AACvF,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,+BAA+B,cAAc;;AAE7C;;AAEA;AACA;AACA;AACA,+BAA+B,UAAU;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,gBAAgB;AACnC,oCAAoC;AACpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,qBAAqB;AAC1C,mBAAmB;AACnB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,GAAG;AACV;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA,sCAAsC;AACtC;;AAEA;AACA;AACA;AACA,mCAAmC;AACnC,yCAAyC,wBAAwB,EAAE;AACnE,4BAA4B;;AAE5B;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,0BAA0B,YAAY;AACtC,oBAAoB,YAAY;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA,0CAA0C,EAAE;AAC5C;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,oBAAoB,EAAE;AACvD;AACA,oCAAoC,OAAO;AAC3C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4BAA4B,SAAS,qBAAqB;;AAE1D;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qCAAqC,OAAO;AAC5C;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,OAAO;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mDAAmD,OAAO;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;;AAEA,mBAAmB,iBAAiB;AACpC;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,uBAAuB;AAC3D,mCAAmC,sBAAsB;AACzD;AACA,oBAAoB;AACpB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,mBAAmB,uBAAuB;AAC1C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA,qBAAqB,mBAAmB;AACxC,iCAAiC;AACjC;AACA,KAAK;AACL;AACA;AACA;AACA,oBAAoB,YAAY;AAChC,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,sCAAsC;AACtC;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;AACA;AACA;AACA;;AAEA,6DAA6D,UAAU,EAAE;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,+CAA+C,SAAS;AACxD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,kDAAkD,qCAAqC,EAAE;AACzF;;AAEA;AACA;AACA;;AAEA,sCAAsC,yCAAyC,EAAE;AACjF;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,kBAAkB;AAC7C;AACA;AACA,8BAA8B;AAC9B,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,sDAAsD,EAAE;AACxF;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,mBAAmB;AACtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,kBAAkB;AACpC;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,uBAAuB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,iCAAiC;AACrE,gBAAgB,6BAA6B;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oCAAoC,iCAAiC;AACrE,gBAAgB,6BAA6B;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,yBAAyB;AAC5C,KAAK;AACL;AACA;AACA,mBAAmB,+BAA+B;AAClD;AACA;;AAEA;;AAEA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,qBAAqB;AACpC;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,iBAAiB;AACtC;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oEAAoE;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA,wBAAwB,mBAAmB;AAC3C;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,OAAO;AACxC;AACA;AACA,KAAK;AACL;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,oCAAoC,OAAO;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,8CAA8C,eAAe;AAC7D,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,oDAAoD;AACpD,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;;AAEA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,iBAAiB;AACtC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,uCAAuC,gEAAgE;AACvG;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,8BAA8B,+BAA+B;AAC7D,8BAA8B,+BAA+B;AAC7D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,qBAAqB,mBAAmB;AACxC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA,qCAAqC;AACrC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,uFAAuF;AAC9F;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,4CAA4C;AAC5C,mBAAmB,yBAAyB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK,+BAA+B;AACpC,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,sBAAsB,oBAAoB;AAC1C,wBAAwB,4BAA4B;AACpD;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,qBAAqB;AACrB,2BAA2B;AAC3B;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,6CAA6C;AAChF;AACA;AACA,+CAA+C,4CAA4C;;AAE3F;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,OAAO,2CAA2C,8BAA8B,EAAE;;AAElF;AACA,0CAA0C,OAAO;AACjD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,qBAAqB,qBAAqB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yCAAyC,OAAO;AAChD;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,SAAS;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,OAAO;AAC9C;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B;;AAE5B,oBAAoB;AACpB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB,qBAAqB;AAC1C;AACA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,qBAAqB,yBAAyB;AAC9C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,yBAAyB;AAC9C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,OAAO;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,0BAA0B;AACtD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,oBAAoB,EAAE;;AAEtD;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,sBAAsB;AACtB;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,2BAA2B;AAChD,uBAAuB,+BAA+B;AACtD;AACA;AACA,KAAK;AACL,2BAA2B;AAC3B;AACA,wBAAwB,iCAAiC;AACzD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,gCAAgC;;AAEhC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,oBAAoB;AAC3C;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,sBAAsB;AACtB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,eAAe;AACvC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE;AACxE;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mCAAmC;;AAEnC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;;;;;AAMA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA,4CAA4C,2BAA2B,EAAE;AACzE,OAAO;AACP;AACA,4CAA4C,4BAA4B,EAAE;AAC1E,OAAO;AACP,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,iCAAiC,eAAe;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qCAAqC,OAAO;AAC5C;AACA,kBAAkB,YAAY;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB,YAAY;AAC9B;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC,sBAAsB;;AAEvD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kCAAkC;;AAElC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sBAAsB,aAAa;AACnC;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,eAAe,kBAAkB;AACjC;AACA,iBAAiB,oBAAoB;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA,6DAA6D;AAC7D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mCAAmC;AACnC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,yBAAyB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uBAAuB,qBAAqB;AAC5C;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,yBAAyB;AAChD;AACA;AACA,0BAA0B;AAC1B;AACA,8BAA8B,4BAA4B;AAC1D,8BAA8B,gCAAgC;AAC9D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY,oBAAoB;AAChC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,2DAA2D,UAAU;AACrE,mBAAmB,wBAAwB,OAAO,uBAAuB;AACzE;AACA;AACA,mBAAmB,2BAA2B;AAC9C;AACA;AACA;AACA;;AAEA;AACA,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,uBAAuB;AAC1C;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,+CAA+C;AAC/C,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS,kDAAkD;AAC3D;AACA;AACA;AACA;AACA,SAAS,kDAAkD;AAC3D;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,gEAAgE;AACrG;AACA;AACA;AACA,kCAAkC;AAClC;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,qBAAqB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB,SAAS;AAClC;AACA,6CAA6C;AAC7C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,uBAAuB,OAAO,gCAAgC;AACjF,0DAA0D,oBAAoB;AAC9E;AACA;AACA;AACA,6BAA6B,gEAAgE;AAC7F,SAAS;AACT;AACA;AACA;AACA,qCAAqC,iCAAiC;AACtE;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,6DAA6D,oBAAoB;AACjF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,gCAAgC;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,+BAA+B,uBAAuB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA,8BAA8B,6BAA6B;AAC3D;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,6BAA6B,wBAAwB;AACrD;AACA;AACA;AACA;AACA,iCAAiC,yBAAyB;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,yBAAyB;AAC5D;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,2BAA2B;AAClD;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,8BAA8B;AACrD;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,8EAA8E;AAC9E;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,gBAAgB;AAC/B;AACA;AACA;AACA,0CAA0C,kBAAkB;AAC5D,OAAO;AACP,0CAA0C,kBAAkB;AAC5D,OAAO;AACP,0CAA0C,0BAA0B;AACpE,OAAO;AACP,0CAA0C,iBAAiB;AAC3D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA,qCAAqC;AACrC,qCAAqC;AACrC,6CAA6C;AAC7C,6BAA6B;AAC7B,6BAA6B;AAC7B,8BAA8B;AAC9B,8BAA8B;AAC9B,6BAA6B;AAC7B,6BAA6B;AAC7B;AACA,yBAAyB;AACzB;AACA;AACA;AACA,gBAAgB,QAAQ;AACxB;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,oBAAoB;AACrC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kCAAkC,eAAe,EAAE,uBAAuB,UAAU,EAAE;AACtF;AACA;;AAEA;AACA,qDAAqD,6CAA6C;AAClG;AACA;;AAEA;AACA;AACA;AACA;AACA,6BAA6B,6CAA6C;AAC1E;AACA;;AAEA;AACA;AACA;AACA,oCAAoC,2BAA2B;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uDAAuD;AACvD,KAAK;AACL,2CAA2C;AAC3C;;AAEA,mCAAmC,wCAAwC;AAC3E;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,OAAO;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oCAAoC,OAAO;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,0DAA0D,mBAAmB;AAC7E;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,aAAa;AACtC,yBAAyB,aAAa;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mFAAmF;AACnF,8BAA8B;AAC9B;AACA,6BAA6B;AAC7B,0BAA0B,iEAAiE;AAC3F,cAAc,0FAA0F;AACxG,QAAQ,KAAK,0CAA0C;AACvD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,kBAAkB;AACjE,wBAAwB,+CAA+C;AACvE,mDAAmD;;AAEnD;AACA,wDAAwD;AACxD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gDAAgD;AAChD;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,2BAA2B;AACxD,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,6CAA6C,EAAE;AACxD;AACA;;AAEA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA,YAAY;AACZ;AACA,yCAAyC,SAAS;AAClD;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,wBAAwB;AAC3C;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sDAAsD,4BAA4B,EAAE;AACpF,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sDAAsD,+BAA+B,EAAE;AACvF,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gDAAgD,aAAa;;AAE7D;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,mCAAmC,qCAAqC;;AAExE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,uCAAuC,EAAE;AACtF;AACA;AACA;AACA,+CAA+C,2CAA2C,EAAE;AAC5F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,OAAO;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uCAAuC,8BAA8B,EAAE;AACvE;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,oCAAoC,uCAAuC;;AAE3E,uCAAuC,0BAA0B;;AAEjE;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gDAAgD;AAChD;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,0CAA0C,gBAAgB;AAC1D;AACA;AACA,kEAAkE,sBAAsB,EAAE;AAC1F;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,wBAAwB;AAC7C;AACA;AACA;AACA;AACA;AACA,aAAa,uBAAuB;AACpC,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB,2BAA2B;AACpD;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,yBAAyB,EAAE;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA,wBAAwB,EAAE,iBAAiB,EAAE;AAC7C,iCAAiC;;AAEjC;AACA;AACA;AACA;AACA,GAAG;;;;AAIH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,kBAAkB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,OAAO;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,OAAO;AAC7C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS;AACT,SAAS;AACT,WAAW;AACX,UAAU;AACV,UAAU;AACV,SAAS;AACT,UAAU;AACV;AACA,6CAA6C;AAC7C,gEAAgE;;AAEhE;AACA;AACA,uDAAuD,2DAA2D;;AAElH;AACA;AACA,+CAA+C,2BAA2B,EAAE;AAC5E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oFAAoF,6BAA6B;AACjH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,qBAAqB,OAAO;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,uGAAuG;AAC3H;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,0BAA0B,eAAe;AACzC,wBAAwB,aAAa;;AAErC;AACA;AACA;AACA,oCAAoC,UAAU;AAC9C;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA,sCAAsC,UAAU;AAChD;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,8BAA8B,eAAe;AAC7C;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa,6DAA6D;AAC1E;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,+DAA+D,uBAAuB,EAAE;AACxF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA,uBAAuB,0BAA0B;AACjD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,uBAAuB;AAC1C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,oBAAoB;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,SAAS,4BAA4B;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,OAAO;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,OAAO;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kCAAkC,wBAAwB,EAAE;AAC5D;AACA;AACA;;AAEA;AACA;AACA,qCAAqC,OAAO;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,OAAO;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD,WAAW;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,iDAAiD,OAAO;AACxD;AACA;AACA;AACA;AACA,yDAAyD,WAAW;AACpE;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,+BAA+B;AAC/B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uCAAuC,2CAA2C,GAAG;;AAErF;AACA,oCAAoC;AACpC,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,uBAAuB,sCAAsC;AAC7D;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,0BAA0B;AAC1B;;AAEA;AACA,qDAAqD,4BAA4B,EAAE;AACnF;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gCAAgC,+EAA+E;AAC/G,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,8CAA8C,gCAAgC,EAAE;AAChF,2CAA2C,0CAA0C,EAAE;AACvF;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,2BAA2B;AAC3D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,wCAAwC,iDAAiD;AACzF;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;AAMA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA,yCAAyC,iDAAiD;AAC1F;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,oBAAoB;AAC/C;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB,6BAA6B;AAClD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,uCAAuC;AACnF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,2BAA2B;AAC3B;AACA,uDAAuD;AACvD;AACA,QAAQ;AACR;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA,eAAe,oBAAoB;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,6BAA6B;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,6GAA6G;AACnI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,sUAAsU;AACvV;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,+BAA+B,kBAAkB,iCAAiC,4EAA4E,qBAAqB,aAAa,GAAG,EAAE,kBAAkB;AACvN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B,yCAAyC,EAAE;AACtE;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA,cAAc,0EAA0E;AACxF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,sBAAsB,EAAE;AACxE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA;AACA,iEAAiE,oCAAoC,EAAE;AACvG;AACA;AACA;AACA;AACA,iEAAiE,gCAAgC,EAAE;AACnG;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,2DAA2D,wBAAwB;AACnF;AACA,qFAAqF;AACrF;AACA;AACA;AACA;AACA,SAAS,EAAE,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,oBAAoB,mCAAmC;AACvD;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,+EAA+E,GAAG;;AAElF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,0BAA0B;AACjD;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA,+BAA+B,+BAA+B;AAC9D,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB;AACpB,oBAAoB,eAAe;AACnC;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA,KAAK;AACL,mBAAmB,uBAAuB;AAC1C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,WAAW;AACX;AACA;AACA,gDAAgD,mBAAmB,EAAE;AACrE;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,uBAAuB,EAAE;AACzE,WAAW;AACX,kDAAkD,qBAAqB,EAAE;AACzE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,CAAC;;;;;;;;AC7uXD,gD;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAoG;AAC3B;AACL;;;AAGpE;AAC+I;AAC/I,gBAAgB,+IAAU;AAC1B,EAAE,4FAAM;AACR,EAAE,iGAAM;AACR,EAAE,0GAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEA;AACA,IAAI,KAAU;AACd;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACe,gF;;;;;;;ACtCf;AAAA;AAAA;AAAA;;;;;;;;ACAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA,iBAAiB,8BAA8B;AAC/C,mBAAmB,+BAA+B;AAClD,sBAAsB,4BAA4B;AAClD,uBAAuB,8BAA8B;AACrD;AACA;AACA;AACA;AACA;AACA,0BAA0B,iBAAiB;AAC3C;AACA;AACA;AACA,qBAAqB;AACrB,mBAAmB;AACnB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,4BAA4B;AACnD;AACA,6BAA6B,wBAAwB;AACrD;AACA;AACA;AACA;AACA;AACA,yCAAyC,aAAa;AACtD;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,4BAA4B;AACzD,iCAAiC,SAAS,2BAA2B,EAAE;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB,iCAAiC,oBAAoB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,uBAAuB;AACvB,qBAAqB;AACrB;AACA;AACA;AACA,yBAAyB,4BAA4B;AACrD,6BAA6B,SAAS,0BAA0B,EAAE;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,yBAAyB;AACrD,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,+BAA+B;AAC/B,6BAA6B;AAC7B;AACA;AACA;AACA,wCAAwC,+BAA+B;AACvE,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,sBAAsB;AAClE;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA,qCAAqC;AACrC,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,iBAAiB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA,wCAAwC,8BAA8B;AACtE,2CAA2C,qBAAqB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,iCAAiC;AACjC,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,2BAA2B;AACrE;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA,mCAAmC;AACnC,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC,mCAAmC;AACnC,iCAAiC;AACjC;AACA;AACA;AACA,4CAA4C,yBAAyB;AACrE,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC,mCAAmC;AACnC,iCAAiC;AACjC;AACA;AACA;AACA,4CAA4C,2BAA2B;AACvE,mCAAmC;AACnC;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,sBAAsB;AAClE;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA,qCAAqC;AACrC,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,0BAA0B;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA,4BAA4B,mBAAmB;AAC/C;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,uBAAuB;AACvB,qBAAqB;AACrB,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,0BAA0B;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA,gCAAgC,mBAAmB;AACnD;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,2BAA2B;AAC3B,yBAAyB;AACzB,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,0BAA0B;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA,gCAAgC,mBAAmB;AACnD;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,2BAA2B;AAC3B,yBAAyB;AACzB,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,8BAA8B;AACrD;AACA;AACA;AACA;AACA,0BAA0B,8BAA8B;AACxD;AACA;AACA;AACA;AACA,qBAAqB;AACrB,mBAAmB;AACnB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,iBAAiB;AAC3C;AACA;AACA;AACA;AACA,qBAAqB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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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","file":"plugin.min.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, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\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 = \"/static/built/\";\n\n \t__webpack_require__(62);\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 61);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 4e307cb97ec16fc34723","module.exports = (__webpack_require__(2))(2);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/pug-runtime/index.js from dll-reference girder_plugin_slicer_cli_web\n// module id = 0\n// module chunks = 0","module.exports = (__webpack_require__(2))(0);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/jquery/dist/jquery.js from dll-reference girder_plugin_slicer_cli_web\n// module id = 1\n// module chunks = 0","module.exports = girder_plugin_slicer_cli_web;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"girder_plugin_slicer_cli_web\"\n// module id = 2\n// module chunks = 0","module.exports = (__webpack_require__(2))(4);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/underscore/modules/index-all.js from dll-reference girder_plugin_slicer_cli_web\n// module id = 3\n// module chunks = 0","module.exports = (__webpack_require__(2))(6);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/rest.js from dll-reference girder_plugin_slicer_cli_web\n// module id = 4\n// module chunks = 0","module.exports = girder_plugin_large_image_annotation;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"girder_plugin_large_image_annotation\"\n// module id = 5\n// module chunks = 0","import girderEvents from '@girder/core/events';\n\nexport default girderEvents;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/events.js","import _ from 'underscore';\nimport $ from 'jquery';\nimport Backbone from 'backbone';\nimport {splitRoute, parseQueryString} from '@girder/core/misc';\n\nimport events from './events';\n\nvar router = new Backbone.Router();\n\nrouter.setQuery = function setQuery(name, value, options) {\n var curRoute = Backbone.history.fragment,\n routeParts = splitRoute(curRoute),\n queryString = parseQueryString(routeParts.name);\n if (value === undefined || value === null) {\n delete queryString[name];\n } else {\n queryString[name] = value;\n }\n var unparsedQueryString = $.param(queryString);\n if (unparsedQueryString.length > 0) {\n unparsedQueryString = '?' + unparsedQueryString;\n }\n this._lastQueryString = queryString;\n this.navigate(routeParts.base + unparsedQueryString, options);\n};\n\nrouter.getQuery = function getQuery(name) {\n return (this._lastQueryString || {})[name];\n};\n\nrouter.execute = function execute(callback, args) {\n var query = parseQueryString(args.pop());\n args.push(query);\n if (callback) {\n callback.apply(this, args);\n }\n\n _.each(this._lastQueryString || {}, function (value, key) {\n if (!_.has(query, key)) {\n events.trigger('query:' + key, null, query);\n }\n });\n _.each(query, function (value, key) {\n events.trigger('query:' + key, value, query);\n });\n events.trigger('query', query);\n this._lastQueryString = query;\n};\n\nexport default router;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/router.js","module.exports = (__webpack_require__(2))(5);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/views/View.js from dll-reference girder_plugin_slicer_cli_web\n// module id = 8\n// module chunks = 0","module.exports = (__webpack_require__(2))(16);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/auth.js from dll-reference girder_plugin_slicer_cli_web\n// module id = 9\n// module chunks = 0","import $ from 'jquery';\nimport View from '@girder/core/views/View';\n\nif (View.__super__ && View.__super__.initialize) {\n const oldInitialize = View.__super__.initialize;\n\n View.__super__.initialize = function () {\n const result = oldInitialize.apply(this, arguments);\n\n // Bootstrap 3's default behavior is to close dialogs when a\n // `click` event occurs outside of it. By using the `click`\n // event, the following scenario could occur -\n // The user clicks and holds down the mouse button when the cursor\n // is inside the dialog, but releases when the mouse cursor is\n // outside the dialog. The browser will recognize this as a `click`\n // event and will close the dialog.\n //\n // Instead, we want this behavior to happen on a `mousedown` event\n // for all dialogs when the HistomicsUI plugin is present.\n // So, below we attach our own event listener that disables the\n // auto-closing behavior on `click` and does it instead on `mousedown`:\n $(document).on('mousedown', '#g-dialog-container', (evt) => {\n const dialogContainer = $('#g-dialog-container');\n // Disable the `click` event listener. This works because the\n // `mousedown` event is always fired before `click`.\n dialogContainer.off('click', '#g-dialog-container');\n // Close the dialog if the `mousedown` event was outside of it.\n if (!evt.target.closest('.modal-content')) {\n dialogContainer.modal('hide');\n }\n });\n\n return result;\n };\n\n const oldGirderModal = $.fn.girderModal;\n $.fn.girderModal = function (view) {\n const result = oldGirderModal.call(this, view);\n result.on('shown.bs.modal', () => {\n result.off('click.dismiss.bs.modal');\n result.off('mouseup.dismiss.bs.modal');\n $('.btn', '#g-dialog-container').prop('tabindex', '0');\n });\n return result;\n };\n}\n\nexport default View;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/views/View.js","module.exports = (__webpack_require__(2))(8);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/events.js from dll-reference girder_plugin_slicer_cli_web\n// module id = 11\n// module chunks = 0","module.exports = (__webpack_require__(2))(10);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/utilities/PluginUtils.js from dll-reference girder_plugin_slicer_cli_web\n// module id = 12\n// module chunks = 0","module.exports = girder_lib;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"girder_lib\"\n// module id = 13\n// module chunks = 0","import $ from 'jquery';\n\nimport {restRequest} from '@girder/core/rest';\nimport convert from '@girder/large_image_annotation/annotations/convert';\n\n/* Utility items for HistomicUI views\n In the future more utility classes/functions can be added for export\n*/\nclass HuiSettings {\n constructor() {\n HuiSettings._hui_settings = null;\n }\n\n static getSettings() {\n if (HuiSettings._hui_settings) {\n if (HuiSettings._hui_settings_result) {\n return HuiSettings._hui_settings_result;\n }\n return HuiSettings._hui_settings;\n } else {\n HuiSettings._hui_settings = restRequest({\n type: 'GET',\n url: 'histomicsui/settings'\n }).then((resp) => {\n HuiSettings._hui_settings = $.Deferred().resolve(resp);\n return resp;\n });\n }\n return HuiSettings._hui_settings;\n }\n\n static clearSettingsCache() {\n delete HuiSettings._hui_settings;\n }\n}\n\n/**\n * Get the area and edge length of an element.\n *\n * @param {object} element An element to analyze\n * @returns {object} An area and edge length; may be undefined.\n */\nfunction elementAreaAndEdgeLength(element) {\n const geojson = convert(element, {}).features[0];\n const geogeom = geojson.geometry;\n let area, edge;\n if (geogeom.type === 'Polygon') {\n area = edge = 0;\n const lens = [];\n for (let j = 0; j < geogeom.coordinates.length; j += 1) {\n for (let i = 0; i < geogeom.coordinates[j].length - 1; i += 1) {\n const v0 = geogeom.coordinates[j][i];\n const v1 = geogeom.coordinates[j][i + 1];\n area += (v1[1] - v0[1]) * (v0[0] + v1[0]) / 2 * (!j ? 1 : -1);\n const len = ((v1[0] - v0[0]) ** 2 + (v1[1] - v0[1]) ** 2) ** 0.5;\n edge += len;\n lens.push(len);\n }\n }\n area = Math.abs(area);\n if ((geojson.properties.annotationType === 'ellipse' || geojson.properties.annotationType === 'circle') && edge) {\n area *= Math.PI / 4;\n const a = lens[0] / 2;\n const b = lens[1] / 2;\n const h = (a - b) ** 2 / (a + b) ** 2;\n // Ramanujan's approximation -- we actually need a series to\n // compute this properly.\n edge = Math.PI * (a + b) * (1 + 3 * h / (10 + (4 - 3 * h) ** 0.5));\n }\n }\n if (geogeom.type === 'LineString') {\n edge = 0;\n for (let i = 0; i < geogeom.coordinates.length - 1; i += 1) {\n const v0 = geogeom.coordinates[i];\n const v1 = geogeom.coordinates[i + 1];\n edge += ((v1[0] - v0[0]) ** 2 + (v1[1] - v0[1]) ** 2) ** 0.5;\n }\n }\n return {area, edge};\n}\n\nexport {HuiSettings, elementAreaAndEdgeLength};\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/views/utils.js","module.exports = (__webpack_require__(2))(15);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/@girder/slicer_cli_web/views/Panel.js from dll-reference girder_plugin_slicer_cli_web\n// module id = 15\n// module chunks = 0","module.exports = (__webpack_require__(2))(21);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/backbone/backbone.js from dll-reference girder_plugin_slicer_cli_web\n// module id = 17\n// module chunks = 0","module.exports = girder_plugin_large_image;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"girder_plugin_large_image\"\n// module id = 18\n// module chunks = 0","module.exports = (__webpack_require__(2))(71);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/constants.js from dll-reference girder_plugin_slicer_cli_web\n// module id = 19\n// module chunks = 0","import Backbone from 'backbone';\nimport {LocalStorage} from 'backbone.localstorage';\n\nimport StyleModel from '../models/StyleModel';\n\nlet localStorage;\ntry {\n localStorage = new LocalStorage('histomicsui.draw.style');\n} catch (e) {\n}\n\nconst StyleCollection = Backbone.Collection.extend({\n model: StyleModel,\n localStorage: localStorage\n});\n\nexport default StyleCollection;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/collections/StyleCollection.js","import Backbone from 'backbone';\n\nconst StyleModel = Backbone.Model.extend({\n defaults: {\n lineWidth: 2,\n lineColor: 'rgb(0,0,0)',\n fillColor: 'rgba(0,0,0,0)'\n }\n});\n\nexport default StyleModel;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/models/StyleModel.js","// TinyColor v1.4.2\n// https://github.com/bgrins/TinyColor\n// Brian Grinstead, MIT License\n\n(function(Math) {\n\nvar trimLeft = /^\\s+/,\n trimRight = /\\s+$/,\n tinyCounter = 0,\n mathRound = Math.round,\n mathMin = Math.min,\n mathMax = Math.max,\n mathRandom = Math.random;\n\nfunction tinycolor (color, opts) {\n\n color = (color) ? color : '';\n opts = opts || { };\n\n // If input is already a tinycolor, return itself\n if (color instanceof tinycolor) {\n return color;\n }\n // If we are called as a function, call using new instead\n if (!(this instanceof tinycolor)) {\n return new tinycolor(color, opts);\n }\n\n var rgb = inputToRGB(color);\n this._originalInput = color,\n this._r = rgb.r,\n this._g = rgb.g,\n this._b = rgb.b,\n this._a = rgb.a,\n this._roundA = mathRound(100*this._a) / 100,\n this._format = opts.format || rgb.format;\n this._gradientType = opts.gradientType;\n\n // Don't let the range of [0,255] come back in [0,1].\n // Potentially lose a little bit of precision here, but will fix issues where\n // .5 gets interpreted as half of the total, instead of half of 1\n // If it was supposed to be 128, this was already taken care of by `inputToRgb`\n if (this._r < 1) { this._r = mathRound(this._r); }\n if (this._g < 1) { this._g = mathRound(this._g); }\n if (this._b < 1) { this._b = mathRound(this._b); }\n\n this._ok = rgb.ok;\n this._tc_id = tinyCounter++;\n}\n\ntinycolor.prototype = {\n isDark: function() {\n return this.getBrightness() < 128;\n },\n isLight: function() {\n return !this.isDark();\n },\n isValid: function() {\n return this._ok;\n },\n getOriginalInput: function() {\n return this._originalInput;\n },\n getFormat: function() {\n return this._format;\n },\n getAlpha: function() {\n return this._a;\n },\n getBrightness: function() {\n //http://www.w3.org/TR/AERT#color-contrast\n var rgb = this.toRgb();\n return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;\n },\n getLuminance: function() {\n //http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n var rgb = this.toRgb();\n var RsRGB, GsRGB, BsRGB, R, G, B;\n RsRGB = rgb.r/255;\n GsRGB = rgb.g/255;\n BsRGB = rgb.b/255;\n\n if (RsRGB <= 0.03928) {R = RsRGB / 12.92;} else {R = Math.pow(((RsRGB + 0.055) / 1.055), 2.4);}\n if (GsRGB <= 0.03928) {G = GsRGB / 12.92;} else {G = Math.pow(((GsRGB + 0.055) / 1.055), 2.4);}\n if (BsRGB <= 0.03928) {B = BsRGB / 12.92;} else {B = Math.pow(((BsRGB + 0.055) / 1.055), 2.4);}\n return (0.2126 * R) + (0.7152 * G) + (0.0722 * B);\n },\n setAlpha: function(value) {\n this._a = boundAlpha(value);\n this._roundA = mathRound(100*this._a) / 100;\n return this;\n },\n toHsv: function() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this._a };\n },\n toHsvString: function() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n var h = mathRound(hsv.h * 360), s = mathRound(hsv.s * 100), v = mathRound(hsv.v * 100);\n return (this._a == 1) ?\n \"hsv(\" + h + \", \" + s + \"%, \" + v + \"%)\" :\n \"hsva(\" + h + \", \" + s + \"%, \" + v + \"%, \"+ this._roundA + \")\";\n },\n toHsl: function() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this._a };\n },\n toHslString: function() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n var h = mathRound(hsl.h * 360), s = mathRound(hsl.s * 100), l = mathRound(hsl.l * 100);\n return (this._a == 1) ?\n \"hsl(\" + h + \", \" + s + \"%, \" + l + \"%)\" :\n \"hsla(\" + h + \", \" + s + \"%, \" + l + \"%, \"+ this._roundA + \")\";\n },\n toHex: function(allow3Char) {\n return rgbToHex(this._r, this._g, this._b, allow3Char);\n },\n toHexString: function(allow3Char) {\n return '#' + this.toHex(allow3Char);\n },\n toHex8: function(allow4Char) {\n return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char);\n },\n toHex8String: function(allow4Char) {\n return '#' + this.toHex8(allow4Char);\n },\n toRgb: function() {\n return { r: mathRound(this._r), g: mathRound(this._g), b: mathRound(this._b), a: this._a };\n },\n toRgbString: function() {\n return (this._a == 1) ?\n \"rgb(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \")\" :\n \"rgba(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \", \" + this._roundA + \")\";\n },\n toPercentageRgb: function() {\n return { r: mathRound(bound01(this._r, 255) * 100) + \"%\", g: mathRound(bound01(this._g, 255) * 100) + \"%\", b: mathRound(bound01(this._b, 255) * 100) + \"%\", a: this._a };\n },\n toPercentageRgbString: function() {\n return (this._a == 1) ?\n \"rgb(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%)\" :\n \"rgba(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%, \" + this._roundA + \")\";\n },\n toName: function() {\n if (this._a === 0) {\n return \"transparent\";\n }\n\n if (this._a < 1) {\n return false;\n }\n\n return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false;\n },\n toFilter: function(secondColor) {\n var hex8String = '#' + rgbaToArgbHex(this._r, this._g, this._b, this._a);\n var secondHex8String = hex8String;\n var gradientType = this._gradientType ? \"GradientType = 1, \" : \"\";\n\n if (secondColor) {\n var s = tinycolor(secondColor);\n secondHex8String = '#' + rgbaToArgbHex(s._r, s._g, s._b, s._a);\n }\n\n return \"progid:DXImageTransform.Microsoft.gradient(\"+gradientType+\"startColorstr=\"+hex8String+\",endColorstr=\"+secondHex8String+\")\";\n },\n toString: function(format) {\n var formatSet = !!format;\n format = format || this._format;\n\n var formattedString = false;\n var hasAlpha = this._a < 1 && this._a >= 0;\n var needsAlphaFormat = !formatSet && hasAlpha && (format === \"hex\" || format === \"hex6\" || format === \"hex3\" || format === \"hex4\" || format === \"hex8\" || format === \"name\");\n\n if (needsAlphaFormat) {\n // Special case for \"transparent\", all other non-alpha formats\n // will return rgba when there is transparency.\n if (format === \"name\" && this._a === 0) {\n return this.toName();\n }\n return this.toRgbString();\n }\n if (format === \"rgb\") {\n formattedString = this.toRgbString();\n }\n if (format === \"prgb\") {\n formattedString = this.toPercentageRgbString();\n }\n if (format === \"hex\" || format === \"hex6\") {\n formattedString = this.toHexString();\n }\n if (format === \"hex3\") {\n formattedString = this.toHexString(true);\n }\n if (format === \"hex4\") {\n formattedString = this.toHex8String(true);\n }\n if (format === \"hex8\") {\n formattedString = this.toHex8String();\n }\n if (format === \"name\") {\n formattedString = this.toName();\n }\n if (format === \"hsl\") {\n formattedString = this.toHslString();\n }\n if (format === \"hsv\") {\n formattedString = this.toHsvString();\n }\n\n return formattedString || this.toHexString();\n },\n clone: function() {\n return tinycolor(this.toString());\n },\n\n _applyModification: function(fn, args) {\n var color = fn.apply(null, [this].concat([].slice.call(args)));\n this._r = color._r;\n this._g = color._g;\n this._b = color._b;\n this.setAlpha(color._a);\n return this;\n },\n lighten: function() {\n return this._applyModification(lighten, arguments);\n },\n brighten: function() {\n return this._applyModification(brighten, arguments);\n },\n darken: function() {\n return this._applyModification(darken, arguments);\n },\n desaturate: function() {\n return this._applyModification(desaturate, arguments);\n },\n saturate: function() {\n return this._applyModification(saturate, arguments);\n },\n greyscale: function() {\n return this._applyModification(greyscale, arguments);\n },\n spin: function() {\n return this._applyModification(spin, arguments);\n },\n\n _applyCombination: function(fn, args) {\n return fn.apply(null, [this].concat([].slice.call(args)));\n },\n analogous: function() {\n return this._applyCombination(analogous, arguments);\n },\n complement: function() {\n return this._applyCombination(complement, arguments);\n },\n monochromatic: function() {\n return this._applyCombination(monochromatic, arguments);\n },\n splitcomplement: function() {\n return this._applyCombination(splitcomplement, arguments);\n },\n triad: function() {\n return this._applyCombination(triad, arguments);\n },\n tetrad: function() {\n return this._applyCombination(tetrad, arguments);\n }\n};\n\n// If input is an object, force 1 into \"1.0\" to handle ratios properly\n// String input requires \"1.0\" as input, so 1 will be treated as 1\ntinycolor.fromRatio = function(color, opts) {\n if (typeof color == \"object\") {\n var newColor = {};\n for (var i in color) {\n if (color.hasOwnProperty(i)) {\n if (i === \"a\") {\n newColor[i] = color[i];\n }\n else {\n newColor[i] = convertToPercentage(color[i]);\n }\n }\n }\n color = newColor;\n }\n\n return tinycolor(color, opts);\n};\n\n// Given a string or object, convert that input to RGB\n// Possible string inputs:\n//\n// \"red\"\n// \"#f00\" or \"f00\"\n// \"#ff0000\" or \"ff0000\"\n// \"#ff000000\" or \"ff000000\"\n// \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n// \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n// \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n// \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n// \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n// \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n// \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n//\nfunction inputToRGB(color) {\n\n var rgb = { r: 0, g: 0, b: 0 };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n\n if (typeof color == \"string\") {\n color = stringInputToObject(color);\n }\n\n if (typeof color == \"object\") {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === \"%\" ? \"prgb\" : \"rgb\";\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = \"hsv\";\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = \"hsl\";\n }\n\n if (color.hasOwnProperty(\"a\")) {\n a = color.a;\n }\n }\n\n a = boundAlpha(a);\n\n return {\n ok: ok,\n format: color.format || format,\n r: mathMin(255, mathMax(rgb.r, 0)),\n g: mathMin(255, mathMax(rgb.g, 0)),\n b: mathMin(255, mathMax(rgb.b, 0)),\n a: a\n };\n}\n\n\n// Conversion Functions\n// --------------------\n\n// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// \n\n// `rgbToRgb`\n// Handle bounds / percentage checking to conform to CSS color spec\n// \n// *Assumes:* r, g, b in [0, 255] or [0, 1]\n// *Returns:* { r, g, b } in [0, 255]\nfunction rgbToRgb(r, g, b){\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255\n };\n}\n\n// `rgbToHsl`\n// Converts an RGB color value to HSL.\n// *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n// *Returns:* { h, s, l } in [0,1]\nfunction rgbToHsl(r, g, b) {\n\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, l = (max + min) / 2;\n\n if(max == min) {\n h = s = 0; // achromatic\n }\n else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch(max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n\n h /= 6;\n }\n\n return { h: h, s: s, l: l };\n}\n\n// `hslToRgb`\n// Converts an HSL color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\nfunction hslToRgb(h, s, l) {\n var r, g, b;\n\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n\n function hue2rgb(p, q, t) {\n if(t < 0) t += 1;\n if(t > 1) t -= 1;\n if(t < 1/6) return p + (q - p) * 6 * t;\n if(t < 1/2) return q;\n if(t < 2/3) return p + (q - p) * (2/3 - t) * 6;\n return p;\n }\n\n if(s === 0) {\n r = g = b = l; // achromatic\n }\n else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1/3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1/3);\n }\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHsv`\n// Converts an RGB color value to HSV\n// *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n// *Returns:* { h, s, v } in [0,1]\nfunction rgbToHsv(r, g, b) {\n\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, v = max;\n\n var d = max - min;\n s = max === 0 ? 0 : d / max;\n\n if(max == min) {\n h = 0; // achromatic\n }\n else {\n switch(max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n h /= 6;\n }\n return { h: h, s: s, v: v };\n}\n\n// `hsvToRgb`\n// Converts an HSV color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\n function hsvToRgb(h, s, v) {\n\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n\n var i = Math.floor(h),\n f = h - i,\n p = v * (1 - s),\n q = v * (1 - f * s),\n t = v * (1 - (1 - f) * s),\n mod = i % 6,\n r = [v, q, p, p, t, v][mod],\n g = [t, v, v, q, p, p][mod],\n b = [p, p, t, v, v, q][mod];\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHex`\n// Converts an RGB color to hex\n// Assumes r, g, and b are contained in the set [0, 255]\n// Returns a 3 or 6 character hex\nfunction rgbToHex(r, g, b, allow3Char) {\n\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n\n // Return a 3 character hex if possible\n if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n\n return hex.join(\"\");\n}\n\n// `rgbaToHex`\n// Converts an RGBA color plus alpha transparency to hex\n// Assumes r, g, b are contained in the set [0, 255] and\n// a in [0, 1]. Returns a 4 or 8 character rgba hex\nfunction rgbaToHex(r, g, b, a, allow4Char) {\n\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16)),\n pad2(convertDecimalToHex(a))\n ];\n\n // Return a 4 character hex if possible\n if (allow4Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1) && hex[3].charAt(0) == hex[3].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n\n return hex.join(\"\");\n}\n\n// `rgbaToArgbHex`\n// Converts an RGBA color to an ARGB Hex8 string\n// Rarely used, but required for \"toFilter()\"\nfunction rgbaToArgbHex(r, g, b, a) {\n\n var hex = [\n pad2(convertDecimalToHex(a)),\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n\n return hex.join(\"\");\n}\n\n// `equals`\n// Can be called with any tinycolor input\ntinycolor.equals = function (color1, color2) {\n if (!color1 || !color2) { return false; }\n return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString();\n};\n\ntinycolor.random = function() {\n return tinycolor.fromRatio({\n r: mathRandom(),\n g: mathRandom(),\n b: mathRandom()\n });\n};\n\n\n// Modification Functions\n// ----------------------\n// Thanks to less.js for some of the basics here\n// \n\nfunction desaturate(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.s -= amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\n\nfunction saturate(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.s += amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\n\nfunction greyscale(color) {\n return tinycolor(color).desaturate(100);\n}\n\nfunction lighten (color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.l += amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\nfunction brighten(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var rgb = tinycolor(color).toRgb();\n rgb.r = mathMax(0, mathMin(255, rgb.r - mathRound(255 * - (amount / 100))));\n rgb.g = mathMax(0, mathMin(255, rgb.g - mathRound(255 * - (amount / 100))));\n rgb.b = mathMax(0, mathMin(255, rgb.b - mathRound(255 * - (amount / 100))));\n return tinycolor(rgb);\n}\n\nfunction darken (color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.l -= amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\n// Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n// Values outside of this range will be wrapped into this range.\nfunction spin(color, amount) {\n var hsl = tinycolor(color).toHsl();\n var hue = (hsl.h + amount) % 360;\n hsl.h = hue < 0 ? 360 + hue : hue;\n return tinycolor(hsl);\n}\n\n// Combination Functions\n// ---------------------\n// Thanks to jQuery xColor for some of the ideas behind these\n// \n\nfunction complement(color) {\n var hsl = tinycolor(color).toHsl();\n hsl.h = (hsl.h + 180) % 360;\n return tinycolor(hsl);\n}\n\nfunction triad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 120) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 240) % 360, s: hsl.s, l: hsl.l })\n ];\n}\n\nfunction tetrad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 90) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 180) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 270) % 360, s: hsl.s, l: hsl.l })\n ];\n}\n\nfunction splitcomplement(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l}),\n tinycolor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l})\n ];\n}\n\nfunction analogous(color, results, slices) {\n results = results || 6;\n slices = slices || 30;\n\n var hsl = tinycolor(color).toHsl();\n var part = 360 / slices;\n var ret = [tinycolor(color)];\n\n for (hsl.h = ((hsl.h - (part * results >> 1)) + 720) % 360; --results; ) {\n hsl.h = (hsl.h + part) % 360;\n ret.push(tinycolor(hsl));\n }\n return ret;\n}\n\nfunction monochromatic(color, results) {\n results = results || 6;\n var hsv = tinycolor(color).toHsv();\n var h = hsv.h, s = hsv.s, v = hsv.v;\n var ret = [];\n var modification = 1 / results;\n\n while (results--) {\n ret.push(tinycolor({ h: h, s: s, v: v}));\n v = (v + modification) % 1;\n }\n\n return ret;\n}\n\n// Utility Functions\n// ---------------------\n\ntinycolor.mix = function(color1, color2, amount) {\n amount = (amount === 0) ? 0 : (amount || 50);\n\n var rgb1 = tinycolor(color1).toRgb();\n var rgb2 = tinycolor(color2).toRgb();\n\n var p = amount / 100;\n\n var rgba = {\n r: ((rgb2.r - rgb1.r) * p) + rgb1.r,\n g: ((rgb2.g - rgb1.g) * p) + rgb1.g,\n b: ((rgb2.b - rgb1.b) * p) + rgb1.b,\n a: ((rgb2.a - rgb1.a) * p) + rgb1.a\n };\n\n return tinycolor(rgba);\n};\n\n\n// Readability Functions\n// ---------------------\n// false\n// tinycolor.isReadable(\"#000\", \"#111\",{level:\"AA\",size:\"large\"}) => false\ntinycolor.isReadable = function(color1, color2, wcag2) {\n var readability = tinycolor.readability(color1, color2);\n var wcag2Parms, out;\n\n out = false;\n\n wcag2Parms = validateWCAG2Parms(wcag2);\n switch (wcag2Parms.level + wcag2Parms.size) {\n case \"AAsmall\":\n case \"AAAlarge\":\n out = readability >= 4.5;\n break;\n case \"AAlarge\":\n out = readability >= 3;\n break;\n case \"AAAsmall\":\n out = readability >= 7;\n break;\n }\n return out;\n\n};\n\n// `mostReadable`\n// Given a base color and a list of possible foreground or background\n// colors for that base, returns the most readable color.\n// Optionally returns Black or White if the most readable color is unreadable.\n// *Example*\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:false}).toHexString(); // \"#112255\"\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:true}).toHexString(); // \"#ffffff\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"large\"}).toHexString(); // \"#faf3f3\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"small\"}).toHexString(); // \"#ffffff\"\ntinycolor.mostReadable = function(baseColor, colorList, args) {\n var bestColor = null;\n var bestScore = 0;\n var readability;\n var includeFallbackColors, level, size ;\n args = args || {};\n includeFallbackColors = args.includeFallbackColors ;\n level = args.level;\n size = args.size;\n\n for (var i= 0; i < colorList.length ; i++) {\n readability = tinycolor.readability(baseColor, colorList[i]);\n if (readability > bestScore) {\n bestScore = readability;\n bestColor = tinycolor(colorList[i]);\n }\n }\n\n if (tinycolor.isReadable(baseColor, bestColor, {\"level\":level,\"size\":size}) || !includeFallbackColors) {\n return bestColor;\n }\n else {\n args.includeFallbackColors=false;\n return tinycolor.mostReadable(baseColor,[\"#fff\", \"#000\"],args);\n }\n};\n\n\n// Big List of Colors\n// ------------------\n// \nvar names = tinycolor.names = {\n aliceblue: \"f0f8ff\",\n antiquewhite: \"faebd7\",\n aqua: \"0ff\",\n aquamarine: \"7fffd4\",\n azure: \"f0ffff\",\n beige: \"f5f5dc\",\n bisque: \"ffe4c4\",\n black: \"000\",\n blanchedalmond: \"ffebcd\",\n blue: \"00f\",\n blueviolet: \"8a2be2\",\n brown: \"a52a2a\",\n burlywood: \"deb887\",\n burntsienna: \"ea7e5d\",\n cadetblue: \"5f9ea0\",\n chartreuse: \"7fff00\",\n chocolate: \"d2691e\",\n coral: \"ff7f50\",\n cornflowerblue: \"6495ed\",\n cornsilk: \"fff8dc\",\n crimson: \"dc143c\",\n cyan: \"0ff\",\n darkblue: \"00008b\",\n darkcyan: \"008b8b\",\n darkgoldenrod: \"b8860b\",\n darkgray: \"a9a9a9\",\n darkgreen: \"006400\",\n darkgrey: \"a9a9a9\",\n darkkhaki: \"bdb76b\",\n darkmagenta: \"8b008b\",\n darkolivegreen: \"556b2f\",\n darkorange: \"ff8c00\",\n darkorchid: \"9932cc\",\n darkred: \"8b0000\",\n darksalmon: \"e9967a\",\n darkseagreen: \"8fbc8f\",\n darkslateblue: \"483d8b\",\n darkslategray: \"2f4f4f\",\n darkslategrey: \"2f4f4f\",\n darkturquoise: \"00ced1\",\n darkviolet: \"9400d3\",\n deeppink: \"ff1493\",\n deepskyblue: \"00bfff\",\n dimgray: \"696969\",\n dimgrey: \"696969\",\n dodgerblue: \"1e90ff\",\n firebrick: \"b22222\",\n floralwhite: \"fffaf0\",\n forestgreen: \"228b22\",\n fuchsia: \"f0f\",\n gainsboro: \"dcdcdc\",\n ghostwhite: \"f8f8ff\",\n gold: \"ffd700\",\n goldenrod: \"daa520\",\n gray: \"808080\",\n green: \"008000\",\n greenyellow: \"adff2f\",\n grey: \"808080\",\n honeydew: \"f0fff0\",\n hotpink: \"ff69b4\",\n indianred: \"cd5c5c\",\n indigo: \"4b0082\",\n ivory: \"fffff0\",\n khaki: \"f0e68c\",\n lavender: \"e6e6fa\",\n lavenderblush: \"fff0f5\",\n lawngreen: \"7cfc00\",\n lemonchiffon: \"fffacd\",\n lightblue: \"add8e6\",\n lightcoral: \"f08080\",\n lightcyan: \"e0ffff\",\n lightgoldenrodyellow: \"fafad2\",\n lightgray: \"d3d3d3\",\n lightgreen: \"90ee90\",\n lightgrey: \"d3d3d3\",\n lightpink: \"ffb6c1\",\n lightsalmon: \"ffa07a\",\n lightseagreen: \"20b2aa\",\n lightskyblue: \"87cefa\",\n lightslategray: \"789\",\n lightslategrey: \"789\",\n lightsteelblue: \"b0c4de\",\n lightyellow: \"ffffe0\",\n lime: \"0f0\",\n limegreen: \"32cd32\",\n linen: \"faf0e6\",\n magenta: \"f0f\",\n maroon: \"800000\",\n mediumaquamarine: \"66cdaa\",\n mediumblue: \"0000cd\",\n mediumorchid: \"ba55d3\",\n mediumpurple: \"9370db\",\n mediumseagreen: \"3cb371\",\n mediumslateblue: \"7b68ee\",\n mediumspringgreen: \"00fa9a\",\n mediumturquoise: \"48d1cc\",\n mediumvioletred: \"c71585\",\n midnightblue: \"191970\",\n mintcream: \"f5fffa\",\n mistyrose: \"ffe4e1\",\n moccasin: \"ffe4b5\",\n navajowhite: \"ffdead\",\n navy: \"000080\",\n oldlace: \"fdf5e6\",\n olive: \"808000\",\n olivedrab: \"6b8e23\",\n orange: \"ffa500\",\n orangered: \"ff4500\",\n orchid: \"da70d6\",\n palegoldenrod: \"eee8aa\",\n palegreen: \"98fb98\",\n paleturquoise: \"afeeee\",\n palevioletred: \"db7093\",\n papayawhip: \"ffefd5\",\n peachpuff: \"ffdab9\",\n peru: \"cd853f\",\n pink: \"ffc0cb\",\n plum: \"dda0dd\",\n powderblue: \"b0e0e6\",\n purple: \"800080\",\n rebeccapurple: \"663399\",\n red: \"f00\",\n rosybrown: \"bc8f8f\",\n royalblue: \"4169e1\",\n saddlebrown: \"8b4513\",\n salmon: \"fa8072\",\n sandybrown: \"f4a460\",\n seagreen: \"2e8b57\",\n seashell: \"fff5ee\",\n sienna: \"a0522d\",\n silver: \"c0c0c0\",\n skyblue: \"87ceeb\",\n slateblue: \"6a5acd\",\n slategray: \"708090\",\n slategrey: \"708090\",\n snow: \"fffafa\",\n springgreen: \"00ff7f\",\n steelblue: \"4682b4\",\n tan: \"d2b48c\",\n teal: \"008080\",\n thistle: \"d8bfd8\",\n tomato: \"ff6347\",\n turquoise: \"40e0d0\",\n violet: \"ee82ee\",\n wheat: \"f5deb3\",\n white: \"fff\",\n whitesmoke: \"f5f5f5\",\n yellow: \"ff0\",\n yellowgreen: \"9acd32\"\n};\n\n// Make it easy to access colors via `hexNames[hex]`\nvar hexNames = tinycolor.hexNames = flip(names);\n\n\n// Utilities\n// ---------\n\n// `{ 'name1': 'val1' }` becomes `{ 'val1': 'name1' }`\nfunction flip(o) {\n var flipped = { };\n for (var i in o) {\n if (o.hasOwnProperty(i)) {\n flipped[o[i]] = i;\n }\n }\n return flipped;\n}\n\n// Return a valid alpha value [0,1] with all invalid values being set to 1\nfunction boundAlpha(a) {\n a = parseFloat(a);\n\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n\n return a;\n}\n\n// Take input from [0, n] and return it as [0, 1]\nfunction bound01(n, max) {\n if (isOnePointZero(n)) { n = \"100%\"; }\n\n var processPercent = isPercentage(n);\n n = mathMin(max, mathMax(0, parseFloat(n)));\n\n // Automatically convert percentage into number\n if (processPercent) {\n n = parseInt(n * max, 10) / 100;\n }\n\n // Handle floating point rounding errors\n if ((Math.abs(n - max) < 0.000001)) {\n return 1;\n }\n\n // Convert into [0, 1] range if it isn't already\n return (n % max) / parseFloat(max);\n}\n\n// Force a number between 0 and 1\nfunction clamp01(val) {\n return mathMin(1, mathMax(0, val));\n}\n\n// Parse a base-16 hex value into a base-10 integer\nfunction parseIntFromHex(val) {\n return parseInt(val, 16);\n}\n\n// Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n// \nfunction isOnePointZero(n) {\n return typeof n == \"string\" && n.indexOf('.') != -1 && parseFloat(n) === 1;\n}\n\n// Check to see if string passed in is a percentage\nfunction isPercentage(n) {\n return typeof n === \"string\" && n.indexOf('%') != -1;\n}\n\n// Force a hex value to have 2 characters\nfunction pad2(c) {\n return c.length == 1 ? '0' + c : '' + c;\n}\n\n// Replace a decimal with it's percentage value\nfunction convertToPercentage(n) {\n if (n <= 1) {\n n = (n * 100) + \"%\";\n }\n\n return n;\n}\n\n// Converts a decimal to a hex value\nfunction convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n}\n// Converts a hex value to a decimal\nfunction convertHexToDecimal(h) {\n return (parseIntFromHex(h) / 255);\n}\n\nvar matchers = (function() {\n\n // \n var CSS_INTEGER = \"[-\\\\+]?\\\\d+%?\";\n\n // \n var CSS_NUMBER = \"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\";\n\n // Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\n var CSS_UNIT = \"(?:\" + CSS_NUMBER + \")|(?:\" + CSS_INTEGER + \")\";\n\n // Actual matching.\n // Parentheses and commas are optional, but not required.\n // Whitespace can take the place of commas or opening paren\n var PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n var PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n\n return {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp(\"rgb\" + PERMISSIVE_MATCH3),\n rgba: new RegExp(\"rgba\" + PERMISSIVE_MATCH4),\n hsl: new RegExp(\"hsl\" + PERMISSIVE_MATCH3),\n hsla: new RegExp(\"hsla\" + PERMISSIVE_MATCH4),\n hsv: new RegExp(\"hsv\" + PERMISSIVE_MATCH3),\n hsva: new RegExp(\"hsva\" + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/\n };\n})();\n\n// `isValidCSSUnit`\n// Take in a single string / number and check to see if it looks like a CSS unit\n// (see `matchers` above for definition).\nfunction isValidCSSUnit(color) {\n return !!matchers.CSS_UNIT.exec(color);\n}\n\n// `stringInputToObject`\n// Permissive string parsing. Take in a number of formats, and output an object\n// based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\nfunction stringInputToObject(color) {\n\n color = color.replace(trimLeft,'').replace(trimRight, '').toLowerCase();\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n }\n else if (color == 'transparent') {\n return { r: 0, g: 0, b: 0, a: 0, format: \"name\" };\n }\n\n // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n var match;\n if ((match = matchers.rgb.exec(color))) {\n return { r: match[1], g: match[2], b: match[3] };\n }\n if ((match = matchers.rgba.exec(color))) {\n return { r: match[1], g: match[2], b: match[3], a: match[4] };\n }\n if ((match = matchers.hsl.exec(color))) {\n return { h: match[1], s: match[2], l: match[3] };\n }\n if ((match = matchers.hsla.exec(color))) {\n return { h: match[1], s: match[2], l: match[3], a: match[4] };\n }\n if ((match = matchers.hsv.exec(color))) {\n return { h: match[1], s: match[2], v: match[3] };\n }\n if ((match = matchers.hsva.exec(color))) {\n return { h: match[1], s: match[2], v: match[3], a: match[4] };\n }\n if ((match = matchers.hex8.exec(color))) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if ((match = matchers.hex6.exec(color))) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n if ((match = matchers.hex4.exec(color))) {\n return {\n r: parseIntFromHex(match[1] + '' + match[1]),\n g: parseIntFromHex(match[2] + '' + match[2]),\n b: parseIntFromHex(match[3] + '' + match[3]),\n a: convertHexToDecimal(match[4] + '' + match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if ((match = matchers.hex3.exec(color))) {\n return {\n r: parseIntFromHex(match[1] + '' + match[1]),\n g: parseIntFromHex(match[2] + '' + match[2]),\n b: parseIntFromHex(match[3] + '' + match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n\n return false;\n}\n\nfunction validateWCAG2Parms(parms) {\n // return valid WCAG2 parms for isReadable.\n // If input parms are invalid, return {\"level\":\"AA\", \"size\":\"small\"}\n var level, size;\n parms = parms || {\"level\":\"AA\", \"size\":\"small\"};\n level = (parms.level || \"AA\").toUpperCase();\n size = (parms.size || \"small\").toLowerCase();\n if (level !== \"AA\" && level !== \"AAA\") {\n level = \"AA\";\n }\n if (size !== \"small\" && size !== \"large\") {\n size = \"small\";\n }\n return {\"level\":level, \"size\":size};\n}\n\n// Node: Export function\nif (typeof module !== \"undefined\" && module.exports) {\n module.exports = tinycolor;\n}\n// AMD/requirejs: Define the module\nelse if (typeof define === 'function' && define.amd) {\n define(function () {return tinycolor;});\n}\n// Browser: Expose to window\nelse {\n window.tinycolor = tinycolor;\n}\n\n})(Math);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@girder/histomicsui/node_modules/tinycolor2/tinycolor.js\n// module id = 22\n// module chunks = 0","module.exports = (__webpack_require__(2))(85);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/utilities/jquery/girderModal.js from dll-reference girder_plugin_slicer_cli_web\n// module id = 23\n// module chunks = 0","module.exports = (__webpack_require__(18))(39);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/misc.js from dll-reference girder_plugin_large_image\n// module id = 24\n// module chunks = 0","module.exports = (__webpack_require__(18))(26);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/webpack/buildin/global.js from dll-reference girder_plugin_large_image\n// module id = 25\n// module chunks = 0","import tinycolor from 'tinycolor2';\n\nimport View from '@girder/core/views/View';\n\nimport EditHeatmapOrGridDataContainer from '../vue/components/EditHeatmapOrGridDataContainer.vue';\n\nimport editElement from '../templates/dialogs/editElement.pug';\nimport '@girder/core/utilities/jquery/girderModal';\n\n/**\n * Create a modal dialog with fields to edit the properties of\n * an annotation element.\n */\nvar EditElement = View.extend({\n events: {\n 'click .h-submit': 'getData',\n 'submit form': 'getData',\n 'hide.bs.modal ': 'endEdit'\n },\n\n render() {\n this.$el.html(\n editElement({\n element: this.annotationElement.toJSON()\n })\n ).girderModal(this);\n this.createVueModal();\n return this;\n },\n\n createVueModal() {\n const el = this.$('.vue-component-heatmap').get(0);\n const vm = new EditHeatmapOrGridDataContainer({\n el,\n propsData: {\n element: this.annotationElement,\n parentView: this\n }\n });\n this.vueApp = vm;\n },\n\n closeVueModal() {\n this.$el.modal('hide');\n this.vueApp.$destroy();\n },\n\n /**\n * Get all data from the form and set the attributes of the\n * attached ElementModel (triggering a change event).\n */\n getData(evt) {\n evt.preventDefault();\n\n var data = {};\n var validation = '';\n\n var label = this.$('#h-element-label').val();\n data.label = label ? {value: label} : {};\n var group = this.$('#h-group-name').val();\n data.group = group && group !== this._defaultGroup ? group : undefined;\n\n var lineWidth = this.$('#h-element-line-width').val();\n if (lineWidth) {\n data.lineWidth = parseFloat(lineWidth);\n if (data.lineWidth < 0 || !isFinite(data.lineWidth)) {\n validation += 'Invalid line width. ';\n this.$('#h-element-line-width').parent().addClass('has-error');\n }\n }\n\n var lineColor = this.$('#h-element-line-color').val();\n if (lineColor) {\n data.lineColor = this.convertColor(lineColor);\n }\n\n var fillColor = this.$('#h-element-fill-color').val();\n if (fillColor) {\n data.fillColor = this.convertColor(fillColor);\n }\n\n if (validation) {\n this.$('.g-validation-failed-message').text(validation)\n .removeClass('hidden');\n return;\n }\n\n this.trigger('h:editElement', {element: this.annotationElement, data, edited: true});\n this.annotationElement.set(data);\n this.$el.modal('hide');\n },\n\n /**\n * Trigger the draw widget's edit element event listener when the form isn't\n * submitted, to prevent later edits from being considered multiple times\n */\n endEdit() {\n this.trigger('h:editElement', {edited: false});\n },\n\n /**\n * A helper function converting a string into normalized rgb/rgba\n * color value. If no value is given, then it returns a color\n * with opacity 0.\n */\n convertColor(val) {\n if (!val) {\n return 'rgba(0,0,0,0)';\n }\n return tinycolor(val).toRgbString();\n }\n});\n\n/**\n * Create a singleton instance of this widget that will be rendered\n * when `show` is called.\n */\nvar dialog = new EditElement({\n parentView: null\n});\n\n/**\n * Show the edit dialog box. Watch for change events on the passed\n * `ElementModel` to respond to user submission of the form.\n *\n * @param {ElementModel} annotationElement The element to edit\n * @returns {EditAnnotation} The dialog's view\n */\nfunction show(annotationElement, defaultGroup) {\n dialog.annotationElement = annotationElement;\n dialog._defaultGroup = defaultGroup || 'default';\n dialog.setElement('#g-dialog-container').render();\n return dialog;\n}\n\nexport default show;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/dialogs/editElement.js","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /opt/HistomicsUI/histomicsui/web_client/node_modules/vue-loader/lib/runtime/componentNormalizer.js\n// module id = 27\n// module chunks = 0","module.exports = (__webpack_require__(2))(40);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/router.js from dll-reference girder_plugin_slicer_cli_web\n// module id = 28\n// module chunks = 0","module.exports = (__webpack_require__(2))(72);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/utilities/EventStream.js from dll-reference girder_plugin_slicer_cli_web\n// module id = 29\n// module chunks = 0","import View from '../View';\nimport HeaderAnalysesView from './HeaderAnalysesView';\nimport HeaderUserView from './HeaderUserView';\nimport HeaderImageView from './HeaderImageView';\nimport router from '../../router';\n\nimport headerTemplate from '../../templates/layout/header.pug';\nimport '../../stylesheets/layout/header.styl';\n\nvar HeaderView = View.extend({\n events: {\n 'click #h-navbar-brand': function () {\n router.navigate('', {trigger: true});\n }\n },\n\n initialize(params) {\n this.settings = params.settings;\n return View.prototype.initialize.apply(this, arguments);\n },\n\n render() {\n this.$el.html(headerTemplate({\n brandName: this.settings.brandName,\n brandColor: this.settings.brandColor,\n bannerColor: this.settings.bannerColor,\n helpURL: this.settings.helpURL && this.settings.helpURL.trim() === '' ? false : this.settings.helpURL,\n helpTooltip: this.settings.helpTooltip,\n helpText: this.settings.helpText\n }));\n\n this.$('a[title]').tooltip({\n placement: 'bottom',\n delay: {show: 300}\n });\n\n new HeaderUserView({\n el: this.$('.h-current-user-wrapper'),\n parentView: this\n }).render();\n\n new HeaderImageView({\n el: this.$('.h-image-menu-wrapper'),\n parentView: this\n }).render();\n\n new HeaderAnalysesView({\n el: this.$('.h-analyses-wrapper'),\n parentView: this\n }).render();\n\n return this;\n }\n});\n\nexport default HeaderView;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/views/layout/HeaderView.js","import {getCurrentUser} from '@girder/core/auth';\nimport GirderHeaderUserView from '@girder/core/views/layout/HeaderUserView';\n\nimport headerUserTemplate from '../../templates/layout/headerUser.pug';\n\nvar HeaderUserView = GirderHeaderUserView.extend({\n render() {\n this.$el.html(headerUserTemplate({\n user: getCurrentUser()\n }));\n return this;\n }\n});\n\nexport default HeaderUserView;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/views/layout/HeaderUserView.js","module.exports = girder_plugin_jobs;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"girder_plugin_jobs\"\n// module id = 32\n// module chunks = 0","/* global geo */\nimport _ from 'underscore';\nimport $ from 'jquery';\n\nimport {restRequest} from '@girder/core/rest';\nimport {getCurrentUser} from '@girder/core/auth';\nimport {AccessType} from '@girder/core/constants';\nimport ItemModel from '@girder/core/models/ItemModel';\nimport FileModel from '@girder/core/models/FileModel';\nimport FolderCollection from '@girder/core/collections/FolderCollection';\nimport {ViewerWidget} from '@girder/large_image_annotation/views';\n\nimport SlicerPanelGroup from '@girder/slicer_cli_web/views/PanelGroup';\nimport AnnotationModel from '@girder/large_image_annotation/models/AnnotationModel';\nimport AnnotationCollection from '@girder/large_image_annotation/collections/AnnotationCollection';\n\nimport {convert as convertToGeojson} from '@girder/large_image_annotation/annotations';\nimport {convert as convertFromGeojson} from '@girder/large_image_annotation/annotations/geojs';\n\nimport StyleCollection from '../../collections/StyleCollection';\nimport StyleModel from '../../models/StyleModel';\n\nimport AnnotationContextMenu from '../popover/AnnotationContextMenu';\nimport AnnotationPopover from '../popover/AnnotationPopover';\nimport PixelmapContextMenu from '../popover/PixelmapContextMenu';\nimport AnnotationSelector from '../../panels/AnnotationSelector';\nimport OverviewWidget from '../../panels/OverviewWidget';\nimport ZoomWidget from '../../panels/ZoomWidget';\nimport FrameSelectorWidget from '../../panels/FrameSelectorWidget';\nimport MetadataWidget from '../../panels/MetadataWidget';\nimport MetadataPlot from '../../panels/MetadataPlot';\nimport DrawWidget from '../../panels/DrawWidget';\nimport editElement from '../../dialogs/editElement';\nimport router from '../../router';\nimport events from '../../events';\nimport {HuiSettings} from '../utils';\nimport View from '../View';\n\nimport imageTemplate from '../../templates/body/image.pug';\nimport '../../stylesheets/body/image.styl';\n\nvar ImageView = View.extend({\n events: {\n 'keydown .h-image-body': '_onKeyDown',\n click: '_clearTooltips',\n 'click .h-control-panel-container .s-close-panel-group': '_closeAnalysis',\n 'mousemove .geojs-map': '_trackMousePosition'\n },\n initialize(settings) {\n this._defaultGroup = 'default';\n this.viewerWidget = null;\n this._mouseClickQueue = [];\n this._openId = null;\n this._displayedRegion = null;\n this._currentMousePosition = null;\n this._selectElementsByRegionCanceled = false;\n this._debounceUpdatePixelmapValues = _.debounce(this._updatePixelmapValues, 500);\n this._overlayLayers = {};\n this.selectedAnnotation = new AnnotationModel({_id: 'selected'});\n this.selectedElements = this.selectedAnnotation.elements();\n\n // Allow zooming this many powers of 2 more than native pixel resolution\n this._increaseZoom2x = 1;\n this._increaseZoom2xRange = {min: 1, max: 4};\n\n if (!this.model) {\n this.model = new ItemModel();\n }\n this.listenTo(this.model, 'g:fetched', this.render);\n this.listenTo(events, 'h:analysis:rendered', this._setImageInput);\n this.listenTo(events, 'h:analysis:rendered', this._allowRootSelection);\n this.listenTo(events, 'h:analysis:rendered', this._setDefaultFileOutputs);\n this.listenTo(events, 'h:analysis:rendered', this._resetRegion);\n this.listenTo(this.selectedElements, 'add remove reset', this._redrawSelection);\n this.listenTo(events, 's:widgetDrawRegionEvent', this._widgetDrawRegion);\n this.listenTo(events, 'li:drawRegionUpdate', this._drawRegionUpdate);\n this.listenTo(events, 'li:drawModeChange', this._drawModeChange);\n events.trigger('h:imageOpened', null);\n this.listenTo(events, 'query:image', this.openImage);\n this.annotations = new AnnotationCollection();\n\n this.controlPanel = new SlicerPanelGroup({\n parentView: this,\n closeButton: true\n });\n this.overviewWidget = new OverviewWidget({\n parentView: this\n });\n this.zoomWidget = new ZoomWidget({\n parentView: this\n });\n this.frameSelectorWidget = new FrameSelectorWidget({\n parentView: this\n });\n this.metadataWidget = new MetadataWidget({\n parentView: this\n });\n this.annotationSelector = new AnnotationSelector({\n parentView: this,\n collection: this.annotations,\n image: this.model\n });\n /* Should be after annotationSelector */\n this.metadataPlot = new MetadataPlot({\n parentView: this\n });\n this.popover = new AnnotationPopover({\n parentView: this\n });\n this.contextMenu = new AnnotationContextMenu({\n parentView: this,\n collection: this.selectedElements\n });\n this.pixelmapContextMenu = new PixelmapContextMenu({\n parentView: this\n });\n this.listenTo(this, 'h:styleGroupsEdited', () => {\n this.contextMenu.refetchStyles();\n this.pixelmapContextMenu.refetchStyles();\n });\n\n this.listenTo(this.annotationSelector, 'h:groupCount', (obj) => {\n this.contextMenu.setGroupCount(obj);\n });\n this.listenTo(events, 'h:submit', (data) => {\n this.$('.s-jobs-panel .s-panel-controls .icon-down-open').click();\n events.trigger('g:alert', {type: 'success', text: 'Analysis job submitted.'});\n });\n this.listenTo(events, 'h:select-region', this.showRegion);\n this.listenTo(this.annotationSelector.collection, 'add update change:displayed', this.toggleAnnotation);\n this.listenTo(this.annotationSelector, 'h:toggleLabels', this.toggleLabels);\n this.listenTo(this.annotationSelector, 'h:toggleInteractiveMode', this._toggleInteractiveMode);\n this.listenTo(this.annotationSelector, 'h:editAnnotation', this._editAnnotation);\n this.listenTo(this.annotationSelector, 'h:deleteAnnotation', this._deleteAnnotation);\n this.listenTo(this.annotationSelector, 'h:annotationOpacity', this._setAnnotationOpacity);\n this.listenTo(this.annotationSelector, 'h:annotationFillOpacity', this._setAnnotationFillOpacity);\n this.listenTo(this.annotationSelector, 'h:redraw', this._redrawAnnotation);\n this.listenTo(this, 'h:highlightAnnotation', this._highlightAnnotationForInteractiveMode);\n this.listenTo(this, 'h:selectElementsByRegion', this._selectElementsByRegion);\n this.listenTo(this, 'h:selectElementsByRegionCancel', this._selectElementsByRegionCancel);\n this.listenTo(this.contextMenu, 'h:edit', this._editElement);\n this.listenTo(this.contextMenu, 'h:editShape', this._editElementShape);\n this.listenTo(this.contextMenu, 'h:redraw', this._redrawAnnotation);\n this.listenTo(this.contextMenu, 'h:close', this._closeContextMenu);\n this.listenTo(this.pixelmapContextMenu, 'h:update', this._handlePixelmapContextMenu);\n this.listenTo(this.pixelmapContextMenu, 'h:close', this._closePixelmapContextMenu);\n this.listenTo(this.selectedElements, 'h:save', this._saveSelection);\n this.listenTo(this.selectedElements, 'h:remove', this._removeSelection);\n this.listenTo(this, 'h:deselectAnnotationElements', this._deselectAnnotationElements);\n\n this.listenTo(events, 's:widgetChanged:region', this.widgetRegion);\n this.listenTo(events, 'g:login g:logout.success g:logout.error', () => {\n this._openId = null;\n this.model.set({_id: null});\n this._knownPanels = {};\n HuiSettings.clearSettingsCache();\n });\n $(document).on('mousedown.h-image-view', (evt) => {\n // let the context menu close itself\n if ($(evt.target).parents('#h-annotation-context-menu').length) {\n return;\n }\n this._closeContextMenu();\n\n if ($(evt.target).parents('#h-pixelmap-context-menu').length) {\n return;\n }\n this._closePixelmapContextMenu();\n });\n $(document).on('keydown.h-image-view', (evt) => {\n if (evt.keyCode === 27) {\n this._closeContextMenu();\n }\n });\n this.render();\n },\n render() {\n // Ensure annotations are removed from the popover widget on rerender.\n // This can happen when opening a new image while an annotation is\n // being hovered.\n this.mouseResetAnnotation();\n this._removeDrawWidget();\n\n if (this.model.id === this._openId) {\n this.controlPanel.setElement('#h-analysis-panel').render();\n this._orderPanels();\n return;\n }\n this.$el.html(imageTemplate());\n this.contextMenu.setElement(this.$('#h-annotation-context-menu')).render();\n this.pixelmapContextMenu.setElement(this.$('#h-pixelmap-context-menu')).render();\n\n if (this.model.id) {\n this._getConfig(this.model.id);\n this._openId = this.model.id;\n if (this.viewerWidget) {\n this.viewerWidget.destroy();\n }\n /* eslint-disable new-cap */\n this.viewerWidget = new ViewerWidget.geojs({\n parentView: this,\n el: this.$('.h-image-view-container'),\n itemId: this.model.id,\n hoverEvents: true,\n // it is very confusing if this value is smaller than the\n // AnnotationSelector MAX_ELEMENTS_LIST_LENGTH\n highlightFeatureSizeLimit: 5000,\n scale: {position: {bottom: 20, right: 10}}\n });\n // Don't unclamp bounds for the image even if image overlays are present.\n if (this.viewerWidget.setUnclampBoundsForOverlay) {\n this.viewerWidget.setUnclampBoundsForOverlay(false);\n }\n this.trigger('h:viewerWidgetCreated', this.viewerWidget);\n\n // handle annotation mouse events\n this.listenTo(this.viewerWidget, 'g:mouseOverAnnotation', this.mouseOverAnnotation);\n this.listenTo(this.viewerWidget, 'g:mouseOutAnnotation', this.mouseOutAnnotation);\n this.listenTo(this.viewerWidget, 'g:mouseOnAnnotation', this.mouseOnAnnotation);\n this.listenTo(this.viewerWidget, 'g:mouseOffAnnotation', this.mouseOffAnnotation);\n this.listenTo(this.viewerWidget, 'g:mouseClickAnnotation', this.mouseClickAnnotation);\n this.listenTo(this.viewerWidget, 'g:mouseResetAnnotation', this.mouseResetAnnotation);\n\n // handle overlay events\n this.listenTo(this.viewerWidget, 'g:mouseClickAnnotationOverlay', this.mouseClickOverlay);\n this.listenTo(this.viewerWidget, 'g:mouseOverAnnotationOverlay', this.mouseOverOverlay);\n this.listenTo(this.viewerWidget, 'g:mouseDownAnnotationOverlay', this.mouseOverOverlay);\n this.listenTo(this.viewerWidget, 'g:drawOverlayAnnotation', this.overlayLayerDrawn);\n this.listenTo(this.viewerWidget, 'g:removeOverlayAnnotation', this.overlayLayerRemoved);\n\n this.viewerWidget.on('g:imageRendered', () => {\n events.trigger('h:imageOpened', this.model);\n // store a reference to the underlying viewer\n this.viewer = this.viewerWidget.viewer;\n this.viewer.interactor().removeAction(geo.geo_action.zoomselect);\n\n const currentOptions = this.viewer.interactor().options();\n currentOptions.click.cancelOnMove = 10; // a click can move up to 10 pixels before it is considered a move\n this.viewer.interactor().options(currentOptions);\n\n this.imageWidth = this.viewer.maxBounds().right;\n this.imageHeight = this.viewer.maxBounds().bottom;\n // allow panning off the image slightly\n var extraPanWidth = 0.1, extraPanHeight = 0;\n this.viewer.maxBounds({\n left: -this.imageWidth * extraPanWidth,\n right: this.imageWidth * (1 + extraPanWidth),\n top: -this.imageHeight * extraPanHeight,\n bottom: this.imageHeight * (1 + extraPanHeight)\n });\n\n // set the viewer bounds on first load\n this.setImageBounds();\n\n // also set the query string\n this.setBoundsQuery();\n\n this.viewer._originalZoomRange = this.viewer.zoomRange().max;\n this.viewer.zoomRange({max: this.viewer.zoomRange().max + this._increaseZoom2x});\n\n // update the query string on pan events\n this.viewer.geoOn(geo.event.pan, () => {\n this.setBoundsQuery();\n });\n\n // update the coordinate display on mouse move\n this.viewer.geoOn(geo.event.mousemove, (evt) => {\n this.showCoordinates(evt);\n });\n\n // remove the hidden class from the coordinates display\n this.$('.h-image-coordinates-container').removeClass('hidden');\n\n // show the right side control container\n this.$('#h-annotation-selector-container').removeClass('hidden');\n\n this.overviewWidget\n .setViewer(this.viewerWidget)\n .setElement('.h-overview-widget').render();\n\n this.zoomWidget\n .setViewer(this.viewerWidget)\n .setElement('.h-zoom-widget').render();\n\n this.frameSelectorWidget\n .setViewer(this.viewerWidget)\n .setElement('.h-frame-selector-widget').render();\n\n this.metadataWidget\n .setItem(this.model)\n .setElement('.h-metadata-widget').render();\n\n this.metadataPlot\n .setItem(this.model)\n .setElement('.h-metadata-plot').render();\n\n this.annotationSelector\n .setViewer(this.viewerWidget)\n .setElement('.h-annotation-selector').render();\n\n if (this.drawWidget) {\n this.$('.h-draw-widget').removeClass('hidden');\n this.drawWidget\n .setViewer(this.viewerWidget)\n .setAnnotationSelector(this.annotationSelector)\n .setElement('.h-draw-widget').render();\n }\n this._orderPanels();\n });\n this.annotationSelector.setItem(this.model);\n\n this.annotationSelector\n .setViewer(null)\n .setElement('.h-annotation-selector').render();\n\n if (this.drawWidget) {\n this.$('.h-draw-widget').removeClass('hidden');\n this.drawWidget\n .setViewer(null)\n .setAnnotationSelector(this.annotationSelector)\n .setElement('.h-draw-widget').render();\n }\n }\n this.controlPanel.setElement('#h-analysis-panel').render();\n this.popover.setElement('#h-annotation-popover-container').render();\n this._orderPanels();\n return this;\n },\n destroy() {\n if (this.viewerWidget) {\n this.viewerWidget.destroy();\n }\n this.viewerWidget = null;\n events.trigger('h:imageOpened', null);\n $(document).off('.h-image-view');\n return View.prototype.destroy.apply(this, arguments);\n },\n openImage(id) {\n /* eslint-disable backbone/no-silent */\n this._resetSelection();\n this.model.clear({silent: true});\n delete this.model.parent;\n if (id) {\n this.model.set({_id: id}).fetch().then(() => {\n this._setImageInput();\n return null;\n });\n } else {\n this.model.set({_id: null});\n this.render();\n this._openId = null;\n events.trigger('h:imageOpened', null);\n }\n },\n /**\n * Set any input image parameters to the currently open image.\n * The jobs endpoints expect file id's rather than item id's,\n * so we have to choose an appropriate file id for a number of\n * scenarios.\n *\n * * A normal item: Pick the first file id. Here we have\n * to make another rest call to get the files contained\n * in the item.\n *\n * * A large image item: choose fileId over originalId.\n *\n * After getting the file id we have to make another rest\n * call to fetch the full file model from the server. Once\n * this is complete, set the widget value.\n */\n _setImageInput() {\n if (!this.model.id) {\n return;\n }\n\n // helper functions passed through promises\n var getItemFile = (itemId) => {\n return restRequest({\n url: 'item/' + itemId + '/files',\n data: {\n limit: 1,\n offset: 0\n }\n }).then((files) => {\n if (!files.length) {\n throw new Error('Item does not contain a file.');\n }\n return new FileModel(files[0]);\n });\n };\n\n var getTilesDef = (itemId) => {\n return restRequest({\n url: 'item/' + itemId + '/tiles'\n }).then((tiles) => {\n this.zoomWidget.setMaxMagnification(tiles.magnification || 20, this._increaseZoom2x, this._increaseZoom2xRange);\n this.zoomWidget.render();\n this.overviewWidget.setImage(tiles);\n this.frameSelectorWidget.setImage(itemId, tiles);\n return null;\n });\n };\n\n var getFileModel = (fileId) => {\n return restRequest({\n url: 'file/' + fileId\n }).then((file) => {\n return new FileModel(file);\n });\n };\n var largeImage = this.model.get('largeImage');\n var promise;\n\n if (largeImage) {\n // Prefer the fileId, expecting that jobs can handle tiled input\n promise = $.when(\n getTilesDef(this.model.id),\n getFileModel(largeImage.fileId || largeImage.originalId)\n ).then((a, b) => b); // resolve with the file model\n } else {\n promise = getItemFile(this.model.id);\n }\n\n // set control panel models that use relative paths\n this.controlPanel.models().forEach((model) => {\n if (model.get('defaultRelativePath') && model.get('channel') === 'input') {\n model.set('defaultRelativePath_id', this.model.id);\n model.set('defaultRelativePath_type', this.model.get('_modelType'));\n Object.values((this.controlPanel._panelViews || {})).forEach((panel) => {\n if (panel._widgets && panel._widgets[model.id]) {\n panel._widgets[model.id]._getDefaultInputResource(model).then((resource) => {\n if (!resource) {\n return null;\n }\n panel._widgets[model.id].model.set({\n path: resource._path,\n value: resource\n });\n return null;\n });\n }\n });\n }\n });\n\n return promise.then((file) => {\n _.each(this.controlPanel.models(), (model) => {\n if (model.get('type') === 'image') {\n model.set('value', file, {trigger: true});\n }\n });\n return null;\n });\n },\n\n _getDefaultOutputFolder() {\n const user = getCurrentUser();\n if (!user) {\n return $.Deferred().resolve().promise();\n }\n const userFolders = new FolderCollection();\n return userFolders.fetch({\n parentId: user.id,\n parentType: 'user',\n name: 'Private',\n limit: 1\n }).then(() => {\n if (userFolders.isEmpty()) {\n throw new Error('Could not find the user\\'s private folder when setting defaults');\n }\n return userFolders.at(0);\n });\n },\n\n _allowRootSelection() {\n /* It would be better to adjust hierarchy widgets to start where\n * current selections are located, but showing the root selector is a\n * start. */\n _.chain(this.controlPanel._panelViews).pluck('_childViews').flatten().each((entry) => {\n entry._rootPath = entry._rootPath === undefined ? false : entry._rootPath;\n });\n },\n\n _setDefaultFileOutputs() {\n return this._getDefaultOutputFolder().done((folder) => {\n if (folder && router.getQuery('analysis')) {\n _.each(\n this.controlPanel.models().filter((model) => model.get('type') === 'new-file'),\n (model) => {\n var analysis = _.last(router.getQuery('analysis').split('/'));\n analysis = this.controlPanel.$el.find('.s-panel-title:first').text() || analysis;\n var extension = (model.get('extensions') || '').split('|')[0];\n var name = `${analysis}-${model.id}${extension}`;\n if (model.get('required') !== false || (model.get('reference') && extension)) {\n model.set({\n path: [folder.get('name'), name],\n parent: folder,\n value: new ItemModel({\n name,\n folderId: folder.id\n })\n });\n }\n }\n );\n }\n });\n },\n\n _clearTooltips() {\n $('.tooltip[role=\"tooltip\"]').remove();\n },\n\n _closeAnalysis(evt) {\n evt.preventDefault();\n router.setQuery('analysis', null, {trigger: false});\n this.controlPanel.$el.addClass('hidden');\n events.trigger('query:analysis', null);\n },\n\n /**\n * Set the view (image bounds) of the current image as a\n * query string parameter.\n */\n setBoundsQuery() {\n var bounds, left, right, top, bottom, rotation;\n if (this.viewer) {\n bounds = this.viewer.bounds();\n rotation = (this.viewer.rotation() * 180 / Math.PI).toFixed();\n left = bounds.left.toFixed();\n right = bounds.right.toFixed();\n top = bounds.top.toFixed();\n bottom = bounds.bottom.toFixed();\n router.setQuery('bounds', [\n left, top, right, bottom, rotation\n ].join(','), {replace: true});\n }\n },\n\n /**\n * Get the view from the query string and set it on the image.\n */\n setImageBounds() {\n var bounds = router.getQuery('bounds');\n if (!bounds || !this.viewer) {\n return;\n }\n bounds = bounds.split(',');\n this.viewer.bounds({\n left: parseFloat(bounds[0]),\n top: parseFloat(bounds[1]),\n right: parseFloat(bounds[2]),\n bottom: parseFloat(bounds[3])\n });\n var rotation = parseFloat(bounds[4]) || 0;\n this.viewer.rotation(rotation * Math.PI / 180);\n },\n\n _updatePixelmapElements(pixelmapElements, annotation) {\n const groups = new StyleCollection();\n const defaultStyle = new StyleModel({id: this._defaultGroup});\n groups.fetch().done(() => {\n if (!groups.has(this._defaultGroup)) {\n groups.add(defaultStyle.toJSON());\n groups.get(this._defaultGroup).save();\n }\n _.each(pixelmapElements, (pixelmap) => {\n this._reconcilePixelmapCategories(pixelmap.get('id'), groups, annotation);\n });\n this.viewerWidget.drawAnnotation(annotation);\n });\n },\n\n _updatePixelmapsWithCategories(groups) {\n const pixelmapElements = _.pluck(this._overlayLayers, 'element');\n _.each(pixelmapElements, (element) => {\n const annotation = _.find(this.annotations.models, (annotation) => annotation.elements().get(element.id));\n this._reconcilePixelmapCategories(element.id, groups, annotation);\n this._redrawAnnotation(annotation);\n });\n },\n\n _reconcilePixelmapCategories(pixelmapId, groups, annotation) {\n if (!annotation || !annotation.elements()) {\n return;\n }\n const pixelmap = annotation.elements().get(pixelmapId);\n const existingCategories = pixelmap.get('categories') || [];\n const newCategories = [];\n const newStyleGroups = [];\n _.each(existingCategories, (category) => {\n const correspondingStyle = groups.get(category.label);\n if (!correspondingStyle) {\n const newStyle = new StyleModel({\n id: category.label,\n lineColor: category.strokeColor,\n fillColor: category.fillColor\n });\n newStyleGroups.push(newStyle);\n } else {\n if (category.strokeColor !== correspondingStyle.get('lineColor')) {\n category.strokeColor = correspondingStyle.get('lineColor');\n }\n if (category.fillColor !== correspondingStyle.get('fillColor')) {\n category.fillColor = correspondingStyle.get('fillColor');\n }\n }\n newCategories.push(category);\n });\n\n groups.each((group) => {\n const correspondingCategory = existingCategories.find((category) => (\n category.label === group.get('id')));\n if (!correspondingCategory) {\n newCategories.push({\n label: group.get('id'),\n strokeColor: group.get('lineColor'),\n fillColor: group.get('fillColor')\n });\n }\n });\n\n _.each(newStyleGroups, (group) => {\n groups.add(group);\n groups.get(group.get('id')).save();\n });\n\n // move the default category to index 0 and adjust data array if needed\n const originalDefaultIndex = _.findIndex(newCategories, {label: this._defaultGroup});\n const updatedCategories = _.where(newCategories, {label: this._defaultGroup})\n .concat(_.reject(newCategories, {label: this._defaultGroup}));\n pixelmap.set('categories', updatedCategories);\n if (originalDefaultIndex !== 0) {\n const originalData = pixelmap.get('values');\n const newData = _.map(originalData, (value) => {\n if (value === originalDefaultIndex) {\n return 0;\n }\n if (value < originalDefaultIndex) {\n return value + 1;\n }\n return value;\n });\n pixelmap.set('values', newData);\n }\n },\n\n toggleAnnotation(annotation) {\n if (!this.viewerWidget) {\n // We may need a way to queue annotation draws while viewer\n // initializes, but for now ignore them.\n return;\n }\n if (annotation.get('displayed')) {\n var viewer = this.viewerWidget.viewer || {};\n if (viewer.zoomRange && annotation._pageElements === true) {\n annotation.setView(viewer.bounds(), viewer.zoom(), viewer.zoomRange().max, true);\n }\n annotation.set('loading', true);\n annotation.once('g:fetched', () => {\n annotation.unset('loading');\n });\n annotation.fetch().then(() => {\n // abandon this if the annotation should not longer be shown\n // or we are now showing a different image.\n if (!annotation.get('displayed') || annotation.get('itemId') !== this.model.id) {\n return null;\n }\n // update pixelmaps based on styles\n const pixelmapElements = annotation.elements().where({type: 'pixelmap'});\n if (pixelmapElements.length > 0) {\n this._updatePixelmapElements(pixelmapElements, annotation);\n return null;\n }\n this.viewerWidget.drawAnnotation(annotation);\n return null;\n });\n } else {\n this.viewerWidget.removeAnnotation(annotation);\n }\n },\n\n _redrawAnnotation(annotation) {\n if (!this.viewerWidget || !annotation.get('displayed')) {\n // We may need a way to queue annotation draws while viewer\n // initializes, but for now ignore them.\n return;\n }\n this.viewerWidget.drawAnnotation(annotation);\n },\n\n _highlightAnnotationForInteractiveMode(annotation, element) {\n if (!this.annotationSelector.interactiveMode()) {\n return;\n }\n this._closeContextMenu();\n this.viewerWidget.highlightAnnotation(annotation, annotation === false ? undefined : element);\n },\n\n widgetRegion(model) {\n var value = model.get('value');\n if (!this.viewerWidget || !this.viewerWidget.viewer) {\n model.set('value', '-1,-1,-1,-1');\n return;\n }\n this._displayedRegion = value.slice();\n if (value.length === 4) {\n this.showRegion({\n left: parseFloat(value[0]),\n right: parseFloat(value[0]) + parseFloat(value[2]),\n top: parseFloat(value[1]),\n bottom: parseFloat(value[1]) + parseFloat(value[3])\n });\n } else if (value.length === 6) {\n this.showRegion({\n left: parseFloat(value[0]) - parseFloat(value[3]),\n right: parseFloat(value[0]) + parseFloat(value[3]),\n top: parseFloat(value[1]) - parseFloat(value[4]),\n bottom: parseFloat(value[1]) + parseFloat(value[4])\n });\n } else if (value.length >= 2) {\n const points = [[]];\n for (let idx = 0; idx < value.length - 1; idx += 2) {\n if (parseFloat(value[idx]) === -1 && parseFloat(value[idx + 1]) === -1) {\n points.push([]);\n } else {\n points[points.length - 1].push([parseFloat(value[idx]), parseFloat(value[idx + 1])]);\n }\n }\n const elements = [];\n points.forEach((pts) => {\n if (!pts.length) {\n return;\n }\n let closed = true;\n while (pts[pts.length - 1][0] === -2 && pts[pts.length - 1][1] === -2) {\n pts = pts.slice(0, pts.length - 1);\n closed = false;\n }\n if (pts.length === 1) {\n elements.push({type: 'point', center: pts[0]});\n } else {\n elements.push({type: 'polyline', closed: closed, points: pts});\n }\n });\n this.showRegion({elements: elements});\n }\n },\n\n _resetRegion() {\n var hasRegionParameter;\n if (!this._displayedRegion) {\n return;\n }\n _.each(\n this.controlPanel.models().filter((model) => model.get('type') === 'region'),\n (model) => {\n model.set('value', this._displayedRegion);\n hasRegionParameter = true;\n }\n );\n if (!hasRegionParameter) {\n this._displayedRegion = null;\n this.showRegion(null);\n }\n },\n\n showRegion(region) {\n if (!this.viewerWidget) {\n return;\n }\n\n this.viewerWidget.removeAnnotation(\n new AnnotationModel({_id: 'region-selection'})\n );\n if (!region) {\n return;\n }\n\n var fillColor = 'rgba(255,255,255,0)';\n var lineColor = 'rgba(0,0,0,1)';\n var lineWidth = 2;\n var annotation;\n if (region.elements) {\n annotation = new AnnotationModel({\n _id: 'region-selection',\n name: 'Region',\n annotation: {\n elements: region.elements.map((entry) => _.extend({}, entry, {\n fillColor,\n lineColor,\n lineWidth\n }))\n }\n });\n } else {\n var center = [\n (region.left + region.right) / 2,\n (region.top + region.bottom) / 2,\n 0\n ];\n var width = region.right - region.left;\n var height = region.bottom - region.top;\n var rotation = 0;\n annotation = new AnnotationModel({\n _id: 'region-selection',\n name: 'Region',\n annotation: {\n elements: [{\n type: 'rectangle',\n center,\n width,\n height,\n rotation,\n fillColor,\n lineColor,\n lineWidth\n }]\n }\n });\n }\n this.viewerWidget.drawAnnotation(annotation, {fetch: false});\n },\n\n showCoordinates(evt) {\n if (this.viewer) {\n var pt = evt.geo;\n this.$('.h-image-coordinates').text(\n pt.x.toFixed() + ', ' + pt.y.toFixed()\n );\n }\n },\n\n mouseOnAnnotation(element, annotationId) {\n if (annotationId === 'region-selection' || annotationId === 'selected') {\n return;\n }\n this._lastMouseOnElement = {element, annotationId};\n if (!this.annotationSelector.interactiveMode()) {\n return;\n }\n const annotation = this.annotations.get(annotationId);\n const elementModel = annotation.elements().get(element.id);\n annotation.set('highlight', true);\n if (this.drawWidget) {\n this.drawWidget.trigger('h:mouseon', elementModel);\n }\n },\n\n mouseOffAnnotation(element, annotationId) {\n this._lastMouseOnElement = null;\n if (annotationId === 'region-selection' || annotationId === 'selected' || !this.annotationSelector.interactiveMode()) {\n return;\n }\n const annotation = this.annotations.get(annotationId);\n const elementModel = annotation.elements().get(element.id);\n annotation.unset('highlight');\n if (this.drawWidget) {\n this.drawWidget.trigger('h:mouseoff', elementModel);\n }\n },\n\n mouseOverAnnotation(element, annotationId) {\n if (annotationId === 'region-selection' || annotationId === 'selected') {\n return;\n }\n element.annotation = this.annotations.get(annotationId);\n if (element.annotation) {\n this.popover.collection.add(element);\n }\n },\n\n mouseOutAnnotation(element, annotationId) {\n if (annotationId === 'region-selection' || annotationId === 'selected') {\n return;\n }\n element.annotation = this.annotations.get(annotationId);\n if (element.annotation) {\n this.popover.collection.remove(element);\n }\n },\n\n mouseResetAnnotation() {\n if (this.popover.collection.length) {\n this.popover.collection.reset();\n }\n },\n\n getPixelmapElements() {\n let allPixelmaps = [];\n this.annotations.each((annotation) => {\n const pixelmaps = annotation.elements().filter((element) => element.get('type') === 'pixelmap');\n allPixelmaps = allPixelmaps.concat(pixelmaps);\n });\n return allPixelmaps;\n },\n\n _getCategoryIndexFromStyleGroup(annotationElement, styleGroup) {\n const categories = annotationElement.get('categories');\n const groupId = styleGroup.get('id');\n const newIndex = _.findIndex(categories, {label: groupId});\n return (newIndex < 0) ? 0 : newIndex;\n },\n\n _updatePixelmapValues(pixelmapElementModel, layer, annotation) {\n let newData = layer.data();\n if (pixelmapElementModel.get('boundaries')) {\n newData = newData.filter((d, i) => i % 2 === 0);\n }\n pixelmapElementModel.set('values', newData);\n if (annotation) {\n this._redrawAnnotation(annotation);\n }\n },\n\n _closePixelmapContextMenu() {\n if (!this._pixelmapContextMenuActive) {\n return;\n }\n this.pixelmapContextMenu.updatePixelmap();\n this.$('#h-pixelmap-context-menu').addClass('hidden');\n this._pixelmapContextMenuActive = false;\n },\n\n _handlePixelmapContextMenu(pixelmap, dataIndex, group) {\n const categoryIndex = _.findIndex(pixelmap.get('categories'), {label: group});\n const pixelmapLayer = this.viewer.layers().find((layer) => layer.id() === pixelmap.get('id'));\n if (!pixelmapLayer || dataIndex < 0) {\n return;\n }\n const layerDataIndex = pixelmap.get('boundaries') ? (dataIndex - dataIndex % 2) : dataIndex;\n const offset = pixelmap.get('boundaries') ? 1 : 0;\n const data = pixelmapLayer.data();\n const categories = pixelmap.get('categories');\n const newValue = (categoryIndex < 0 || categoryIndex >= categories.length) ? 0 : categoryIndex;\n data[layerDataIndex] = data[layerDataIndex + offset] = newValue;\n pixelmapLayer.indexModified(layerDataIndex, layerDataIndex + offset).draw();\n this._debounceUpdatePixelmapValues(pixelmap, pixelmapLayer);\n },\n\n mouseClickOverlay(overlayElement, overlayLayer, event) {\n if (overlayElement.get('type') !== 'pixelmap') { return; }\n const overlayAnnotationIsSelected = this.activeAnnotation && this.activeAnnotation.elements().get(overlayElement.id);\n const index = overlayElement.get('boundaries') ? (event.index - event.index % 2) : event.index;\n if (event.mouse.buttonsDown.left && !event.mouse.modifiers.shift && this.drawWidget && overlayAnnotationIsSelected) {\n // left click. check what the active style is and if it applies\n const style = this.drawWidget.getStyleGroup();\n const newIndex = this._getCategoryIndexFromStyleGroup(overlayElement, style);\n\n const offset = overlayElement.get('boundaries') ? 1 : 0;\n const data = overlayLayer.data();\n const categories = overlayElement.get('categories');\n const newValue = (newIndex < 0 || newIndex >= categories.length) ? 0 : newIndex;\n data[index] = data[index + offset] = newValue;\n overlayLayer.indexModified(index, index + offset).draw();\n this._debounceUpdatePixelmapValues(overlayElement, overlayLayer);\n } else if (event.mouse.buttonsDown.right) {\n const annotation = this.annotations.find((annotation) => annotation.elements().get(overlayElement.id));\n if (!annotation) {\n return;\n }\n this._queueMouseClickAction(overlayElement, annotation.id, null, null);\n window.requestAnimationFrame(() => {\n const data = this._processMouseClickQueue();\n if (!data || data.element.id !== overlayElement.id) {\n return;\n }\n if (!this._canOpenContextMenu()) {\n return;\n }\n this.pixelmapContextMenu.updatePixelmap(overlayElement, event.index);\n // show pixelmap context menu\n window.setTimeout(() => {\n const $window = $(window);\n const menu = this.$('#h-pixelmap-context-menu');\n const position = event.mouse.page;\n menu.removeClass('hidden');\n // adjust the vertical position of the context menu\n const belowWindow = Math.min(0, $window.height() - position.y - menu.height() + 20);\n const top = Math.max(0, position.y + belowWindow);\n\n const windowWidth = $window.width();\n const menuWidth = menu.width();\n let left = position.x;\n if (left + menuWidth > windowWidth) {\n left -= menuWidth;\n }\n left = Math.max(left, 0);\n\n menu.css({left, top});\n this._pixelmapContextMenuActive = true;\n }, 1);\n });\n }\n },\n\n mouseOverOverlay(overlayElement, overlayLayer, event) {\n const overlayAnnotationIsSelected = this.activeAnnotation && this.activeAnnotation.elements().get(overlayElement.id);\n if (event.mouse.buttons.left && event.mouse.modifiers.shift && this.drawWidget && overlayAnnotationIsSelected) {\n const style = this.drawWidget.getStyleGroup();\n const newIndex = this._getCategoryIndexFromStyleGroup(overlayElement, style);\n\n const index = overlayElement.get('boundaries') ? (event.index - event.index % 2) : event.index;\n const offset = overlayElement.get('boundaries') ? 1 : 0;\n const data = overlayLayer.data();\n const categories = overlayElement.get('categories');\n const newValue = (newIndex < 0 || newIndex >= categories.length) ? 0 : newIndex;\n data[index] = data[index + offset] = newValue;\n overlayLayer.indexModified(index, index + offset).draw();\n this._debounceUpdatePixelmapValues(overlayElement, overlayLayer);\n }\n },\n\n overlayLayerDrawn(element, layer) {\n this._overlayLayers[element.id] = {\n layer,\n element\n };\n },\n\n overlayLayerRemoved(element, layer) {\n if (this._overlayLayers[element.id]) {\n delete this._overlayLayers[element.id];\n }\n },\n\n mouseClickAnnotation(element, annotationId, evt) {\n if (!element.annotation) {\n // This is an instance of \"selectedElements\" and should be ignored.\n return;\n }\n\n /*\n * Click events on geojs features are triggered once per feature in a single animation frame.\n * Here we collect all click events occurring in a single animation frame and defer processing.\n * On the next frame, the queue is processed and the action is only performed on the \"closest\"\n * feature. Here \"closest\" is determined by a fast heuristic--the one with a vertex closest\n * to the point clicked. We can improve this heuristic as necessary.\n */\n this._queueMouseClickAction(element, annotationId, evt.data.geometry, evt.mouse.geo);\n if (this._mouseClickQueue.length > 1) {\n return;\n }\n\n window.requestAnimationFrame(() => {\n const {element, annotationId} = this._processMouseClickQueue();\n if (!evt.mouse.modifiers.shift && (!evt.sourceEvent || !evt.sourceEvent.handled)) {\n if (evt.mouse.buttonsDown.right) {\n this._openContextMenu(element.annotation.elements().get(element.id), annotationId, evt);\n } else if (evt.mouse.modifiers.ctrl && !this.viewerWidget.annotationLayer.mode()) {\n this._toggleSelectElement(element.annotation.elements().get(element.id));\n } else if (evt.mouse.buttonsDown.left && !this.viewerWidget.annotationLayer.mode() && this.allowClickSelection) {\n this._selectSingleElement(element.annotation.elements().get(element.id));\n }\n }\n });\n },\n\n toggleLabels(options) {\n this.popover.toggle(options.show);\n },\n\n _queueMouseClickAction(element, annotationId, geometry, center) {\n let minimumDistance = Number.POSITIVE_INFINITY;\n if (geometry) {\n if (geometry.type !== 'Polygon') {\n // We don't current try to resolve any other geometry type, for the moment,\n // any point or line clicked on will always be chosen over a polygon.\n minimumDistance = 0;\n } else {\n const points = geometry.coordinates[0];\n // use an explicit loop for speed\n for (let index = 0; index < points.length; index += 1) {\n const point = points[index];\n const dx = point[0] - center.x;\n const dy = point[1] - center.y;\n const distance = dx * dx + dy * dy;\n minimumDistance = Math.min(minimumDistance, distance);\n }\n }\n }\n this._mouseClickQueue.push({element, annotationId, value: minimumDistance});\n },\n\n _processMouseClickQueue(evt) {\n const sorted = _.sortBy(this._mouseClickQueue, _.property('value'));\n this._mouseClickQueue = [];\n return sorted[0];\n },\n\n _toggleInteractiveMode(interactive) {\n if (!interactive) {\n this.viewerWidget.highlightAnnotation();\n this.annotations.each((annotation) => {\n annotation.unset('highlight');\n if (this.drawWidget) {\n annotation.elements().each((element) => {\n this.drawWidget.trigger('h:mouseoff', element);\n });\n }\n });\n }\n },\n\n _removeDrawWidget() {\n if (this.drawWidget) {\n this._lastDrawingType = this.drawWidget.drawingType();\n this.drawWidget.cancelDrawMode();\n this.stopListening(this.drawWidget);\n this.drawWidget.remove();\n this.drawWidget = null;\n $('
').addClass('h-draw-widget s-panel hidden').attr('id', 'h-draw-panel')\n .appendTo(this.$('#h-annotation-selector-container'));\n this._orderPanels();\n }\n },\n\n _editAnnotation(model) {\n if (this.activeAnnotation === model) {\n return;\n }\n this.activeAnnotation = model;\n this.annotationSelector.$('.h-annotation').removeClass('h-active-annotation');\n this._removeDrawWidget();\n if (model) {\n this.annotationSelector.$('.h-annotation[data-id=\"' + model.id + '\"]').addClass('h-active-annotation');\n this.drawWidget = new DrawWidget({\n parentView: this,\n image: this.model,\n annotation: this.activeAnnotation,\n drawingType: this._lastDrawingType,\n el: this.$('.h-draw-widget'),\n viewer: this.viewerWidget,\n annotationSelector: this.annotationSelector\n }).render();\n this.listenTo(this.drawWidget, 'h:redraw', this._redrawAnnotation);\n this.listenTo(this.drawWidget, 'h:styleGroupsUpdated', this._updatePixelmapsWithCategories);\n this.$('.h-draw-widget').removeClass('hidden');\n }\n },\n\n _deleteAnnotation(model) {\n if (this.activeAnnotation && this.activeAnnotation.id === model.id) {\n this._removeDrawWidget();\n }\n this.annotationSelector._deselectAnnotationElements(model);\n },\n\n _setAnnotationOpacity(opacity) {\n this.viewerWidget.setGlobalAnnotationOpacity(opacity);\n },\n\n _setAnnotationFillOpacity(opacity) {\n this.viewerWidget.setGlobalAnnotationFillOpacity(opacity);\n },\n\n _onKeyDown(evt) {\n /* Don't trigger keys if we are in an input field. */\n if (/^(input|textarea|select)$/.test((document.activeElement.tagName || '').toLowerCase())) {\n return;\n }\n const drawModes = {\n o: 'point',\n r: 'rectangle',\n i: 'ellipse',\n c: 'circle',\n p: 'polygon',\n l: 'line',\n b: 'brush'\n };\n switch (evt.key) {\n case 'a':\n this._showOrHideAnnotations();\n break;\n case 'e':\n if (this._lastMouseOnElement) {\n const annotation = this.annotations.get(this._lastMouseOnElement.annotationId);\n const elementModel = annotation.elements().get(this._lastMouseOnElement.element.id);\n this._editElementShape(elementModel, annotation.id);\n }\n break;\n case 's':\n this.annotationSelector.selectAnnotationByRegion();\n break;\n case 'S':\n this.annotationSelector.selectAnnotationByRegion(true);\n break;\n case 'C':\n this._resetSelection();\n break;\n case 'm':\n if (this._currentMousePosition && (this.selectedElements.length > 0 || this._lastMouseOnElement)) {\n let annotationId, element;\n if (this.selectedElements.length > 0) {\n element = this.selectedElements.models[0];\n annotationId = element.originalAnnotation.id;\n } else {\n annotationId = this._lastMouseOnElement.annotationId;\n element = this.annotations.get(annotationId).elements().get(this._lastMouseOnElement.element.id);\n }\n this._openContextMenu(element, annotationId, {\n mouse: this._currentMousePosition\n });\n }\n break;\n case ' ': // pressing space bar creates a new annotation\n this.annotationSelector.createAnnotation();\n break;\n case 'B':\n if (this.activeAnnotation) {\n this.drawWidget.nextBrushShape();\n }\n break;\n case '[':\n if (this.activeAnnotation) {\n this.drawWidget.adjustBrushSize(-1);\n }\n break;\n case ']':\n if (this.activeAnnotation) {\n this.drawWidget.adjustBrushSize(1);\n }\n break;\n case 'q':\n if (this.activeAnnotation) {\n this.drawWidget.setToPrevStyleGroup();\n }\n break;\n case 'w':\n if (this.activeAnnotation) {\n this.drawWidget.setToNextStyleGroup();\n }\n break;\n case 'Enter':\n {\n const drawingType = this.drawWidget && this.drawWidget._drawingType;\n if (this.activeAnnotation && ['polygon', 'line'].includes(drawingType)) {\n const annotation = this.viewerWidget.annotationLayer.annotations()[0];\n\n // The current mouse position is included as the last vertex, so remove\n // it before saving it\n annotation.options('vertices').pop();\n\n // Only save the annotation if there are enough vertices for it to form\n // a line or polygon\n if (\n (drawingType === 'polygon' && annotation.options('vertices').length > 2) ||\n (drawingType === 'line' && annotation.options('vertices').length > 1)\n ) {\n annotation.state(geo.annotation.state.done).modified().draw();\n }\n\n this.drawWidget.cancelDrawMode();\n }\n }\n break;\n default:\n if (this.drawWidget && drawModes[evt.key] && this.activeAnnotation) {\n const mode = drawModes[evt.key];\n if (this.drawWidget._drawingType === mode) {\n this.drawWidget.cancelDrawMode();\n } else {\n this.drawWidget.drawElement(undefined, mode);\n }\n }\n break;\n }\n },\n\n _trackMousePosition(evt) {\n this._currentMousePosition = {\n page: {\n x: evt.pageX,\n y: evt.pageY\n },\n client: {\n x: evt.clientX,\n y: evt.clientY\n }\n };\n },\n\n _showOrHideAnnotations() {\n if (this.annotations.any((a) => a.get('displayed'))) {\n this.annotationSelector.hideAllAnnotations();\n } else {\n this.annotationSelector.showAllAnnotations();\n }\n },\n\n _selectElementsByRegion(evt) {\n if (this.drawWidget && this.drawWidget.drawingType()) {\n this.drawWidget.cancelDrawMode();\n }\n this._selectElementsByRegionCanceled = false;\n this.viewerWidget.drawRegion(undefined, evt && evt.polygon ? 'polygon' : undefined).then((coord) => {\n if (this._selectElementsByRegionCanceled) {\n return this;\n }\n this._resetSelection();\n let found;\n if (coord.length === 4) {\n const boundingBox = {\n left: coord[0],\n top: coord[1],\n width: coord[2],\n height: coord[3]\n };\n found = this.getElementsInBox(boundingBox);\n } else {\n const polygon = coord.slice(0, coord.length / 2).map((c, idx) => ({x: coord[idx * 2], y: coord[idx * 2 + 1], z: 0}));\n found = this.getElementsInPolygon(polygon);\n }\n found.forEach(({element}, idx) => this._selectElement(element, {silent: idx !== found.length - 1}));\n if (this.selectedElements.length > 0 && this._currentMousePosition && this.autoRegionContextMenu) {\n // fake an open context menu\n const {element, annotationId} = found[0];\n this._openContextMenu(element, annotationId, {\n mouse: this._currentMousePosition\n }, true);\n }\n this.trigger('h:selectedElementsByRegion', this.selectedElements);\n return this;\n });\n },\n\n _selectElementsByRegionCancel() {\n this.viewerWidget.annotationLayer.mode(null);\n this._selectElementsByRegionCanceled = true;\n this.trigger('h:selectedElementsByRegion', []);\n },\n\n getElementsInBox(boundingBox) {\n const poly = [\n {x: boundingBox.left, y: boundingBox.top + boundingBox.height},\n {x: boundingBox.left + boundingBox.width, y: boundingBox.top + boundingBox.height},\n {x: boundingBox.left + boundingBox.width, y: boundingBox.top},\n {x: boundingBox.left, y: boundingBox.top}\n ];\n return this.getElementsInPolygon(poly);\n },\n\n getElementsInPolygon(poly) {\n const results = [];\n this.viewerWidget.featureLayer.features().forEach((feature) => {\n const r = feature.polygonSearch(poly, {partial: false});\n r.found.forEach((feature) => {\n const annotationId = feature.properties ? feature.properties.annotation : null;\n const element = feature.properties ? feature.properties.element : null;\n if (element && element.id && annotationId) {\n const annotation = this.annotations.get(annotationId);\n results.push({\n element: annotation.elements().get(element.id),\n annotationId\n });\n }\n });\n });\n return results;\n },\n\n _canOpenContextMenu() {\n return !this._contextMenuActive && !this._pixelmapContextMenuActive;\n },\n\n _openContextMenu(element, annotationId, evt, force) {\n if (!this._canOpenContextMenu() || !element || (!force && this.annotationSelector.selectAnnotationByRegionActive())) {\n return;\n }\n if (!this.selectedElements.get(element.id)) {\n this._resetSelection();\n this._selectElement(element);\n }\n\n if (!this.selectedElements.get(element.id)) {\n // If still not selected, then the user does not have access.\n return;\n }\n\n // Defer the context menu action into the next animation frame\n // to work around a problem with preventDefault on Windows\n window.setTimeout(() => {\n const $window = $(window);\n const menu = this.$('#h-annotation-context-menu');\n const position = evt.mouse.page;\n menu.removeClass('hidden');\n\n // adjust the vertical position of the context menu\n // == 0, above the bottom; < 0, number of pixels below the bottom\n // the menu height is bigger by 20 pixels due to extra padding\n const belowWindow = Math.min(0, $window.height() - position.y - menu.height() + 20);\n // ensure the top is not above the top of the window\n const top = Math.max(0, position.y + belowWindow);\n\n // Put the context menu to the left of the cursor if it is too close\n // to the right edge.\n const windowWidth = $window.width();\n const menuWidth = menu.width();\n let left = position.x;\n if (left + menuWidth > windowWidth) {\n left -= menuWidth;\n }\n left = Math.max(left, 0);\n\n menu.css({left, top});\n if (this.popover.collection.length) {\n this.popover.collection.reset();\n }\n this._contextMenuActive = true;\n }, 1);\n },\n\n _closeContextMenu() {\n if (!this._contextMenuActive) {\n return;\n }\n this.$('#h-annotation-context-menu').addClass('hidden');\n this._resetSelection();\n if (this.popover.collection.length) {\n this.popover.collection.reset();\n }\n this._contextMenuActive = false;\n this.viewerWidget.viewer.node().focus();\n },\n\n _editElement(element) {\n const annotation = this.annotations.get(element.originalAnnotation);\n this._editAnnotation(annotation);\n editElement(annotation.elements().get(element.id), this._defaultGroup);\n },\n\n _editElementShape(element, annotationId) {\n this._preeditDrawMode = this.drawWidget ? this.drawWidget.drawingType() : undefined;\n this.drawWidget.cancelDrawMode();\n const annotation = this.annotations.get(element.originalAnnotation || annotationId);\n this._editAnnotation(annotation);\n const geojson = convertToGeojson(element);\n this._currentAnnotationEditShape = {\n annotation,\n element: annotation.elements().get(element.id)\n };\n this.viewerWidget.hideAnnotation(annotation.id, element.id);\n this.viewerWidget.annotationLayer.removeAllAnnotations();\n const count = this.viewerWidget.annotationLayer.geojson(geojson);\n if (count !== 1) {\n return;\n }\n const annot = this.viewerWidget.annotationLayer.annotations();\n if (annot.length !== 1) {\n return;\n }\n // geoOff state so the annotation isn't added by large_image_annotation\n this.viewerWidget.annotationLayer.geoOff(geo.event.annotation.state);\n this.viewerWidget.annotationLayer.mode(this.viewerWidget.annotationLayer.modes.edit, annot[0]).draw();\n if (!this._editElementShapeFinishBound) {\n this._editElementShapeFinishBound = _.bind(this._editElementShapeFinish, this);\n }\n this.viewerWidget.annotationLayer.geoOn(geo.event.annotation.state, this._editElementShapeFinishBound);\n },\n\n _editElementShapeFinish(event) {\n if (event.annotation.state() !== geo.annotation.state.done) {\n return;\n }\n this.viewerWidget.annotationLayer.geoOff(geo.event.annotation.state, this._editElementShapeFinishBound);\n const annot = convertFromGeojson(event.annotation);\n var update = {};\n ['points', 'center', 'width', 'height', 'rotation'].forEach((key) => {\n if (annot[key] !== undefined) {\n update[key] = annot[key];\n }\n });\n this._currentAnnotationEditShape.element.set(update);\n this._currentAnnotationEditShape = null;\n this.viewerWidget.annotationLayer.removeAllAnnotations();\n this.viewerWidget.hideAnnotation();\n if (this.drawWidget) {\n this.drawWidget.cancelDrawMode();\n if (this._preeditDrawMode) {\n window.setTimeout(() => {\n this.drawWidget.drawElement(undefined, this._preeditDrawMode);\n }, 0);\n }\n }\n },\n\n _redrawSelection() {\n this.viewerWidget.removeAnnotation(this.selectedAnnotation);\n this.viewerWidget.drawAnnotation(this.selectedAnnotation, {fetch: false});\n },\n\n _selectElement(element, options) {\n // don't allow selecting annotations with no write access or\n // elements not associated with a real annotation.\n const annotation = (element.collection || {}).annotation;\n if (!annotation || annotation.get('_accessLevel') < AccessType.WRITE) {\n return;\n }\n\n var elementModel = this.selectedElements.add(element.attributes, options);\n elementModel.originalAnnotation = annotation;\n this.viewerWidget.highlightAnnotation(this.selectedAnnotation.id);\n },\n\n _unselectElement(element) {\n this.selectedElements.remove(element.id);\n if (!this.selectedElements.length) {\n this.viewerWidget.highlightAnnotation();\n }\n },\n\n _selectSingleElement(element) {\n if ((this.selectedElements.length > (element ? 1 : 0)) || (this.selectedElements.length === 1 && !this.selectedElements.get(element.id))) {\n this._resetSelection();\n }\n this._toggleSelectElement(element);\n },\n\n _toggleSelectElement(element) {\n if (element) {\n if (this.selectedElements.get(element.id)) {\n this._unselectElement(element);\n } else {\n this._selectElement(element);\n }\n }\n },\n\n _resetSelection() {\n if (this.viewerWidget && this.viewerWidget._highlightAnnotation) {\n this.viewerWidget.highlightAnnotation();\n }\n if (this.selectedElements && this.selectedElements.length) {\n this.selectedElements.reset();\n }\n },\n\n _selectElementsByGroup(group) {\n if (!this.activeAnnotation) {\n return;\n }\n this._resetSelection();\n let last;\n this.activeAnnotation.elements().forEach((element) => {\n if (element.get('group') === group || (group === this._defaultGroup && element.get('group') === undefined)) {\n if (last !== undefined) {\n this._selectElement(last, {silent: true});\n }\n last = element;\n }\n });\n if (last !== undefined) {\n this._selectElement(last);\n }\n },\n\n _saveSelection() {\n const groupedAnnotations = this.selectedElements.groupBy((element) => element.originalAnnotation.id);\n _.each(groupedAnnotations, (elements, annotationId) => {\n const annotation = this.annotations.get(annotationId);\n _.each(elements, (element) => { /* eslint-disable backbone/no-silent */\n const annotationElement = annotation.elements().get(element.id);\n // silence the event because we want to make one save call for each annotation.\n annotationElement.set(element.toJSON(), {silent: true});\n if (!element.get('group')) {\n annotationElement.unset('group', {silent: true});\n }\n });\n if (!elements.length) {\n return;\n }\n const annotationData = _.extend({}, annotation.get('annotation'));\n annotationData.elements = annotation.elements().toJSON();\n annotation.set('annotation', annotationData);\n });\n },\n _removeSelection() {\n const groupedAnnotations = this.selectedElements.groupBy((element) => element.originalAnnotation.id);\n _.each(groupedAnnotations, (elements, annotationId) => { /* eslint-disable backbone/no-silent */\n // silence the event because we want to make one save call for each annotation.\n const elementsCollection = this.annotations.get(annotationId).elements();\n elementsCollection.remove(elements, {silent: true});\n elementsCollection.trigger('reset', elementsCollection);\n });\n },\n _deselectAnnotationElements(evt) {\n const model = (evt || {}).model;\n if (this.selectedElements && this.selectedElements.length) {\n const elements = this.selectedElements.models.filter((el) => el.originalAnnotation.id === model.id);\n if (elements.length) {\n if (elements.length === this.selectedElements.length) {\n this._resetSelection();\n } else {\n elements.forEach((el, idx) => {\n this.selectedElements.remove(el.id, {silent: idx !== elements.length - 1});\n });\n }\n }\n }\n },\n _orderPanels() {\n if (!this._knownPanels) {\n this._knownPanels = {};\n }\n HuiSettings.getSettings().then((settings) => {\n let layout = settings['histomicsui.panel_layout'];\n if (this._folderConfig && this._folderConfig.panelLayout && this._folderConfig.panelLayout !== 'default') {\n layout = this._folderConfig.panelLayout;\n }\n if (!layout) {\n return null;\n }\n if (typeof layout === 'string') {\n layout = JSON.parse(layout);\n }\n const panels = this.$('[id^=h-][id$=-panel]');\n panels.each((idx, panel) => {\n panel = $(panel);\n const info = {\n name: panel.attr('id').substr(2, panel.attr('id').length - 8),\n position: 'left',\n state: 'open'\n };\n if (!panel.closest('.h-panel-group-left').length) {\n info.position = 'right';\n }\n if (!panel.find('.s-panel-content.collapse.in').length) {\n info.state = 'closed';\n }\n this._knownPanels[info.name] = info;\n });\n layout = layout.filter((spec) => this.$(`#h-${spec.name}-panel`).length).reverse();\n layout.forEach((spec) => {\n const panel = this.$(`#h-${spec.name}-panel`);\n const info = this._knownPanels[spec.name];\n\n if (spec.position === 'hidden') {\n panel.addClass('hidden');\n return;\n }\n const parent = spec.position === 'left' || (spec.position !== 'right' && info.position === 'left') ? '.h-panel-group-left' : '.h-panel-group-right';\n panel.prependTo(parent);\n if (!info.processed && panel.find('.s-panel-content').length) {\n if (spec.state === 'open') {\n panel.find('.s-panel-content').addClass('in');\n panel.find('.s-panel-controls .icon-down-open').removeClass('icon-down-open').addClass('icon-up-open');\n }\n if (spec.state === 'closed') {\n panel.find('.s-panel-content').removeClass('in');\n panel.find('.s-panel-controls .icon-up-open').removeClass('icon-up-open').addClass('icon-down-open');\n }\n info.processed = true;\n }\n });\n return null;\n });\n },\n _getConfig(modelId) {\n if (modelId !== this._folderConfigId) {\n this._folderConfigId = modelId;\n this._folderConfig = {};\n }\n restRequest({\n url: `folder/${this.model.get('folderId')}/yaml_config/.histomicsui_config.yaml`\n }).done((val) => {\n $('body').attr('view-mode', (val || {}).viewMode || '');\n if (!val || this.model.id !== modelId) {\n return;\n }\n this._folderConfig = val;\n if (val.annotationGroups) {\n const groups = new StyleCollection();\n groups.fetch().done(() => {\n if (!val || this.model.id !== modelId) {\n return;\n }\n this._defaultGroup = val.annotationGroups.defaultGroup || 'default';\n if ((val.annotationGroups.groups || []).length) {\n if (val.annotationGroups.replaceGroups) {\n while (groups.length) {\n groups.first().destroy();\n }\n }\n val.annotationGroups.groups.forEach((group) => {\n group.label = group.label ? {value: group.label} : undefined;\n groups.add(group);\n });\n groups.each((model) => { model.save(); });\n }\n });\n }\n });\n },\n\n _widgetDrawRegion(evt) {\n if (evt.model && evt.event) {\n const target = $(evt.event.target).closest('.s-select-region-button');\n target.closest('.input-group-btn').find('.s-select-region-button').removeClass('active');\n if (evt.mode) {\n target.addClass('active');\n }\n }\n },\n\n _drawModeChange(evt) {\n if (this._drawingType) {\n this.viewer.annotationLayer.mode(null);\n this.viewer.annotationLayer.geoOff(geo.event.annotation.state);\n }\n this._drawingType = null;\n $('#h-analysis-panel .input-group-btn').find('.s-select-region-button').removeClass('active');\n },\n\n _drawRegionUpdate(evt) {\n if (evt.submit && evt.submit.hasClass('enabled')) {\n $('#h-analysis-panel .s-info-panel-submit').trigger('click');\n if (evt.originalEvent) {\n $(`#h-analysis-panel .s-select-region-button[shape=\"${$(evt.originalEvent.target).attr('shape')}\"][multi=\"${$(evt.originalEvent.target).attr('multi')}\"][parent-id=\"${$(evt.originalEvent.target).attr('parent-id')}\"]`).eq(0).trigger('click');\n }\n }\n }\n});\nexport default ImageView;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/views/body/ImageView.js","module.exports = (__webpack_require__(2))(24);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/models/ItemModel.js from dll-reference girder_plugin_slicer_cli_web\n// module id = 34\n// module chunks = 0","module.exports = (__webpack_require__(5))(10);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/@girder/large_image_annotation/models/AnnotationModel.js from dll-reference girder_plugin_large_image_annotation\n// module id = 35\n// module chunks = 0","import $ from 'jquery';\n\nimport StyleCollection from '../../collections/StyleCollection';\nimport View from '../View';\n\nimport template from '../../templates/popover/annotationContextMenu.pug';\nimport '../../stylesheets/popover/annotationContextMenu.styl';\n\nconst AnnotationContextMenu = View.extend({\n events: {\n 'click .h-remove-elements': '_removeElements',\n 'click .h-edit-elements': '_editElements',\n 'click .h-edit-shape': '_editElements',\n 'click .h-set-group': '_setGroup',\n 'click .h-remove-group': '_removeGroup'\n },\n initialize(settings) {\n this._cachedGroupCount = {};\n this.styles = new StyleCollection();\n this.styles.fetch().done(() => this.render());\n this.listenTo(this.collection, 'add remove reset', this.render);\n },\n render() {\n this.$el.html(template({\n groups: this._getAnnotationGroups(),\n numberSelected: this.collection.length\n }));\n return this;\n },\n refetchStyles() {\n this.styles.fetch().done(() => this.render());\n },\n setGroupCount(groupCount) {\n this._cachedGroupCount = groupCount;\n },\n _removeElements(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n this.collection.each((element) => {\n if (this.parentView.drawWidget && this.parentView.activeAnnotation.id === element.originalAnnotation.id) {\n if (['point', 'polyline', 'rectangle', 'ellipse', 'circle'].includes(element.attributes.type)) {\n this.parentView.drawWidget.updateCount(element.attributes.group || this.parentView._defaultGroup, -1);\n } else if (element.attributes.type === 'pixelmap') {\n this.parentView.drawWidget.countPixelmap(element, -1);\n }\n }\n });\n this.collection.trigger('h:remove');\n this.trigger('h:close');\n },\n _editElements(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n\n if ($(evt.target).closest('.list-group-item').hasClass('h-edit-shape')) {\n this.trigger('h:editShape', this.collection.at(0));\n } else {\n this.trigger('h:edit', this.collection.at(0));\n }\n this.trigger('h:close');\n },\n _setStyleDefinition(group) {\n const style = this.styles.get({id: group}) || this.styles.get({id: this.parentView._defaultGroup});\n const styleAttrs = Object.assign({}, style ? style.toJSON() : {});\n Object.keys(styleAttrs).forEach((k) => {\n if (!['fillColor', 'lineColor', 'lineWidth', 'label'].includes(k)) {\n delete styleAttrs[k];\n }\n });\n let refresh = false;\n this.collection.each((element) => { /* eslint-disable backbone/no-silent */\n if (this.parentView.drawWidget && this.parentView.activeAnnotation.id === element.originalAnnotation.id &&\n element.attributes.group !== group && ['point', 'polyline', 'rectangle', 'ellipse', 'circle'].includes(element.attributes.type)) {\n this.parentView.drawWidget.updateCount(element.attributes.group || this.parentView._defaultGroup, -1);\n this.parentView.drawWidget.updateCount(group || this.parentView._defaultGroup, 1);\n refresh = true;\n }\n if (group) {\n styleAttrs.group = group;\n } else {\n element.unset('group', {silent: true});\n }\n element.set(styleAttrs, {silent: true});\n });\n this.collection.trigger('h:save');\n this.trigger('h:close');\n if (this.parentView.drawWidget && refresh) {\n this.parentView.drawWidget.render();\n }\n },\n _getAnnotationGroups() {\n const groups = this.styles.map((style) => style.id);\n groups.sort((a, b) => {\n const countA = this._cachedGroupCount[a] || 0;\n const countB = this._cachedGroupCount[b] || 0;\n if (countA !== countB) {\n return countB - countA;\n }\n if (a < b) {\n return -1;\n } else if (a > b) {\n return 1;\n } else {\n return 0;\n }\n });\n return groups;\n },\n _setGroup(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n\n const group = $(evt.currentTarget).data('group');\n this._setStyleDefinition(group);\n },\n _removeGroup(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n\n this._setStyleDefinition(null);\n }\n});\n\nexport default AnnotationContextMenu;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/views/popover/AnnotationContextMenu.js","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@girder/histomicsui/stylesheets/popover/annotationContextMenu.styl\n// module id = 37\n// module chunks = 0","import _ from 'underscore';\nimport $ from 'jquery';\n\nimport {getCurrentUser} from '@girder/core/auth';\nimport {restRequest} from '@girder/core/rest';\nimport ElementCollection from '@girder/large_image_annotation/collections/ElementCollection';\nimport convertRectangle from '@girder/large_image_annotation/annotations/geometry/rectangle';\nimport convertEllipse from '@girder/large_image_annotation/annotations/geometry/ellipse';\nimport convertCircle from '@girder/large_image_annotation/annotations/geometry/circle';\n\nimport events from '../../events';\nimport View from '../View';\nimport annotationPopover from '../../templates/popover/annotationPopover.pug';\nimport annotationPopoverMetadata from '../../templates/popover/annotationPopoverMetadata.pug';\nimport '../../stylesheets/popover/annotationPopover.styl';\nimport {elementAreaAndEdgeLength} from '../utils';\n\n/**\n * Format a point as a string for the user.\n */\nfunction point(p) {\n return `(${parseInt(p[0])}, ${parseInt(p[1])})`;\n}\n\n/**\n * Format a distance as a string for the user.\n */\nfunction length(p, scale) {\n let result = `${Math.ceil(p)} px`;\n const scaleWidget = window.geo.gui.scaleWidget;\n if (scale && scaleWidget && scaleWidget.formatUnit) {\n const scaleresult = scaleWidget.formatUnit(p * scale, 'si', undefined, 4);\n if (scaleresult) {\n result += ` (${scaleresult})`;\n }\n }\n return result;\n}\n\n/**\n * Format an area as a string for the user.\n */\nfunction areaStr(p, scale) {\n let result = `${Math.ceil(p)} px\\xB2`;\n const scaleWidget = window.geo.gui.scaleWidget;\n if (scale && scaleWidget && scaleWidget.formatUnit) {\n const scaleresult = scaleWidget.formatUnit(p * scale * scale, 'si', scaleWidget.areaUnitsTable, 4);\n if (scaleresult) {\n result += ` (${scaleresult})`;\n }\n }\n return result;\n}\n\n/**\n * Format a rotation as a string for the user.\n */\nfunction rotation(r) {\n return `${parseInt(r * 180 / Math.PI)}°`;\n}\n\n/**\n * Format a Date object as a localized string.\n */\nfunction formatDate(s) {\n var d = new Date(s);\n return d.toLocaleString();\n}\n\n/**\n * This view behaves like a bootstrap \"popover\" that follows the mouse pointer\n * over the image canvas and dynamically updates according to the features\n * under the pointer.\n *\n * @param {object} [settings]\n * @param {number} [settings.debounce]\n * Debounce time in ms for rerendering due to mouse movements\n */\nvar AnnotationPopover = View.extend({\n initialize(settings) {\n if (settings.debounce) {\n this._position = _.debounce(this._position, settings.debounce);\n }\n\n $('body').on('mousemove', '.h-image-view-body', (evt) => this._position(evt));\n $('body').on('mouseout', '.h-image-view-body', () => this._hide());\n $('body').on('mouseover', '.h-image-view-body', () => this._show());\n\n this._hidden = !settings.visible;\n this._users = {};\n const user = getCurrentUser();\n if (user) {\n this._users[user.id] = user.toJSON();\n }\n this.collection = new ElementCollection();\n this.listenTo(this.collection, 'add', this._getUser);\n this.listenTo(this.collection, 'all', this.render);\n this.listenTo(events, 'h:imageOpened', this._bindMoveEvent);\n\n this._recomputeClosestElementThrottled = _.throttle(this._recomputeClosestElement, 100);\n },\n\n render() {\n if (!this._closestElement) {\n this.$el.html('');\n } else {\n const element = this._closestElement;\n const annotation = element.get('annotation');\n this.$el.html(\n annotationPopover({\n annotations: [annotation],\n elements: {[annotation.id]: [element]},\n formatDate,\n users: this._users,\n elementProperties: (element) => this._elementProperties(element),\n elementAdditionalValues: (element, annotation) => this._elementAdditionalValues(element, annotation)\n })\n );\n }\n this._show();\n if (!this._visible()) {\n this._hide();\n }\n this._height = this.$('.h-annotation-popover').height();\n this._position();\n return this;\n },\n\n /**\n * Set the popover visibility state.\n *\n * @param {boolean} [show]\n * if true: show the popover\n * if false: hide the popover\n * if undefined: toggle the popover state\n */\n toggle(show) {\n if (show === undefined) {\n show = this._hidden;\n }\n this._hidden = !show;\n this.render();\n return this;\n },\n\n /**\n * Check the local cache for the given creator. If it has not already been\n * fetched, then send a rest request to get the user information and\n * rerender the popover.\n *\n * As a consequence to avoid always rendering asynchronously, the user name\n * will not be shown on the first render. In practice, this isn't usually\n * noticeable.\n */\n _getUser(model) {\n var id = model.get('annotation').get('creatorId');\n if (!_.has(this._users, id)) {\n restRequest({\n url: 'user/' + id\n }).done((user) => {\n this._users[id] = user;\n this.render();\n });\n }\n var uid = model.get('annotation').get('updatedId');\n if (uid && uid !== id && !_.has(this._users, uid)) {\n restRequest({\n url: 'user/' + uid\n }).done((user) => {\n this._users[uid] = user;\n this.render();\n });\n }\n },\n\n /**\n * Get an object containing elements that are to be displayed to the user\n * in a popover. This object is cached on the model to avoid recomputing\n * these properties every time they are displayed.\n */\n _elementProperties(element) {\n // cache the popover properties to reduce\n // computations on mouse move\n if (element._popover) {\n return element._popover;\n }\n\n function setIf(key, func = (v) => v) {\n const value = element.get(key);\n if (value) {\n const args = [value].concat(Array.prototype.slice.call(arguments, 2));\n props[key] = func.apply(this, args);\n }\n }\n\n const props = {};\n element._popover = props;\n\n if (element.get('label') && element.get('label').value) {\n props.label = element.get('label').value;\n }\n if (element.get('group')) {\n props.group = element.get('group');\n }\n const {area, edge} = elementAreaAndEdgeLength(element);\n let scale;\n if (this && this.parentView && this.parentView.viewerWidget && this.parentView.viewerWidget._scale) {\n scale = this.parentView.viewerWidget._scale.scale;\n }\n setIf('center', point);\n setIf('width', length, scale);\n setIf('height', length, scale);\n setIf('radius', length, scale);\n setIf('rotation', rotation);\n if (area) {\n props.area = areaStr(area, scale);\n }\n if (edge) {\n props[element.closed ? 'perimeter' : 'length'] = length(edge, scale);\n }\n\n return props;\n },\n\n /**\n * Return additional HTML to add to element popovers.\n *\n * @param {object} element The annotation element under the cursor.\n * @param {object} annotation The backbone annotation model.\n * @returns {string} An HTML string that will be added to the popover or\n * undefined.\n */\n _elementAdditionalValues(element, annotation) {\n if (element && element.toJSON && annotation && annotation.toJSON) {\n return annotationPopoverMetadata({\n annotation: annotation.toJSON(),\n element: element.toJSON()\n });\n }\n },\n\n /**\n * Remove the hidden class on the popover element if this._visible()\n * returns true.\n */\n _show() {\n if (this._visible()) {\n this.$el.removeClass('hidden');\n }\n },\n\n /**\n * Unconditionally hide popover.\n */\n _hide() {\n this.$el.addClass('hidden');\n },\n\n /**\n * Determine if the popover should be visible. Returns true\n * if there are active annotations under the mouse pointer and\n * the label option is enabled.\n */\n _visible() {\n return !this._hidden && this.collection.length > 0;\n },\n\n /**\n * Reset the position of the popover to the position of the\n * mouse pointer.\n */\n _position(evt) {\n if (evt) {\n this._lastPositionEvt = evt;\n } else {\n evt = this._lastPositionEvt;\n }\n if (evt && this._visible()) {\n this.$el.css({\n left: evt.pageX + 5,\n top: evt.pageY - this._height / 2\n });\n }\n },\n\n _distanceToElement(points) {\n const center = this._lastCenter;\n if (!center) {\n return 0;\n }\n let minimumDistance = Number.POSITIVE_INFINITY;\n // use an explicit loop for speed\n for (let index = 0; index < points.length; index += 1) {\n const point = points[index];\n const dx = point[0] - center.x;\n const dy = point[1] - center.y;\n const distance = dx * dx + dy * dy;\n minimumDistance = Math.min(minimumDistance, distance);\n }\n return minimumDistance;\n },\n\n _bindMoveEvent() {\n this.parentView.viewerWidget.viewer.geoOn(\n window.geo.event.mousemove, (evt) => {\n this._lastCenter = _.extend({}, evt.geo);\n this._recomputeClosestElementThrottled();\n }\n );\n },\n\n _recomputeClosestElement() {\n let minimumDistance = Number.POSITIVE_INFINITY;\n const lastElement = this._closestElement;\n this._closestElement = null;\n this.collection.each((e) => {\n let distance = 0;\n // Distance calculation is only valid for polylines, rectangles,\n // ellipses, and circle. We should handle other annotations.\n // For ellipses and circles, we should take curvature into\n // account\n switch (e.get('type')) {\n case 'polyline':\n distance = this._distanceToElement(e.get('points'));\n break;\n case 'rectangle':\n distance = this._distanceToElement(\n convertRectangle(e.attributes).coordinates[0]\n );\n break;\n case 'ellipse':\n distance = this._distanceToElement(\n convertEllipse(e.attributes).coordinates[0]\n );\n break;\n case 'circle':\n distance = this._distanceToElement(\n convertCircle(e.attributes).coordinates[0]\n );\n break;\n }\n if (distance < minimumDistance) {\n this._closestElement = e;\n minimumDistance = distance;\n }\n });\n if (lastElement && this._closestElement && lastElement.id === this._closestElement.id) {\n // Don't rerender if the element didn't change;\n return;\n }\n this.render();\n }\n});\n\nexport default AnnotationPopover;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/views/popover/AnnotationPopover.js","module.exports = (__webpack_require__(5))(50);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/@girder/large_image_annotation/annotations/geometry/rectangle.js from dll-reference girder_plugin_large_image_annotation\n// module id = 39\n// module chunks = 0","module.exports = (__webpack_require__(5))(51);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/@girder/large_image_annotation/annotations/geometry/ellipse.js from dll-reference girder_plugin_large_image_annotation\n// module id = 40\n// module chunks = 0","module.exports = (__webpack_require__(5))(52);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/@girder/large_image_annotation/annotations/geometry/circle.js from dll-reference girder_plugin_large_image_annotation\n// module id = 41\n// module chunks = 0","import _ from 'underscore';\nimport $ from 'jquery';\n\nimport {restRequest} from '@girder/core/rest';\nimport {AccessType} from '@girder/core/constants';\nimport eventStream from '@girder/core/utilities/EventStream';\nimport {getCurrentUser} from '@girder/core/auth';\nimport Panel from '@girder/slicer_cli_web/views/Panel';\nimport AnnotationModel from '@girder/large_image_annotation/models/AnnotationModel';\nimport {events as girderEvents} from '@girder/core';\n\nimport events from '../events';\nimport showSaveAnnotationDialog from '../dialogs/saveAnnotation';\n\nimport annotationSelectorWidget from '../templates/panels/annotationSelector.pug';\nimport '../stylesheets/panels/annotationSelector.styl';\n\n// Too many elements in the draw panel will crash the browser,\n// so we only allow editing of annotations with less than this\n// many elements.\nconst MAX_ELEMENTS_LIST_LENGTH = 5000;\n\n/**\n * Create a panel controlling the visibility of annotations\n * on the image view.\n */\nvar AnnotationSelector = Panel.extend({\n events: _.extend(Panel.prototype.events, {\n 'click .h-annotation-name': '_editAnnotation',\n 'click .h-toggle-annotation': 'toggleAnnotation',\n 'click .h-delete-annotation': 'deleteAnnotation',\n 'click .h-create-annotation': 'createAnnotation',\n 'click .h-edit-annotation-metadata': 'editAnnotationMetadata',\n 'click .h-show-all-annotations': 'showAllAnnotations',\n 'click .h-hide-all-annotations': 'hideAllAnnotations',\n 'mouseenter .h-annotation': '_highlightAnnotation',\n 'mouseleave .h-annotation': '_unhighlightAnnotation',\n 'change #h-toggle-labels': 'toggleLabels',\n 'change #h-toggle-interactive': 'toggleInteractiveMode',\n 'input #h-annotation-opacity': '_changeGlobalOpacity',\n 'input #h-annotation-fill-opacity': '_changeGlobalFillOpacity',\n 'click .h-annotation-select-by-region': 'selectAnnotationByRegion',\n 'click .h-annotation-group-name': '_toggleExpandGroup'\n }),\n\n /**\n * Create the panel.\n *\n * @param {object} settings\n * @param {AnnotationCollection} settings.collection\n * The collection representing the annotations attached\n * to the current image.\n */\n initialize(settings = {}) {\n this._expandedGroups = new Set();\n this._opacity = settings.opacity || 0.9;\n this._fillOpacity = settings.fillOpacity || 1.0;\n this._showAllAnnotationsState = false;\n this.listenTo(this.collection, 'sync remove update reset change:displayed change:loading', this._debounceRender);\n this.listenTo(this.collection, 'change:highlight', this._changeAnnotationHighlight);\n this.listenTo(eventStream, 'g:event.job_status', _.debounce(this._onJobUpdate, 500));\n this.listenTo(eventStream, 'g:eventStream.start', this._refreshAnnotations);\n this.listenTo(eventStream, 'g:event.large_image_annotation.create', this._refreshAnnotations);\n this.listenTo(eventStream, 'g:event.large_image_annotation.remove', this._refreshAnnotations);\n this.listenTo(this.collection, 'change:annotation change:groups', this._saveAnnotation);\n this.listenTo(girderEvents, 'g:login', () => {\n this.collection.reset();\n this._parentId = undefined;\n });\n },\n\n _settingsFromConfig() {\n if (!this.parentView || !this.parentView._folderConfig || !this.parentView._folderConfig.settings) {\n return;\n }\n const settings = this.parentView._folderConfig.settings;\n if (this._showLabels === undefined && settings.annotationLabels !== undefined) {\n if (this._showLabels !== (settings.annotationLabels === true)) {\n this.toggleLabels();\n }\n }\n if (this._interactiveMode === undefined && settings.interactiveHover !== undefined) {\n if (this._interactiveMode !== (settings.interactiveHover === true)) {\n this.toggleInteractiveMode();\n }\n }\n },\n\n render() {\n this._settingsFromConfig();\n this._debounceRenderRequest = null;\n if (this.parentItem && this.parentItem.get('folderId')) {\n const annotationGroups = this._getAnnotationGroups();\n if (!this.viewer) {\n this.$el.empty();\n return;\n }\n this.$el.html(annotationSelectorWidget({\n id: 'annotation-panel-container',\n title: 'Annotations',\n activeAnnotation: this._activeAnnotation ? this._activeAnnotation.id : '',\n showLabels: this._showLabels,\n user: getCurrentUser() || {},\n creationAccess: this.creationAccess,\n writeAccessLevel: AccessType.WRITE,\n writeAccess: this._writeAccess,\n opacity: this._opacity,\n fillOpacity: this._fillOpacity,\n interactiveMode: this._interactiveMode,\n expandedGroups: this._expandedGroups,\n annotationGroups,\n annotationAccess: this._annotationAccess,\n collapsed: this.$('.s-panel-content.collapse').length && !this.$('.s-panel-content').hasClass('in'),\n _\n }));\n this._changeGlobalOpacity();\n this._changeGlobalFillOpacity();\n if (this._showAllAnnotationsState) {\n this.showAllAnnotations();\n }\n if (this._annotationAccess === undefined) {\n this._setCreationAccess(this, this.parentItem.get('folderId'));\n }\n }\n return this;\n },\n\n _debounceRender() {\n if (!this._debounceRenderRequest) {\n this._debounceRenderRequest = window.requestAnimationFrame(() => { this.render(); });\n }\n return this;\n },\n\n /**\n * Set the ItemModel associated with the annotation collection.\n * As a side effect, this resets the AnnotationCollection and\n * fetches annotations from the server associated with the\n * item.\n *\n * @param {ItemModel} item\n */\n setItem(item) {\n if (this._parentId === item.id) {\n return;\n }\n this.parentItem = item;\n this._parentId = item.id;\n delete this._setCreationRequest;\n delete this._annotationAccess;\n\n if (!this._parentId) {\n this.collection.reset();\n this._debounceRender();\n return;\n }\n this.collection.offset = 0;\n this.collection.reset();\n this.collection.fetch({itemId: this._parentId}).then(() => {\n let update;\n this.collection.each((model) => {\n if (((model.get('annotation') || {}).display || {}).visible === true) {\n model.set('displayed', true);\n update = true;\n }\n });\n if (update) {\n this._debounceRender();\n }\n return null;\n });\n return this;\n },\n\n /**\n * Set the image \"viewer\" instance. This should be a subclass\n * of `large_image/imageViewerWidget` that is capable of rendering\n * annotations.\n */\n setViewer(viewer) {\n this.viewer = viewer;\n return this;\n },\n\n /**\n * Toggle the rendering of a specific annotation. Sets the `displayed`\n * attribute of the `AnnotationModel`.\n */\n toggleAnnotation(evt) {\n var id = $(evt.currentTarget).parents('.h-annotation').data('id');\n var model = this.collection.get(id);\n\n // any manual change in the display state will reset the \"forced display\" behavior\n this._showAllAnnotationsState = false;\n model.set('displayed', !model.get('displayed'));\n if (!model.get('displayed')) {\n model.unset('highlight');\n this._deselectAnnotationElements(model);\n this._deactivateAnnotation(model);\n }\n },\n\n /**\n * Delete an annotation from the server.\n */\n deleteAnnotation(evt) {\n const id = $(evt.currentTarget).parents('.h-annotation').data('id');\n const model = this.collection.get(id);\n\n if (model) {\n const name = (model.get('annotation') || {}).name || 'unnamed annotation';\n events.trigger('h:confirmDialog', {\n title: 'Warning',\n message: `Are you sure you want to delete ${name}?`,\n submitButton: 'Delete',\n onSubmit: () => {\n this.trigger('h:deleteAnnotation', model);\n model.unset('displayed');\n model.unset('highlight');\n this.collection.remove(model);\n if (model._saving) {\n model._saveAgain = 'delete';\n } else {\n model.destroy();\n }\n }\n });\n }\n },\n\n editAnnotationMetadata(evt) {\n const id = $(evt.currentTarget).parents('.h-annotation').data('id');\n const model = this.collection.get(id);\n this.listenToOnce(\n showSaveAnnotationDialog(model, {title: 'Edit annotation', viewer: this.viewer}),\n 'g:submit',\n () => {\n if (model.get('displayed')) {\n this.trigger('h:redraw', model);\n }\n }\n );\n },\n\n _setCreationAccess(root, folderId) {\n if (!this._setCreationRequest) {\n this._setCreationRequest = restRequest({\n type: 'GET',\n url: 'annotation/folder/' + folderId + '/create',\n error: null\n });\n }\n this._setCreationRequest.done((createResp) => {\n root.creationAccess = createResp;\n root.$('.h-create-annotation').toggleClass('hidden', !createResp);\n if (this.parentItem && this.parentItem.get('folderId') === folderId) {\n this._annotationAccess = true;\n }\n }).fail(() => {\n root.$('.h-create-annotation').toggleClass('hidden', true);\n if (this.parentItem && this.parentItem.get('folderId') === folderId) {\n this._annotationAccess = false;\n }\n });\n },\n\n _onJobUpdate(evt) {\n if (this.parentItem && evt.data.status > 2) {\n this._refreshAnnotations();\n }\n },\n\n _refreshAnnotations() {\n if (this._norefresh) {\n delete this._norefresh;\n return;\n }\n if (!this.parentItem || !this.parentItem.id || !this.viewer) {\n return;\n }\n // if any annotations are saving, defer this\n if (!this.viewer._saving) {\n this.viewer._saving = {};\n }\n delete this.viewer._saving.refresh;\n if (Object.keys(this.viewer._saving).length) {\n this.viewer._saving.refresh = true;\n return;\n }\n var models = this.collection.indexBy(_.property('id'));\n this.collection.offset = 0;\n this.collection.fetch({itemId: this.parentItem.id}).then(() => {\n var activeId = (this._activeAnnotation || {}).id;\n this.collection.each((model) => {\n if (!_.has(models, model.id)) {\n if (((model.get('annotation') || {}).display || {}).visible !== false) {\n model.set('displayed', true);\n }\n } else {\n let refreshed = false;\n if (models[model.id].get('displayed')) {\n if (model.get('_version') !== models[model.id].get('_version')) {\n model.refresh(true);\n model.set('displayed', true);\n refreshed = true;\n } else {\n model._centroids = models[model.id]._centroids;\n model._elements = models[model.id]._elements;\n }\n }\n if (!refreshed) {\n // set without triggering a change; a change reloads\n // and rerenders, which is only done if it has changed\n // (above)\n model.attributes.displayed = models[model.id].get('displayed');\n }\n }\n });\n this._debounceRender();\n this._activeAnnotation = null;\n if (activeId) {\n this._setActiveAnnotation(this.collection.get(activeId));\n }\n // remove annotations that are displayed but have been deleted\n Object.keys(models).forEach((id) => {\n if (!this.collection.get(id) && models[id].get('displayed')) {\n this._deselectAnnotationElements(models[id]);\n this.viewer.removeAnnotation(models[id]);\n }\n if (activeId === id) {\n this.trigger('h:deleteAnnotation', models[id]);\n }\n });\n return null;\n });\n },\n\n toggleLabels(evt) {\n this._showLabels = !this._showLabels;\n this.trigger('h:toggleLabels', {\n show: this._showLabels\n });\n },\n\n toggleInteractiveMode(evt) {\n this._interactiveMode = !this._interactiveMode;\n this.trigger('h:toggleInteractiveMode', this._interactiveMode);\n },\n\n interactiveMode() {\n return this._interactiveMode;\n },\n\n _editAnnotation(evt) {\n var id = $(evt.currentTarget).parents('.h-annotation').data('id');\n this.editAnnotation(this.collection.get(id));\n },\n\n editAnnotation(model) {\n // deselect the annotation if it is already selected\n if (this._activeAnnotation && model && this._activeAnnotation.id === model.id) {\n this._activeAnnotation = null;\n this.trigger('h:editAnnotation', null);\n this._debounceRender();\n return;\n }\n\n if (!this._writeAccess(model)) {\n events.trigger('g:alert', {\n text: 'You do not have write access to this annotation.',\n type: 'warning',\n timeout: 2500,\n icon: 'info'\n });\n return;\n }\n this._setActiveAnnotation(model);\n },\n\n _setActiveAnnotation(model) {\n this._activeAnnotation = model || null;\n if (this._activeAnnotation === null) {\n return;\n }\n\n if (!((model.get('annotation') || {}).elements || []).length) {\n // Only load the annotation if it hasn't already been loaded.\n // Technically, an annotation *could* have 0 elements, in which\n // case loading it again should be quick. There doesn't seem\n // to be any other way to detect an unloaded annotation.\n model.set('loading', true);\n model.fetch().done(() => {\n this._setActiveAnnotationWithoutLoad(model);\n }).always(() => {\n model.unset('loading');\n });\n } else {\n this._setActiveAnnotationWithoutLoad(model);\n }\n },\n\n _setActiveAnnotationWithoutLoad(model) {\n const numElements = ((model.get('annotation') || {}).elements || []).length;\n if (this._activeAnnotation && this._activeAnnotation.id !== model.id) {\n return;\n }\n model.set('displayed', true);\n\n if (numElements > MAX_ELEMENTS_LIST_LENGTH || model._pageElements) {\n events.trigger('g:alert', {\n text: 'This annotation has too many elements to be edited.',\n type: 'warning',\n timeout: 5000,\n icon: 'info'\n });\n this._activeAnnotation = null;\n this.trigger('h:editAnnotation', null);\n } else {\n this.trigger('h:editAnnotation', model);\n }\n },\n\n createAnnotation(evt) {\n var model = new AnnotationModel({\n itemId: this.parentItem.id,\n annotation: {}\n });\n this.listenToOnce(\n showSaveAnnotationDialog(model, {title: 'Create annotation'}),\n 'g:submit',\n () => {\n this._norefresh = true;\n model.save().done(() => {\n model.set('displayed', true);\n this.collection.add(model);\n this.trigger('h:editAnnotation', model);\n this._activeAnnotation = model;\n });\n }\n );\n },\n\n _saveAnnotation(annotation) {\n if (this.viewer && !this.viewer._saving) {\n this.viewer._saving = {};\n }\n const vsaving = (this.viewer || {})._saving || {};\n if (!annotation._saving && !annotation._inFetch && !annotation.get('loading')) {\n vsaving[annotation.id] = true;\n this.$el.addClass('saving');\n const lastSaveAgain = annotation._saveAgain;\n annotation._saving = true;\n annotation._saveAgain = false;\n if (annotation.elements().models.filter((model) => model.get('type') === 'pixelmap').length === 0) {\n this.trigger('h:redraw', annotation);\n }\n annotation.save().fail(() => {\n /* If we fail to save (possible because the server didn't\n * respond), try again, gradually backing off the frequency\n * of retries. */\n annotation._saveAgain = Math.min(lastSaveAgain ? lastSaveAgain * 2 : 5, 300);\n }).always(() => {\n annotation._saving = false;\n delete vsaving[annotation.id];\n if (annotation._saveAgain !== undefined && annotation._saveAgain !== false) {\n if (annotation._saveAgain === 'delete') {\n annotation.destroy();\n } else if (!annotation._saveAgain) {\n this._saveAnnotation(annotation);\n } else {\n vsaving[annotation.id] = true;\n window.setTimeout(() => {\n if (annotation._saveAgain !== undefined && annotation._saveAgain !== false) {\n this._saveAnnotation(annotation);\n }\n }, annotation._saveAgain * 1000);\n }\n }\n if (Object.keys(vsaving).length === 1 && vsaving.refresh) {\n this._refreshAnnotations();\n }\n if (!Object.keys(vsaving).length || (Object.keys(vsaving).length === 1 && vsaving.refresh)) {\n this.$el.removeClass('saving');\n }\n });\n } else if (!annotation._inFetch && !annotation.get('loading')) {\n /* if we are saving, flag that we need to save again after we\n * finish as there are newer changes. */\n if (annotation._saveAgain !== 'delete') {\n annotation._saveAgain = 0;\n }\n if (annotation.elements().models.filter((model) => model.get('type') === 'pixelmap').length === 0) {\n this.trigger('h:redraw', annotation);\n }\n } else {\n annotation._saveAgain = false;\n delete vsaving[annotation.id];\n if (annotation.elements().models.filter((model) => model.get('type') === 'pixelmap').length === 0) {\n this.trigger('h:redraw', annotation);\n }\n if (Object.keys(vsaving).length === 1 && vsaving.refresh) {\n this._refreshAnnotations();\n }\n if (!Object.keys(vsaving).length || (Object.keys(vsaving).length === 1 && vsaving.refresh)) {\n this.$el.removeClass('saving');\n }\n }\n },\n\n _writeAccess(annotation, needsOwn) {\n if (needsOwn) {\n return annotation.get('_accessLevel') >= AccessType.ADMIN;\n }\n return annotation.get('_accessLevel') >= AccessType.WRITE;\n },\n\n _deactivateAnnotation(model) {\n if (this._activeAnnotation && this._activeAnnotation.id === model.id) {\n this._activeAnnotation = null;\n this.trigger('h:editAnnotation', null);\n this._debounceRender();\n }\n },\n\n _deselectAnnotationElements(model) {\n this.parentView.trigger('h:deselectAnnotationElements', {model});\n },\n\n showAllAnnotations() {\n this._showAllAnnotationsState = true;\n this.collection.each((model) => {\n model.set('displayed', true);\n });\n },\n\n hideAllAnnotations() {\n this._showAllAnnotationsState = false;\n this.collection.each((model) => {\n model.set('displayed', false);\n this._deselectAnnotationElements(model);\n this._deactivateAnnotation(model);\n });\n },\n\n selectAnnotationByRegionActive() {\n const btn = this.$('.h-annotation-select-by-region');\n return !!btn.hasClass('active');\n },\n\n selectAnnotationByRegion(polygon) {\n const btn = this.$('.h-annotation-select-by-region');\n // listen to escape key\n $(document).on('keydown.h-annotation-select-by-region', (evt) => {\n if (evt.keyCode === 27) {\n this.selectAnnotationByRegionCancel();\n }\n });\n this.listenToOnce(this.parentView, 'h:selectedElementsByRegion', () => {\n btn.removeClass('active');\n $(document).off('keydown.h-annotation-select-by-region');\n });\n\n if (!btn.hasClass('active')) {\n btn.addClass('active');\n this.parentView.trigger('h:selectElementsByRegion', {polygon: polygon === true});\n } else {\n this.selectAnnotationByRegionCancel();\n }\n },\n\n selectAnnotationByRegionCancel() {\n const btn = this.$('.h-annotation-select-by-region');\n if (btn.hasClass('active')) {\n btn.removeClass('active');\n $(document).off('keydown.h-annotation-select-by-region');\n this.parentView.trigger('h:selectElementsByRegionCancel');\n }\n },\n\n _highlightAnnotation(evt) {\n const id = $(evt.currentTarget).data('id');\n const model = this.collection.get(id);\n if (model.get('displayed')) {\n this.parentView.trigger('h:highlightAnnotation', id);\n }\n },\n\n _unhighlightAnnotation() {\n this.parentView.trigger('h:highlightAnnotation');\n },\n\n _changeAnnotationHighlight(model) {\n this.$(`.h-annotation[data-id=\"${model.id}\"]`).toggleClass('h-highlight-annotation', model.get('highlighted'));\n },\n\n _changeGlobalOpacity() {\n this._opacity = this.$('#h-annotation-opacity').val();\n this.$('.h-annotation-opacity-container')\n .attr('title', `Annotation total opacity ${(this._opacity * 100).toFixed()}%`);\n this.trigger('h:annotationOpacity', this._opacity);\n },\n\n _changeGlobalFillOpacity() {\n this._fillOpacity = this.$('#h-annotation-fill-opacity').val();\n this.$('.h-annotation-fill-opacity-container')\n .attr('title', `Annotation fill opacity ${(this._fillOpacity * 100).toFixed()}%`);\n this.trigger('h:annotationFillOpacity', this._fillOpacity);\n },\n\n _toggleExpandGroup(evt) {\n const name = $(evt.currentTarget).parent().data('groupName');\n if (this._expandedGroups.has(name)) {\n this._expandedGroups.delete(name);\n } else {\n this._expandedGroups.add(name);\n }\n this._debounceRender();\n },\n\n _getAnnotationGroups() {\n // Annotations without elements don't have any groups, so we inject the null group\n // so that they are displayed in the panel.\n this.collection.each((a) => {\n const groups = a.get('groups') || [];\n if (!groups.length) {\n groups.push(null);\n }\n });\n const groupObject = {};\n const groups = _.union(...this.collection.map((a) => a.get('groups')));\n _.each(groups, (group) => {\n const groupList = this.collection.filter(\n (a) => _.contains(a.get('groups'), group));\n\n if (group === null) {\n group = 'Other';\n }\n groupObject[group] = _.sortBy(groupList, (a) => a.get('created'));\n });\n this._triggerGroupCountChange(groupObject);\n return groupObject;\n },\n\n _triggerGroupCountChange(groups) {\n const groupCount = {};\n _.each(groups, (annotations, name) => {\n if (name !== 'Other') {\n groupCount[name] = annotations.length;\n } else {\n groupCount[this.parentView._defaultGroup || 'default'] = annotations.length;\n }\n });\n this.trigger('h:groupCount', groupCount);\n }\n});\n\nexport default AnnotationSelector;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/panels/AnnotationSelector.js","import _ from 'underscore';\nimport $ from 'jquery';\nimport tinycolor from 'tinycolor2';\n\nimport {AccessType} from '@girder/core/constants';\nimport {formatDate, DATE_SECOND} from '@girder/core/misc';\nimport AccessWidget from '@girder/core/views/widgets/AccessWidget';\n// import MetadataWidget from '@girder/core/views/widgets/MetadataWidget';\nimport View from '@girder/core/views/View';\n\nimport MetadataWidget from '../panels/MetadataWidget';\nimport '../stylesheets/dialogs/saveAnnotation.styl';\nimport saveAnnotation from '../templates/dialogs/saveAnnotation.pug';\nimport {elementAreaAndEdgeLength} from '../views/utils';\n\n/**\n * Collect styleable properties from user parameters in elements.\n *\n * @param {object} styleableFuncs An object with distinct keys for functions.\n * Modified.\n * @param {array} elements A list of elements which might contain metadata\n * properties in the user key.\n * @param {array} [root] A list of keys within objects in an element.\n */\nfunction collectStyleableProps(styleableFuncs, elements, root) {\n const maxCategories = 20;\n\n const children = {};\n root = root || [];\n let key = 'user';\n for (let j = 0; j < root.length; j += 1) {\n key += '.' + root[j];\n }\n for (let i = 0; i < elements.length; i += 1) {\n let proplist = elements[i].user;\n for (let j = 0; j < root.length; j += 1) {\n if (proplist) {\n proplist = proplist[root[j]];\n }\n }\n if (proplist !== undefined && proplist !== null) {\n if (proplist.substring || (proplist.toFixed && _.isFinite(proplist))) {\n if (styleableFuncs[key] === undefined) {\n styleableFuncs[key] = {\n root,\n key,\n name: root.map((k) => k.replace('_', ' ')).join(' - '),\n categoric: !proplist.toFixed\n };\n styleableFuncs[key].values = [proplist];\n if (!styleableFuncs[key].categoric) {\n styleableFuncs[key].min = styleableFuncs[key].max = +proplist;\n }\n } else {\n if (styleableFuncs[key].values.length <= maxCategories) {\n if (styleableFuncs[key].values.indexOf(proplist) < 0) {\n if (styleableFuncs[key].values.length >= maxCategories) {\n styleableFuncs[key].manyValues = true;\n } else {\n styleableFuncs[key].values.push(proplist);\n }\n }\n }\n if (!styleableFuncs[key].categoric) {\n const val = +proplist;\n if (val < styleableFuncs[key].min) {\n styleableFuncs[key].min = val;\n }\n if (val > styleableFuncs[key].max) {\n styleableFuncs[key].max = val;\n }\n }\n }\n } else {\n Object.keys(proplist).forEach((subkey) => {\n children[subkey] = true;\n });\n }\n }\n }\n Object.keys(children).forEach((subkey) => {\n const subroot = root.slice();\n subroot.push(subkey);\n collectStyleableProps(styleableFuncs, elements, subroot);\n });\n}\n\n/**\n * Calculate the min/max values for calculated properties.\n *\n * @param {object} styleableFuncs An object with distinct keys for functions.\n * Modified.\n * @param {array} elements A list of elements which might contain metadata\n * properties in the user key.\n */\nfunction rangeStyleableProps(styleableFuncs, elements) {\n let needsArea = true;\n Object.entries(styleableFuncs).forEach(([key, func]) => {\n if (['perimeter', 'area', 'length'].indexOf(key) >= 0) {\n needsArea = true;\n return;\n }\n if (!func.calc) {\n return;\n }\n for (let i = 0; i < elements.length; i += 1) {\n const d = elements[i];\n if (d[key] !== undefined) {\n if (func.min === undefined) {\n func.min = func.max = d[key];\n }\n if (d[key] < func.min) {\n func.min = d[key];\n }\n if (d[key] > func.max) {\n func.max = d[key];\n }\n }\n }\n });\n if (needsArea) {\n for (let i = 0; i < elements.length; i += 1) {\n const element = elements[i];\n const {area, edge} = elementAreaAndEdgeLength({el: element});\n if (styleableFuncs.area && area) {\n if (styleableFuncs.area.min === undefined) {\n styleableFuncs.area.min = styleableFuncs.area.max = area;\n styleableFuncs.area.values = new Array(elements.length);\n }\n styleableFuncs.area.values[i] = area;\n if (area < styleableFuncs.area.min) {\n styleableFuncs.area.min = area;\n }\n if (area > styleableFuncs.area.max) {\n styleableFuncs.area.max = area;\n }\n }\n if (styleableFuncs.length && edge) {\n if (styleableFuncs.length.min === undefined) {\n styleableFuncs.length.min = styleableFuncs.length.max = edge;\n styleableFuncs.length.values = new Array(elements.length);\n }\n styleableFuncs.length.values[i] = edge;\n if (edge < styleableFuncs.length.min) {\n styleableFuncs.length.min = edge;\n }\n if (edge > styleableFuncs.length.max) {\n styleableFuncs.length.max = edge;\n }\n }\n if (styleableFuncs.perimeter && edge) {\n if (styleableFuncs.perimeter.min === undefined) {\n styleableFuncs.perimeter.min = styleableFuncs.perimeter.max = edge;\n styleableFuncs.perimeter.values = new Array(elements.perimeter);\n }\n styleableFuncs.perimeter.values[i] = edge;\n if (edge < styleableFuncs.perimeter.min) {\n styleableFuncs.perimeter.min = edge;\n }\n if (edge > styleableFuncs.perimeter.max) {\n styleableFuncs.perimeter.max = edge;\n }\n }\n }\n }\n}\n\n/**\n * Given an element and a color function, compute the color needed.\n *\n * @param {elementModel} element The element for which to compute a color\n * @param {number} idx The index in the element collection\n * @param {object} colorParam A functioon record with prepared min, max,\n * range, minColor, and maxColor values.\n * @param {object} funcInfo Information about the function. If calc is true,\n * values is an array of precomputed values. Otherwise, root is an\n * attribute path in the element user object.\n * @returns {string} A color string.\n */\nfunction colorFromFunc(element, idx, colorParam, funcInfo) {\n const geo = window.geo;\n let val;\n if (funcInfo.calc) {\n val = funcInfo.values[idx];\n } else {\n val = element.get('user');\n for (let i = 0; i < funcInfo.root.length; i += 1) {\n val = (val || {})[funcInfo.root[i]];\n }\n }\n if (!_.isFinite(val)) {\n return 'rgba(0,0,0,0)';\n }\n val = Math.max(Math.min((val - colorParam.min) / colorParam.range, 1), 0);\n if (colorParam.minColor.a === undefined) {\n colorParam.minColor.a = 1;\n }\n if (colorParam.maxColor.a === undefined) {\n colorParam.maxColor.a = 1;\n }\n const clr = {\n r: val * (colorParam.maxColor.r - colorParam.minColor.r) + colorParam.minColor.r,\n g: val * (colorParam.maxColor.g - colorParam.minColor.g) + colorParam.minColor.g,\n b: val * (colorParam.maxColor.b - colorParam.minColor.b) + colorParam.minColor.b,\n a: val * (colorParam.maxColor.a - colorParam.minColor.a) + colorParam.minColor.a\n };\n return geo.util.convertColorToRGBA(clr);\n}\n\n/**\n * Create a modal dialog with fields to edit the properties of\n * an annotation before POSTing it to the server.\n */\nvar SaveAnnotation = View.extend({\n events: {\n 'click .h-access': 'access',\n 'click .h-cancel': 'cancel',\n\n 'input #h-annotation-fill-color': 'checkFixedIfPresent',\n 'changeColor #h-annotation-colorpicker-fill-color': 'checkFixedIfPresent',\n 'change #h-annotation-fill-color-func-list': 'changeFillColorFunc',\n 'input #h-annotation-fill-color-min-val': () => $('.h-functional-value #h-annotation-fill-color-min-setval').prop('checked', true),\n 'input #h-annotation-fill-color-max-val': () => $('.h-functional-value #h-annotation-fill-color-max-setval').prop('checked', true),\n\n 'input #h-annotation-line-color': 'checkFixedIfPresent',\n 'changeColor #h-annotation-colorpicker-line-color': 'checkFixedIfPresent',\n 'change #h-annotation-line-color-func-list': 'changeLineColorFunc',\n 'input #h-annotation-line-color-min-val': () => $('.h-functional-value #h-annotation-line-color-min-setval').prop('checked', true),\n 'input #h-annotation-line-color-max-val': () => $('.h-functional-value #h-annotation-line-color-max-setval').prop('checked', true),\n\n 'submit form': 'save'\n },\n\n render() {\n // clean up old colorpickers when rerendering\n this.$('.h-colorpicker').colorpicker('destroy');\n\n let elementTypes = [];\n if (this.annotation.get('annotation').elements) {\n elementTypes = this.annotation.get('annotation').elements\n .map((element) => element.type === 'polyline' ? (element.closed ? 'polygon' : 'line') : element.type)\n .filter((type, index, types) => types.indexOf(type) === index);\n }\n // should be updated when additional shape elements are supported\n const elementTypeProps = {\n point: [],\n polygon: ['perimeter', 'area'],\n line: ['length'],\n rectangle: ['perimeter', 'area', 'width', 'height', 'rotation'],\n arrow: ['length'],\n circle: ['perimeter', 'area', 'radius'],\n ellipse: ['perimeter', 'area', 'width', 'height', 'rotation']\n };\n const annotationHasEditableElements = _.filter(elementTypes, (type) => elementTypeProps[type] !== undefined).length > 0;\n const showStyleEditor = this.annotation.get('annotation').elements && !this.annotation._pageElements && annotationHasEditableElements;\n\n const defaultStyles = {};\n\n const styleableFuncs = {};\n if (showStyleEditor) {\n let scale;\n if (this.options.viewer && this.options.viewer._scale) {\n scale = this.options.viewer._scale.scale;\n }\n elementTypes.forEach((type) => {\n (elementTypeProps[type] || []).forEach((key) => {\n styleableFuncs[key] = {calc: true, key, scale, name: key};\n });\n });\n const elements = this.annotation.get('annotation').elements;\n rangeStyleableProps(styleableFuncs, elements);\n collectStyleableProps(styleableFuncs, elements.filter((d) => d.user));\n const firstElement = elements[0];\n if (elements.every((d) => d.lineWidth === firstElement.lineWidth)) {\n defaultStyles.lineWidth = firstElement.lineWidth;\n }\n if (elements.every((d) => d.lineColor === firstElement.lineColor)) {\n defaultStyles.lineColor = firstElement.lineColor;\n }\n if (elements.every((d) => d.fillColor === firstElement.fillColor)) {\n defaultStyles.fillColor = firstElement.fillColor;\n }\n }\n this._showStyleEditor = showStyleEditor;\n this._styleableFuncs = styleableFuncs;\n\n let _styleFuncs;\n if (this.annotation.attributes.annotation.attributes) {\n _styleFuncs = this.annotation.attributes.annotation.attributes._styleFuncs;\n }\n if (!_styleFuncs || !_styleFuncs.lineColor || !_styleFuncs.fillColor || !_styleFuncs.lineWidth) {\n _styleFuncs = {lineColor: {}, lineWidth: {}, fillColor: {}};\n }\n this.annotation._styleFuncs = _styleFuncs;\n\n this.$el.html(\n saveAnnotation({\n title: this.options.title,\n hasAdmin: this.annotation.get('_accessLevel') >= AccessType.ADMIN,\n annotation: this.annotation.toJSON().annotation,\n model: this.annotation,\n formatDate,\n DATE_SECOND,\n showStyleEditor,\n styleableFuncs,\n styleFuncs: this.annotation._styleFuncs,\n defaultStyles\n })\n ).girderModal(this);\n this.$('.h-colorpicker').colorpicker();\n\n if (this.annotation.id) {\n if (!this.annotation.meta) {\n this.annotation._meta = Object.assign({}, (this.annotation.get('annotation') || {}).attributes || {});\n delete this.annotation._meta._styleFuncs;\n }\n // copy the metadata to a place that is expected for the widget\n if (!this.metadataWidget) {\n this.metadataWidget = new MetadataWidget({\n item: this.annotation,\n parentView: this,\n fieldName: '_meta',\n accessLevel: this.annotation.get('_accessLevel'),\n panel: false,\n noSave: true\n });\n }\n this.metadataWidget.setItem(this.annotation);\n this.metadataWidget.accessLevel = this.annotation.get('_accessLevel');\n this.metadataWidget.setElement(this.$('.hui-annotation-metadata')).render();\n }\n\n this.$el.find('.modal-dialog').addClass('hui-save-annotation-dialog');\n this._updateFuncValues();\n return this;\n },\n\n access(evt) {\n evt.preventDefault();\n this.annotation.off('g:accessListSaved');\n new AccessWidget({\n el: $('#g-dialog-container'),\n type: 'annotation',\n hideRecurseOption: true,\n parentView: this,\n model: this.annotation,\n noAccessFlag: true\n }).on('g:accessListSaved', () => {\n this.annotation.fetch();\n });\n },\n\n cancel(evt) {\n if (this.annotation) {\n delete this.annotation._meta;\n delete this.annotation._styleFuncs;\n }\n evt.preventDefault();\n this.$el.modal('hide');\n },\n\n changeFillColorFunc() {\n $('.h-functional-value #h-annotation-fill-color-func').prop('checked', true);\n this._updateFuncValues();\n },\n\n changeLineColorFunc() {\n $('.h-functional-value #h-annotation-line-color-func').prop('checked', true);\n this._updateFuncValues();\n },\n\n checkFixedIfPresent(evt) {\n const val = $(evt.target).closest('.row').find('input[type=\"text\"]').val();\n if ((val || '').trim().length) {\n $(evt.target).closest('.row').find('input[type=\"radio\"]').prop('checked', true);\n }\n },\n\n _updateFuncValues() {\n var names = ['fill-color', 'line-color'];\n names.forEach((name) => {\n const curfunc = this.$el.find('#h-annotation-' + name + '-func-list').val();\n let mintext = '';\n let maxtext = '';\n if (this._styleableFuncs[curfunc]) {\n if (!this._styleableFuncs[curfunc].categoric) {\n mintext = 'Minimum value: ' + this._styleableFuncs[curfunc].min;\n maxtext = 'Maximum value: ' + this._styleableFuncs[curfunc].max;\n }\n }\n this.$el.find('#h-annotation-' + name + '-min-auto').parent().attr('title', mintext);\n this.$el.find('#h-annotation-' + name + '-min-setval').parent().attr('title', mintext);\n this.$el.find('#h-annotation-' + name + '-max-auto').parent().attr('title', maxtext);\n this.$el.find('#h-annotation-' + name + '-max-setval').parent().attr('title', maxtext);\n });\n },\n\n _getFunctionalProps(name, key, valueParam, setValue, color) {\n var geo = window.geo;\n\n const valueFunc = this.annotation._styleFuncs[key];\n valueFunc.useFunc = this.$('#h-annotation-' + name + '-func').prop('checked');\n valueFunc.key = this.$('#h-annotation-' + name + '-func-list').val();\n valueFunc.minColor = tinycolor(this.$('#h-annotation-' + name + '-min').val()).toRgbString();\n valueFunc.minSet = this.$('#h-annotation-' + name + '-min-setval').prop('checked');\n valueFunc.minValue = parseFloat(this.$('#h-annotation-' + name + '-min-val').val());\n valueFunc.minValue = _.isFinite(valueFunc.minValue) ? valueFunc.minValue : undefined;\n valueFunc.maxColor = tinycolor(this.$('#h-annotation-' + name + '-max').val()).toRgbString();\n valueFunc.maxSet = this.$('#h-annotation-' + name + '-max-setval').prop('checked');\n valueFunc.maxValue = parseFloat(this.$('#h-annotation-' + name + '-max-val').val());\n valueFunc.maxValue = _.isFinite(valueFunc.maxValue) ? valueFunc.maxValue : undefined;\n if (valueFunc.useFunc) {\n setValue = 'func';\n }\n valueParam.key = valueFunc.key;\n if (this._styleableFuncs[valueFunc.key]) {\n valueParam.min = valueFunc.minSet && _.isFinite(valueFunc.minValue) ? valueFunc.minValue : this._styleableFuncs[valueFunc.key].min;\n valueParam.max = valueFunc.maxSet && _.isFinite(valueFunc.maxValue) ? valueFunc.maxValue : this._styleableFuncs[valueFunc.key].max;\n valueParam.range = (valueParam.max - valueParam.min) || 1;\n valueParam.minColor = geo.util.convertColor(valueFunc.minColor);\n valueParam.maxColor = geo.util.convertColor(valueFunc.maxColor);\n } else if (setValue === 'func') {\n setValue = false;\n }\n return setValue;\n },\n\n /**\n * Respond to form submission. Triggers a `g:save` event on the\n * AnnotationModel.\n */\n save(evt) {\n evt.preventDefault();\n\n let validation = '';\n\n if (!this.$('#h-annotation-name').val()) {\n this.$('#h-annotation-name').parent().addClass('has-error');\n validation += 'Please enter a name. ';\n }\n\n let setFillColor = !!this.$('#h-annotation-fill-color').val();\n let fillColor = tinycolor(this.$('#h-annotation-fill-color').val()).toRgbString();\n let setLineColor = !!this.$('#h-annotation-line-color').val();\n let lineColor = tinycolor(this.$('#h-annotation-line-color').val()).toRgbString();\n const setLineWidth = !!this.$('#h-annotation-line-width').val();\n const lineWidth = parseFloat(this.$('#h-annotation-line-width').val());\n\n if (setLineWidth && (lineWidth < 0 || !isFinite(lineWidth))) {\n validation += 'Invalid line width. ';\n this.$('#h-annotation-line-width').parent().addClass('has-error');\n }\n\n const fillColorParam = {};\n const lineColorParam = {};\n if (this._showStyleEditor && Object.keys(this._styleableFuncs || {}).length) {\n // get functional values\n setFillColor = this._getFunctionalProps('fill-color', 'fillColor', fillColorParam, setFillColor, true);\n setLineColor = this._getFunctionalProps('line-color', 'lineColor', lineColorParam, setLineColor, true);\n }\n\n if (validation) {\n this.$('.g-validation-failed-message').text(validation.trim())\n .removeClass('hidden');\n return;\n }\n\n // all valid\n if (setFillColor || setLineColor || setLineWidth) {\n this.annotation.elements().each((element, idx) => { /* eslint-disable backbone/no-silent */\n if (setFillColor) {\n if (setFillColor === 'func') {\n fillColor = colorFromFunc(element, idx, fillColorParam, this._styleableFuncs[fillColorParam.key]);\n }\n element.set('fillColor', fillColor, {silent: true});\n }\n if (setLineColor) {\n if (setLineColor === 'func') {\n lineColor = colorFromFunc(element, idx, lineColorParam, this._styleableFuncs[lineColorParam.key]);\n }\n element.set('lineColor', lineColor, {silent: true});\n }\n if (setLineWidth) {\n element.set('lineWidth', lineWidth, {silent: true});\n }\n });\n const annotationData = _.extend({}, this.annotation.get('annotation'));\n annotationData.elements = this.annotation.elements().toJSON();\n this.annotation.set('annotation', annotationData, {silent: true});\n }\n\n const visible = this.$('#h-annotation-visible').prop('checked');\n const display = this.annotation.get('annotation').display || {};\n if (visible) {\n display.visible = true;\n } else if (display.visible === true) {\n display.visible = false;\n }\n _.extend(this.annotation.get('annotation'), {\n name: this.$('#h-annotation-name').val(),\n description: this.$('#h-annotation-description').val()\n });\n if (display !== {}) {\n this.annotation.get('annotation').display = display;\n }\n this.annotation.attributes.annotation.attributes = Object.assign({}, this.annotation._meta);\n this.annotation.attributes.annotation.attributes._styleFuncs = this.annotation._styleFuncs;\n delete this.annotation._meta;\n delete this.annotation._styleFuncs;\n this.annotation.trigger('change:annotation', this.annotation, {});\n this.trigger('g:submit');\n this.$el.modal('hide');\n },\n\n destroy() {\n this.$('.h-colorpicker').colorpicker('destroy');\n SaveAnnotation.prototype.destroy.call(this);\n }\n});\n\n/**\n * Create a singleton instance of this widget that will be rendered\n * when `show` is called.\n */\nvar dialog = new SaveAnnotation({\n parentView: null\n});\n\n/**\n * Show the save dialog box. Watch for the `g:submit` event on the\n * view to respond to user submission of the form.\n *\n * @param {AnnotationModel} annotationElement The element to edit\n * @returns {SaveAnnotation} The dialog's view\n */\nfunction show(annotation, options) {\n _.defaults(options, {title: 'Create annotation'});\n delete annotation._meta;\n dialog.annotation = annotation;\n dialog.options = options;\n dialog.setElement('#g-dialog-container').render();\n return dialog;\n}\n\nexport default show;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/dialogs/saveAnnotation.js","import $ from 'jquery';\nimport _ from 'underscore';\n\nimport Panel from '@girder/slicer_cli_web/views/Panel';\nimport {AccessType} from '@girder/core/constants';\nimport {MetadataWidget, liMetadataKeyEntry} from '@girder/large_image/views/metadataWidget';\n\nimport metadataWidgetPanelTemplate from '../templates/panels/metadataWidgetPanel.pug';\nimport '../stylesheets/panels/metadataWidget.styl';\n\n/**\n * This widget shows a list of metadata in a given item.\n */\nvar MetadataWidgetPanel = Panel.extend({\n events: _.extend(Panel.prototype.events, MetadataWidget.prototype.events, {\n 'click .h-panel-maximize': function (event) {\n this.expand(event);\n this.$('.s-panel-content').addClass('in');\n const panelElem = this.$el.closest('.s-panel');\n const maximize = !panelElem.hasClass('h-panel-maximized');\n panelElem.toggleClass('h-panel-maximized', maximize);\n panelElem.toggleClass('s-no-panel-toggle', maximize);\n }\n }),\n\n /**\n * Creates a widget to display and optionally edit metadata fields.\n *\n * @param settings.item {Model} The model object whose metadata to display.\n * Can be any model type that inherits MetadataMixin.\n * @param [settings.fieldName='meta'] {string} The name of the model attribute\n * to display/edit. The model attribute with this name should be an object\n * whose top level keys represent metadata keys.\n * @param [settings.title='Metadata'] {string} Title for the widget.\n * @param [settings.apiPath] {string} The relative API path to use when editing\n * metadata keys for this model. Defaults to using the MetadataMixin default path.\n * @param [settings.accessLevel=AccessType.READ] {AccessType} The\n * access level for this widget. Use READ for read-only, or WRITE (or greater)\n * for adding editing capabilities as well.\n * @param [settings.onMetadataAdded] {Function} A custom callback for when a\n * new metadata key is added to the list. If passed, will override the\n * default behavior of calling MetadataMixin.addMetadata.\n * @param [settings.onMetadataEdited] {Function} A custom callback for when an\n * existing metadata key is updated. If passed, will override the default\n * behavior of calling MetadataMixin.editMetadata.\n */\n\n initialize: function (settings) {\n MetadataWidget.prototype.initialize.call(this, settings);\n this.panel = settings.panel === undefined ? true : settings.panel;\n // the event is created\n this.on('li-metadata-widget-update', (event) => {\n this.renderMetadataWidgetHeader(event);\n });\n },\n\n renderMetadataWidgetHeader: function () {\n // prevent automatically collapsing the widget after rendering again\n this.render();\n },\n\n render: function () {\n if (this.item && this.item.id) {\n let func = this.item.getAccessLevel;\n if (this.item.get('_modelType') === 'annotation') {\n func = (callback) => {\n const accessLevel = this.item.getAccessLevel();\n callback(accessLevel);\n };\n }\n func.call(this.item, (accessLevel) => {\n this.accessLevel = accessLevel;\n MetadataWidget.prototype.render.call(this);\n });\n }\n return this;\n },\n\n _renderHeader: function (contents) {\n contents = $(contents).closest('.btn-group.pull-right').html();\n let firstKey = this._sortedMetaKeys[0];\n let firstValue = this._renderedMetaDict[firstKey];\n firstKey = liMetadataKeyEntry(this._limetadata, firstKey) ? liMetadataKeyEntry(this._limetadata, firstKey).title || firstKey : firstKey;\n if (_.isObject(firstValue)) {\n // if the value is a json object, JSON.stringify to make it more readable\n firstValue = JSON.stringify(firstValue);\n }\n this.$el.html(metadataWidgetPanelTemplate({\n contents,\n accessLevel: this.item.attributes._accessLevel,\n AccessType,\n firstKey,\n firstValue,\n panel: this.panel,\n title: this.title,\n collapsed: this.panel && !this.$('.s-panel-content').hasClass('in') && !this.$el.closest('.s-panel').hasClass('h-panel-maximized')\n }));\n if (this.parentView && this.parentView._orderPanels) {\n this.parentView._orderPanels();\n }\n }\n});\n\nMetadataWidgetPanel.prototype.modes = MetadataWidget.prototype.modes;\nMetadataWidgetPanel.prototype.setItem = MetadataWidget.prototype.setItem;\nMetadataWidgetPanel.prototype.getModeFromValue = MetadataWidget.prototype.getModeFromValue;\nMetadataWidgetPanel.prototype.addMetadata = function (evt, mode) {\n // expand the widget when adding new metadata\n this.$('.s-panel-content').collapse('show');\n return MetadataWidget.prototype.addMetadata.call(this, evt, mode);\n};\nMetadataWidgetPanel.prototype.addMetadataByKey = function (evt) {\n // expand the widget when adding new metadata\n this.$('.s-panel-content').collapse('show');\n return MetadataWidget.prototype.addMetadataByKey.call(this, evt);\n};\n\nexport default MetadataWidgetPanel;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/panels/MetadataWidget.js","import $ from 'jquery';\nimport 'url-search-params-polyfill';\n\nimport View from '@girder/core/views/View';\nimport {formatSize} from '@girder/core/misc';\n\nimport editRegionOfInterest from '../templates/dialogs/editRegionOfInterest.pug';\nimport '../stylesheets/panels/zoomWidget.styl';\n\nvar EditRegionOfInterest = View.extend({\n events: {\n 'change .update-form': 'updateform'\n },\n\n initialize() {\n this._sizeCte = 1000; // Constante to find\n this._format = 'JPEG'; // JPEG is the default format\n this._compressionRatio = 0.35; // JPEG ratio\n this._magnification = 0;\n },\n\n render() {\n if (this._magnification <= 1) {\n this._magnification = 1;\n } else if (this._magnification >= this.areaElement.maxMag) {\n this._magnification = this.areaElement.maxMag;\n }\n var bounds = this.scaleBounds();\n this.$el.html(\n editRegionOfInterest({\n magnification: this._magnification,\n scaleWidth: bounds.width,\n scaleHeight: bounds.height,\n maxMag: this.areaElement.maxMag,\n numberOfPixel: this.getNumberPixels(),\n fileSize: this.getConvertFileSize()\n })\n ).girderModal(this);\n this.updateform();\n return this;\n },\n\n /**\n * Convert from zoom level to magnification.\n */\n zoomToMagnification(zoom) {\n return Math.round(parseFloat(this.areaElement.maxMag) *\n Math.pow(2, zoom - parseFloat(this.areaElement.maxZoom)) * 10) / 10;\n },\n\n /**\n * Convert from magnification to zoom level.\n */\n magnificationToZoom(magnification) {\n return parseFloat(this.areaElement.maxZoom) -\n Math.log2(this.areaElement.maxMag / magnification);\n },\n\n /**\n * Convert from magnification to zoom level.\n */\n scaleBounds() {\n var zoom = this.magnificationToZoom(this._magnification);\n var factor = Math.pow(2, zoom - this.areaElement.maxZoom);\n var scaleWidth = Math.round(factor * this.areaElement.width);\n var scaleHeight = Math.round(factor * this.areaElement.height);\n return {width: scaleWidth, height: scaleHeight};\n },\n\n /**\n * Get the number of pixel in the region of interest\n */\n getNumberPixels() {\n var bounds = this.scaleBounds();\n var pixelNumber = bounds.width * bounds.height;\n return pixelNumber;\n },\n\n /**\n * Get the size of the file before download it for an image in 24b/px (result in Bytes)\n */\n getFileSize() {\n var fileSize = (this.getNumberPixels() * 3 + this._sizeCte) * this._compressionRatio;\n return fileSize;\n },\n\n /**\n * Get the size of the file in the appropriate unity (Bytes, MB, GB...)\n */\n getConvertFileSize() {\n var bytesNumber = this.getFileSize();\n var convertedSize = formatSize(bytesNumber);\n this.downloadDisable(bytesNumber >= Math.pow(2, 30));\n return convertedSize;\n },\n\n /**\n * Disable the Download button if SizeFile > 1GB\n */\n downloadDisable(bool) {\n this.$('#h-download-area-link').unbind('click');\n if (bool) {\n this.$('#h-download-area-link').attr('disabled', 'disabled');\n this.$('#h-msgDisable').removeClass('hidden');\n this.$('#h-download-area-link').bind('click', (ev) => ev.preventDefault());\n } else {\n this.$('#h-download-area-link').removeAttr('disabled');\n this.$('#h-msgDisable').addClass('hidden');\n this.$('#h-download-area-link').bind('click', () => { this.$el.girderModal('close'); });\n }\n },\n\n /**\n * Set the size of the file, bounds, format...\n * And download the image\n */\n updateform(evt) {\n const selectedOption = $('#h-download-image-format option:selected').text();\n switch (selectedOption) {\n case 'PNG':\n this._format = 'PNG';\n this._compressionRatio = 0.7;\n break;\n case 'TIFF':\n this._format = 'TIFF';\n this._compressionRatio = 0.8;\n break;\n case 'JPEG':\n default:\n // JPEG is the default format\n this._format = 'JPEG';\n this._compressionRatio = 0.35;\n break;\n }\n this._magnification = parseFloat($('#h-element-mag').val());\n const bounds = this.scaleBounds();\n this.$('#h-element-width').val(bounds.width);\n this.$('#h-element-height').val(bounds.height);\n this.$('#h-nb-pixel').val(this.getNumberPixels());\n this.$('#h-size-file').val(this.getConvertFileSize());\n this.$('#h-download-area-link').attr('href', this.getUrl());\n },\n\n /**\n * Get all data from the form and set the attributes of the\n * Region of Interest (triggering a change event)\n * Return the url to download the image\n */\n getUrl() {\n const left = this.areaElement.left;\n const top = this.areaElement.top;\n const right = left + this.areaElement.width;\n const bottom = top + this.areaElement.height;\n const magnification = parseFloat($('#h-element-mag').val());\n const params = {\n regionWidth: this.areaElement.width,\n regionHeight: this.areaElement.height,\n left,\n top,\n right,\n bottom,\n encoding: this._format,\n contentDisposition: 'attachment',\n magnification\n };\n let urlView = this.areaElement.frameAndUrl.url.replace('/zxy/{z}/{x}/{y}', '/region');\n for (const [key, value] of new URLSearchParams(urlView.replace(/[^?]*(\\?|$)/, ''))) {\n if (params[key] === undefined) {\n params[key] = value;\n }\n }\n urlView = urlView.replace(/\\?.*$/, '') + '?' + $.param(params);\n return urlView;\n }\n});\n\n/**\n * Create a singleton instance of this widget that will be rendered\n * when `show` is called.\n */\nvar dialog = new EditRegionOfInterest({\n parentView: null\n});\n\n/**\n * Show the edit dialog box. Watch for change events on the passed\n * `ElementModel` to respond to user submission of the form.\n *\n * @param {ElementModel} areaElement The element to edit\n * @returns {EditRegionOfInterest} The dialog's view\n */\nfunction show(areaElement) {\n dialog.areaElement = areaElement;\n dialog._magnification = parseFloat(areaElement.magnification);\n dialog.setElement('#g-dialog-container').render();\n return dialog;\n}\n\nexport default show;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/dialogs/editRegionOfInterest.js","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@girder/histomicsui/stylesheets/panels/zoomWidget.styl\n// module id = 46\n// module chunks = 0","import View from '@girder/core/views/View';\n\nimport metadataPlotDialog from '../templates/dialogs/metadataPlot.pug';\nimport '@girder/core/utilities/jquery/girderModal';\n\nconst MetadataPlotDialog = View.extend({\n events: {\n 'click .h-submit': '_submit'\n },\n\n initialize(settings) {\n this.plotConfig = settings.plotConfig;\n this.plotOptions = settings.plotOptions;\n },\n\n render() {\n this.$el.html(\n metadataPlotDialog({\n plotConfig: this.plotConfig,\n plotOptions: this.plotOptions\n })\n ).girderModal(this);\n return this;\n },\n\n _submit(evt) {\n evt.preventDefault();\n const configOptions = {\n folder: this.$('#h-plot-folder').is(':checked'),\n format: this.$('#h-plot-format').val()\n };\n ['x', 'y', 'r', 'c', 's'].forEach((series) => {\n const val = this.$('#h-plot-series-' + series).val();\n if (val !== '_none_' && val !== undefined) {\n configOptions[series] = val;\n }\n });\n this.result = configOptions;\n this.$el.modal('hide');\n }\n});\n\nexport default MetadataPlotDialog;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/dialogs/metadataPlot.js","/* globals geo */\nimport _ from 'underscore';\nimport $ from 'jquery';\n\nimport events from '@girder/core/events';\nimport Panel from '@girder/slicer_cli_web/views/Panel';\nimport {getCurrentUser} from '@girder/core/auth';\n\nimport convertAnnotation from '@girder/large_image_annotation/annotations/geojs/convert';\nimport convertRectangle from '@girder/large_image_annotation/annotations/geometry/rectangle';\nimport convertEllipse from '@girder/large_image_annotation/annotations/geometry/ellipse';\nimport convertCircle from '@girder/large_image_annotation/annotations/geometry/circle';\n\nimport StyleCollection from '../collections/StyleCollection';\nimport StyleModel from '../models/StyleModel';\nimport editElement from '../dialogs/editElement';\nimport editStyleGroups from '../dialogs/editStyleGroups';\nimport drawWidget from '../templates/panels/drawWidget.pug';\nimport drawWidgetElement from '../templates/panels/drawWidgetElement.pug';\nimport '../stylesheets/panels/drawWidget.styl';\n\n/**\n * Create a panel with controls to draw and edit\n * annotation elements.\n */\nvar DrawWidget = Panel.extend({\n events: _.extend(Panel.prototype.events, {\n 'click .h-edit-element': 'editElement',\n 'click .h-view-element': 'viewElement',\n 'click .h-delete-element': 'deleteElement',\n 'click .h-draw': 'drawElement',\n 'click .h-group-count-option .h-group-count-select': 'selectElementsInGroup',\n 'change .h-style-group': '_setToSelectedStyleGroup',\n 'change .h-brush-shape,.h-brush-size,.h-brush-screen': '_changeBrush',\n 'change .h-fixed-shape,.h-fixed-height,.h-fixed-width': '_changeShapeConstraint',\n 'click .h-configure-style-group': '_styleGroupEditor',\n 'mouseenter .h-element': '_highlightElement',\n 'mouseleave .h-element': '_unhighlightElement',\n 'click .h-dropdown-title': '_dropdownControlClick'\n }),\n\n /**\n * Create the panel.\n *\n * @param {object} settings\n * @param {ItemModel} settings.image\n * The associate large_image \"item\"\n */\n initialize(settings) {\n this.image = settings.image;\n this.annotation = settings.annotation;\n this.collection = this.annotation.elements();\n this.newElementDisplayIdStart = this.collection.length;\n this.viewer = settings.viewer;\n this.setViewer(settings.viewer);\n this.setAnnotationSelector(settings.annotationSelector);\n this._drawingType = settings.drawingType || null;\n\n this._localId = (getCurrentUser() || {}).id || 'local';\n this._editOptions = this._getEditOptions()[this._localId] || {};\n this._verifyEditOptions(this._editOptions, false);\n\n this._highlighted = {};\n this._groups = new StyleCollection();\n this._style = new StyleModel({id: this.parentView._defaultGroup});\n this.listenTo(this._groups, 'add change', this._handleStyleGroupsUpdate);\n this.listenTo(this._groups, 'remove', this.render);\n this.listenTo(this.collection, 'add remove reset', this._recalculateGroupAggregation);\n this.listenTo(this.collection, 'change update reset', this.render);\n this._groups.fetch().done(() => {\n // ensure the default style exists\n if (this._groups.has(this.parentView._defaultGroup)) {\n this._style.set(this._groups.get(this.parentView._defaultGroup).toJSON());\n } else {\n this._groups.add(this._style.toJSON());\n this._groups.get(this._style.id).save();\n }\n if (this._editOptions.style && this._groups.get(this._editOptions.style)) {\n this._setStyleGroup(this._groups.get(this._editOptions.style).toJSON());\n }\n });\n this.on('h:mouseon', (model) => {\n if (model && model.id) {\n this._highlighted[model.id] = true;\n this.$(`.h-element[data-id=\"${model.id}\"]`).addClass('h-highlight-element');\n }\n });\n this.on('h:mouseoff', (model) => {\n if (model && model.id) {\n this._highlighted[model.id] = false;\n this.$(`.h-element[data-id=\"${model.id}\"]`).removeClass('h-highlight-element');\n }\n });\n },\n\n render(updatedElement) {\n if (!this.viewer) {\n this.$el.empty();\n delete this._skipRenderHTML;\n return;\n }\n const name = (this.annotation.get('annotation') || {}).name || 'Untitled';\n if (!updatedElement || (updatedElement.attributes && updatedElement.get('type') !== 'pixelmap')) {\n this.trigger('h:redraw', this.annotation);\n }\n if (this._skipRenderHTML) {\n delete this._skipRenderHTML;\n } else {\n this.$el.html(drawWidget({\n title: 'Draw',\n elements: this.collection.models,\n groups: this._groups,\n style: this._style.id,\n defaultGroup: this.parentView._defaultGroup,\n highlighted: this._highlighted,\n name,\n opts: this._editOptions,\n drawingType: this._drawingType,\n collapsed: this.$('.s-panel-content.collapse').length && !this.$('.s-panel-content').hasClass('in'),\n firstRender: true,\n displayIdStart: 0\n }));\n this.$('.h-dropdown-content').collapse({toggle: false});\n }\n this.$('button.h-draw[data-type]').removeClass('active');\n if (this.$('.h-group-count-option').length > 0) {\n this.$('.h-group-count-options').append(this.$('.h-group-count-option'));\n } else {\n this.$('.h-group-count').hide();\n }\n if (this.$('.h-group-count-option.pixelmap').length > 0) {\n this.$('.h-group-count-option.pixelmap').remove();\n for (const element of this.collection.models) {\n if (element.attributes.type === 'pixelmap') {\n this.countPixelmap(element, 1);\n }\n }\n }\n if (this._drawingType) {\n this.$('button.h-draw[data-type=\"' + this._drawingType + '\"]').addClass('active');\n this.drawElement(undefined, this._drawingType);\n }\n this._bindHUIModeChange();\n this._updateConstraintValueInputs();\n return this;\n },\n\n _bindHUIModeChange() {\n if (this.viewer.annotationLayer && this.viewer.annotationLayer._boundHUIModeChange !== this) {\n this.viewer.annotationLayer._boundHUIModeChange = this;\n this.viewer.annotationLayer.geoOff(geo.event.annotation.mode);\n this.viewer.annotationLayer.geoOn(geo.event.annotation.mode, (event) => {\n if (event.mode === this.viewer.annotationLayer.modes.edit || event.oldmode === this.viewer.annotationLayer.modes.edit) {\n return;\n }\n this.$('button.h-draw').removeClass('active');\n if (this._drawingType) {\n this.$('button.h-draw[data-type=\"' + this._drawingType + '\"]').addClass('active');\n }\n if (event.mode !== this._drawingType && this._drawingType) {\n /* This makes the draw modes stay on until toggled off.\n * To turn off drawing after each annotation, add\n * this._drawingType = null;\n */\n this.drawElement(undefined, this._drawingType);\n }\n });\n }\n },\n\n /**\n * When a region should be drawn that isn't caused by a drawing button,\n * toggle off the drawing mode.\n *\n * @param {event} Girder event that triggered drawing a region.\n */\n _widgetDrawRegion(evt) {\n if (this._drawingType) {\n this.viewer.annotationLayer.mode(null);\n this.viewer.annotationLayer.geoOff(geo.event.annotation.state);\n }\n this._drawingType = null;\n this.$('button.h-draw').removeClass('active');\n },\n\n /**\n * Set the image \"viewer\" instance. This should be a subclass\n * of `large_image/imageViewerWidget` that is capable of rendering\n * annotations.\n */\n setViewer(viewer) {\n this.viewer = viewer;\n // make sure our listeners are in the correct order.\n this.stopListening(events, 's:widgetDrawRegionEvent', this._widgetDrawRegion);\n if (viewer) {\n this.listenTo(events, 's:widgetDrawRegionEvent', this._widgetDrawRegion);\n viewer.stopListening(events, 's:widgetDrawRegionEvent', viewer.drawRegion);\n viewer.listenTo(events, 's:widgetDrawRegionEvent', viewer.drawRegion);\n }\n return this;\n },\n\n /**\n * Set the image 'annotationSelector' instance.\n */\n setAnnotationSelector(annotationSelector) {\n this.annotationSelector = annotationSelector;\n return this;\n },\n\n /**\n * Respond to a click on the \"edit\" button by rendering\n * the EditAnnotation modal dialog.\n */\n editElement(evt) {\n var origGroup = this.collection.get(this._getId(evt)).attributes.group;\n var dialog = editElement(this.collection.get(this._getId(evt)));\n this.listenToOnce(dialog, 'h:editElement', (obj) => {\n if (obj.edited) {\n // update the html immediately instead of rerendering it\n const id = obj.element.id,\n label = (obj.data.label || {}).value,\n elemType = obj.element.get('type'),\n group = obj.data.group;\n let newLabel = '';\n const labelElement = this.$(`.h-element[data-id=\"${id}\"] .h-element-label`);\n const oldLabel = labelElement.text().split(' ');\n if (label) {\n newLabel = label;\n } else if (['point', 'polyline', 'rectangle', 'ellipse', 'circle'].includes(elemType)) {\n let oldnum = parseInt(oldLabel[oldLabel.length - 1] || '');\n if (!_.isFinite(oldnum)) {\n oldnum = '';\n }\n newLabel = `${group || this.parentView._defaultGroup} ${elemType} ${oldnum}`;\n } else {\n newLabel = oldLabel;\n }\n this.$(`.h-element[data-id=\"${id}\"] .h-element-label`).text(newLabel).attr('title', label);\n if (origGroup !== group && ['point', 'polyline', 'rectangle', 'ellipse', 'circle'].includes(elemType)) {\n this.updateCount(origGroup || this.parentView._defaultGroup, -1);\n this.updateCount(group || this.parentView._defaultGroup, 1);\n }\n }\n this._skipRenderHTML = true;\n });\n },\n\n /**\n * Respond to a click on the \"view\" button by changing the\n * viewer location and zoom level to focus on one annotation\n */\n viewElement(evt) {\n const annot = this.collection._byId[$(evt.target).parent().attr('data-id')];\n let points;\n let pointAnnot = false;\n switch (annot.get('type')) {\n case 'point':\n points = [annot.get('center')];\n pointAnnot = true;\n break;\n case 'polyline':\n points = annot.get('points');\n break;\n case 'rectangle':\n points = convertRectangle(annot.attributes).coordinates[0];\n break;\n case 'ellipse':\n points = convertEllipse(annot.attributes).coordinates[0];\n break;\n case 'circle':\n points = convertCircle(annot.attributes).coordinates[0];\n break;\n }\n const xCoords = points.map((point) => point[0]);\n const yCoords = points.map((point) => point[1]);\n const bounds = {\n left: Math.min(...xCoords),\n top: Math.min(...yCoords),\n right: Math.max(...xCoords),\n bottom: Math.max(...yCoords)\n };\n const map = this.parentView.viewer;\n const originalZoomRange = map.zoomRange();\n map.zoomRange({\n min: Number.NEGATIVE_INFINITY,\n max: Number.POSITIVE_INFINITY\n });\n const newView = pointAnnot\n ? {\n center: {\n x: bounds.left,\n y: bounds.top\n },\n zoom: false\n }\n : map.zoomAndCenterFromBounds(bounds, map.rotation());\n map.zoomRange({\n min: originalZoomRange.origMin,\n max: originalZoomRange.max\n });\n if (Math.abs(newView.zoom - 1.5 - map.zoom()) <= 0.5 && map.zoom() < newView.zoom) {\n newView.zoom = false;\n }\n const distance = ((newView.center.x - map.center().x) ** 2 + (newView.center.y - map.center().y) ** 2) ** 0.5;\n map.transition({\n center: newView.center,\n zoom: newView.zoom === false ? map.zoom() : newView.zoom - 1.5,\n duration: Math.min(1000, Math.max(100, distance)),\n endClamp: false,\n interp: distance < 500 ? undefined : window.d3.interpolateZoom,\n ease: window.d3.easeExpInOut\n });\n this._skipRenderHTML = true;\n },\n\n /**\n * Respond to a click on the \"delete\" button by removing\n * the element from the element collection.\n */\n deleteElement(evt, id, opts) {\n if (evt) {\n id = this._getId(evt);\n }\n if (['point', 'polyline', 'rectangle', 'ellipse', 'circle'].includes(this.collection.get(id).attributes.type)) {\n this.updateCount(this.collection.get(id).attributes.group || this.parentView._defaultGroup, -1);\n } else if (this.collection.get(id).attributes.type === 'pixelmap') {\n this.countPixelmap(this.collection.get(id), -1);\n }\n this.$(`.h-element[data-id=\"${id}\"]`).remove();\n this._skipRenderHTML = true;\n this.collection.remove(id, opts);\n this.newElementDisplayIdStart = +(this.$el.find('.h-element>span.h-element-label[display_id]').last().attr('display_id') || 0);\n },\n\n /**\n * Add a list of elements, updating the element container efficiently.\n *\n * @params {object[]} elements The list of elements to add to the\n * collection.\n */\n addElements(elements) {\n this._skipRenderHTML = true;\n elements = this.collection.add(elements);\n this.$el.find('.h-elements-container').append(\n drawWidgetElement({\n elements,\n style: this._style.id,\n defaultGroup: this.parentView._defaultGroup,\n highlighted: this._highlighted,\n firstRender: false,\n updateCount: this.updateCount,\n displayIdStart: this.newElementDisplayIdStart\n })\n );\n this.newElementDisplayIdStart += elements.length;\n if (this.$('.h-group-count-option.pixelmap').length > 0) {\n this.$('.h-group-count-option.pixelmap').remove();\n for (const element of this.collection.models) {\n if (element.attributes.type === 'pixelmap') {\n this.countPixelmap(element, 1);\n }\n }\n }\n },\n\n /**\n * Specify how precise ellipses are when converted to polygons.\n */\n _pixelTolerance() {\n /* null : use default,1/10 pixel at max map zoom */\n // return null;\n /* number : pixel tolerance at current screen resolution */\n return 0.25;\n /* number / unitsPerPixel(zoom) : pixel tolerance on base image */\n // return 0.5 / this.viewer.viewer.unitsPerPixel(this.viewer.viewer.zoom();\n },\n\n /**\n * Apply a boolean operation to the existign polygons.\n *\n * @param {geo.annotation[]} annotations The list of specified geojs\n * annotations.\n * @param {object} opts An object with the current boolean operation.\n * @returns {boolean} true if the operation was handled.\n */\n _applyBooleanOp(annotations, evtOpts) {\n if (!evtOpts.asPolygonList && (annotations.length !== 1 || !annotations[0].toPolygonList)) {\n return false;\n }\n const op = evtOpts.currentBooleanOperation;\n const existing = this.viewer._annotations[this.annotation.id].features.filter((f) => ['polygon', 'marker'].indexOf(f.featureType) >= 0);\n const polylist = evtOpts.asPolygonList ? annotations : annotations[0].toPolygonList({pixelTolerance: this._pixelTolerance()});\n if (!existing.length && polylist.length < 2) {\n return false;\n }\n const searchPoly = [];\n polylist.forEach((poly) => poly[0].forEach((pt) => searchPoly.push({x: pt[0], y: pt[1]})));\n const near = existing.map((f) => f.polygonSearch(\n searchPoly,\n {partial: true}, null));\n if (!near.some((n) => n.found.length) && polylist.length < 2) {\n return false;\n }\n const oldids = {};\n const geojson = {type: 'FeatureCollection', features: []};\n near.forEach((n) => n.found.forEach((element) => {\n // filter to match current style group\n if (element.properties.element && element.properties.element.group !== this._style.get('group')) {\n return;\n }\n element.properties.annotationId = element.properties.annotation;\n geojson.features.push(element);\n oldids[element.id] = true;\n }));\n if (!geojson.features.length && polylist.length < 2) {\n return false;\n }\n this.viewer.annotationLayer.removeAllAnnotations(undefined, false);\n this.viewer.annotationLayer.geojson(geojson);\n const opts = {\n correspond: {},\n keepAnnotations: 'exact',\n style: this.viewer.annotationLayer,\n pixelTolerance: this._pixelTolerance()\n };\n geo.util.polyops[op](this.viewer.annotationLayer, polylist, opts);\n const newAnnot = this.viewer.annotationLayer.annotations();\n\n this.viewer.annotationLayer.removeAllAnnotations(undefined, false);\n const elements = newAnnot.map((annot) => {\n const result = convertAnnotation(annot);\n if (!result.id) {\n result.id = this.viewer._guid();\n }\n return result;\n }).filter((annot) => !annot.points || annot.points.length);\n Object.keys(oldids).forEach((id) => this.deleteElement(undefined, id, {silent: elements.length}));\n this.addElements(\n _.map(elements, (el) => {\n el = _.extend(el, _.omit(this._style.toJSON(), 'id'));\n if (!this._style.get('group')) {\n delete el.group;\n }\n return el;\n })\n );\n return true;\n },\n\n /**\n * When the brish is set to a specific screen size, adjust the size on zoom\n * events.\n */\n _brushPan() {\n const zoom = this.viewer.viewer.zoom();\n if (zoom !== this._brushZoom) {\n this._brushZoom = zoom;\n let size = parseFloat(this._editOptions.brush_size) || 50;\n size *= this.viewer.viewer.unitsPerPixel(this._brushZoom);\n this._setBrushCoordinates(this.viewer.annotationLayer.annotations()[0], size);\n this.viewer.viewer.draw();\n }\n },\n\n /**\n * Based on the current mouse position, compute the size and position of\n * the current brush.\n *\n * @param {geo.annotation} annot The annotation to adjust.\n * @param {number} size The size of the brush.\n */\n _setBrushCoordinates(annot, size) {\n const center = this.viewer.viewer.interactor().mouse().mapgcs || {x: 0, y: 0};\n annot._coordinates([\n {x: center.x - size / 2, y: center.y - size / 2},\n {x: center.x - size / 2, y: center.y + size / 2},\n {x: center.x + size / 2, y: center.y + size / 2},\n {x: center.x + size / 2, y: center.y - size / 2}]);\n annot.modified();\n },\n\n /**\n * Handle a click or drag action for the current brush.\n *\n * @param {geo.event} evt The event that trigger this. This will either be\n * a cursor_action or cursor_click event. If no boolean operation is\n * specified, it is a union operation.\n */\n _brushAction(evt) {\n let annotations = this.viewer.annotationLayer.toPolygonList({pixelTolerance: this._pixelTolerance()});\n let elements = [convertAnnotation(this.viewer.annotationLayer.annotations()[0])];\n if (!elements[0].id) {\n elements[0].id = this.viewer._guid();\n }\n const opts = {\n currentBooleanOperation: evt.operation || 'union',\n asPolygonList: true\n };\n if (evt.event === geo.event.annotation.cursor_action) {\n if (evt.operation && evt.operation !== 'union' && evt.operation !== 'difference') {\n return;\n }\n // if this is the same action as the previous one, \"blur\" the brush\n // shapes along the direction of travel\n if (this._lastBrushState && this._lastBrushState.stateId && this._lastBrushState.stateId === evt.evt.state.stateId) {\n const shape = this._editOptions.brush_shape || 'square';\n let size = parseFloat(this._editOptions.brush_size) || 50;\n if (this._editOptions.brush_screen) {\n size *= this.viewer.viewer.unitsPerPixel(this._brushZoom);\n }\n const bbox1 = this.viewer.annotationLayer.annotations()[0]._coordinates();\n const bbox2 = this._lastBrushState.bbox;\n if (bbox1[0].x !== bbox2[0].x || bbox1[0].y !== bbox2[0].y) {\n let blur;\n if (shape === 'square') {\n const order = (bbox1[0].x - bbox2[0].x) * (bbox1[0].y - bbox2[0].y) < 0 ? 0 : 1;\n blur = [[[\n [bbox1[order].x, bbox1[order].y],\n [bbox1[order + 2].x, bbox1[order + 2].y],\n [bbox2[order + 2].x, bbox2[order + 2].y],\n [bbox2[order].x, bbox2[order].y]\n ]]];\n } else {\n const c1x = (bbox1[0].x + bbox1[2].x) * 0.5;\n const c1y = (bbox1[0].y + bbox1[2].y) * 0.5;\n const c2x = (bbox2[0].x + bbox2[2].x) * 0.5;\n const c2y = (bbox2[0].y + bbox2[2].y) * 0.5;\n const ang = Math.atan2(c2y - c1y, c2x - c1x) + Math.PI / 2;\n blur = [[[\n [c1x + size / 2 * Math.cos(ang), c1y + size / 2 * Math.sin(ang)],\n [c1x - size / 2 * Math.cos(ang), c1y - size / 2 * Math.sin(ang)],\n [c2x - size / 2 * Math.cos(ang), c2y - size / 2 * Math.sin(ang)],\n [c2x + size / 2 * Math.cos(ang), c2y + size / 2 * Math.sin(ang)]\n ]]];\n }\n annotations = geo.util.polyops.union(annotations, blur);\n elements = [{\n type: 'polyline',\n closed: true,\n points: annotations[0][0].map((pt) => ({x: pt[0], y: -pt[1], z: 0})),\n id: this.viewer._guid()\n }];\n }\n }\n this._lastBrushState = evt.evt.state;\n this._lastBrushState.bbox = this.viewer.annotationLayer.annotations()[0]._coordinates();\n } else {\n this._lastBrushState = null;\n }\n this._addDrawnElements(elements, annotations, opts);\n this._setBrushMode(true);\n // update sooner so that the hit test will work\n this.viewer.drawAnnotation(this.annotation);\n },\n\n /**\n * Switch to or update brush mode.\n *\n * @param {boolean} [forceRefresh] If true, update the annotation mode even\n * if it hasn't changed.\n */\n _setBrushMode(forceRefresh) {\n if (!this._brushPanBound) {\n this._brushPanBound = _.bind(this._brushPan, this);\n }\n this.viewer.annotationLayer.geoOff(geo.event.annotation.state);\n this.viewer.annotationLayer.geoOff(geo.event.annotation.cursor_click);\n this.viewer.annotationLayer.geoOff(geo.event.annotation.cursor_action);\n this.viewer.annotationLayer.geoOff(geo.event.pan, this._brushPanBound);\n this.viewer.annotationLayer.removeAllAnnotations();\n this.viewer.annotationLayer.geoOn(geo.event.annotation.cursor_click, (evt) => this._brushAction(evt));\n this.viewer.annotationLayer.geoOn(geo.event.annotation.cursor_action, (evt) => this._brushAction(evt));\n const shape = this._editOptions.brush_shape || 'square';\n let size = parseFloat(this._editOptions.brush_size) || 50;\n const scale = this._editOptions.brush_screen;\n if (scale) {\n this.viewer.annotationLayer.geoOn(geo.event.pan, this._brushPanBound);\n this._brushZoom = this.viewer.viewer.zoom();\n size *= this.viewer.viewer.unitsPerPixel(this._brushZoom);\n }\n const annot = geo.registries.annotations[shape === 'square' ? 'rectangle' : shape].func({layer: this.viewer.annotationLayer});\n this.viewer.annotationLayer.addAnnotation(annot);\n this._setBrushCoordinates(annot, size);\n this.viewer.annotationLayer.mode(this.viewer.annotationLayer.modes.cursor, annot);\n this._drawingType = 'brush';\n this.viewer.viewer.draw();\n },\n\n /**\n * After determining the elements intended by the current shape, add them\n * to the existing annotations with the appropriate boolean operation.\n *\n * @param {object[]} element An array of elements in our jsonschema format.\n * @param {geo.annotation[]|geo.polygonList} annotations The annotations to\n * add in a geojs format.\n */\n _addDrawnElements(element, annotations, opts) {\n opts = opts || {};\n if (opts.currentBooleanOperation) {\n const processed = this._applyBooleanOp(annotations, opts);\n if (processed || ['difference', 'intersect'].indexOf(opts.currentBooleanOperation) >= 0) {\n this.drawElement(undefined, this._drawingType);\n return undefined;\n }\n }\n // add current style group information\n this.addElements(\n _.map(element, (el) => {\n el = _.extend(el, _.omit(this._style.toJSON(), 'id'));\n if (!this._style.get('group')) {\n delete el.group;\n }\n return el;\n })\n );\n this.drawElement(undefined, this._drawingType);\n return undefined;\n },\n\n /**\n * Respond to clicking an element type by putting the image viewer into\n * \"draw\" mode.\n *\n * @param {jQuery.Event} [evt] The button click that triggered this event.\n * `undefined` to use a passed-in type.\n * @param {string|null} [type] If `evt` is `undefined`, switch to this draw\n * mode.\n * @param {boolean} [forceRefresh] If true, update the annotation mode even\n * if it hasn't changed.\n */\n drawElement(evt, type, forceRefresh) {\n if (type) {\n this._bindHUIModeChange();\n }\n var $el;\n if (evt) {\n $el = this.$(evt.currentTarget);\n $el.tooltip('hide');\n type = $el.hasClass('active') ? null : $el.data('type');\n } else {\n $el = this.$('button.h-draw[data-type=\"' + type + '\"]');\n }\n if (this.viewer.annotationLayer.mode() === type && this._drawingType === type && (!type || this.viewer.annotationLayer.currentAnnotation) && !forceRefresh) {\n return;\n }\n if (this.viewer.annotationLayer.mode()) {\n this._drawingType = null;\n this.viewer.annotationLayer.mode(null);\n this.viewer.annotationLayer.geoOff(geo.event.annotation.state);\n if (this._brushPanBound) {\n this.viewer.annotationLayer.geoOff(geo.event.pan, this._brushPanBound);\n }\n this.viewer.annotationLayer.removeAllAnnotations();\n }\n if (type === 'brush') {\n this._setBrushMode(forceRefresh);\n } else if (type) {\n this.parentView._resetSelection();\n // always show the active annotation when drawing a new element\n this.annotation.set('displayed', true);\n this._drawingType = type;\n\n const options = {modeOptions: {}};\n if (this._editOptions.size_mode === 'fixed_aspect_ratio') {\n options.modeOptions.constraint = this._editOptions.fixed_width / this._editOptions.fixed_height;\n } else if (this._editOptions.size_mode === 'fixed_size') {\n options.modeOptions.constraint = {width: this._editOptions.fixed_width, height: this._editOptions.fixed_height};\n }\n\n this.viewer.startDrawMode(type, options)\n .then((element, annotations, opts) => this._addDrawnElements(element, annotations, opts))\n .fail(() => {\n if (this._drawingType && this._drawingType !== this.viewer.annotationLayer.mode() && this.viewer.annotationLayer.mode() !== 'edit') {\n this.drawElement(undefined, this._drawingType, !!this._drawingType);\n }\n });\n }\n this.$('button.h-draw[data-type]').removeClass('active');\n if (this._drawingType) {\n if (this.parentView.annotationSelector) {\n this.parentView.annotationSelector.selectAnnotationByRegionCancel();\n }\n this.$('button.h-draw[data-type=\"' + this._drawingType + '\"]').addClass('active');\n }\n },\n\n cancelDrawMode() {\n this.drawElement(undefined, null);\n this.viewer.annotationLayer._boundHUIModeChange = false;\n this.viewer.annotationLayer.geoOff(geo.event.annotation.state);\n this.viewer.annotationLayer.geoOff(geo.event.annotation.mode);\n },\n\n drawingType() {\n return this._drawingType;\n },\n\n /**\n * Get the element id from a click event.\n */\n _getId(evt) {\n return this.$(evt.currentTarget).parent('.h-element').data('id');\n },\n\n /**\n * Fetch the current edit options from browser local storage. This is for\n * all users.\n *\n * @returns {object} The current edit options for all users.\n */\n _getEditOptions() {\n let hui = {};\n try {\n hui = JSON.parse(window.localStorage.getItem('histomicsui') || '{}');\n } catch (err) { }\n if (!_.isObject(hui)) {\n hui = {};\n }\n return hui;\n },\n\n /**\n * Set the current edit options for the current user.\n *\n * @param {object} [opts] A dictionary of options to update the existing\n * options. If unspecified, just store the current options.\n */\n _saveEditOptions(opts) {\n let update = false;\n if (opts) {\n Object.entries(opts).forEach(([key, value]) => {\n if (this._editOptions[key] !== value) {\n this._editOptions[key] = value;\n update = true;\n }\n });\n }\n if (update || !opts) {\n this._verifyEditOptions(this._editOptions);\n try {\n const hui = this._getEditOptions();\n hui[this._localId] = this._editOptions;\n window.localStorage.setItem('histomicsui', JSON.stringify(hui));\n } catch (err) {\n console.warn('Failed to write localStorage');\n console.log(err);\n }\n }\n },\n\n /**\n * Validate a set of edit options. Optional raise on error.\n *\n * @param {object} opts The options to validate and fix.\n * @param {boolean} [raiseOnError] If true, throw an error if validation\n * fails.\n */\n _verifyEditOptions(opts, raiseOnError) {\n if (raiseOnError && opts.brush_shape && ['square', 'circle'].indexOf(opts.brush_shape) < 0) {\n throw new Error('Brush is not a valid shape');\n }\n if (!opts.brush_shape || ['square', 'circle'].indexOf(opts.brush_shape) < 0) {\n opts.brush_shape = 'square';\n }\n if (raiseOnError && opts.brush_size && !(parseFloat(opts.brush_size) > 0)) {\n throw new Error('Brush size is not a positive number');\n }\n if (!opts.brush_size || !(parseFloat(opts.brush_size) > 0)) {\n opts.brush_size = 50;\n }\n if (!opts.size_mode) {\n opts.size_mode = 'unconstrained';\n }\n },\n\n updateCount(groupName, change) {\n const groupElem = $('.h-group-count-options > [data-group=\"' + groupName + '\"]');\n if (groupElem.length > 0) {\n const newCount = parseInt(groupElem.attr('data-count')) + change;\n groupElem.attr('data-count', newCount);\n if (newCount > 0) {\n for (const group of $('.h-group-count-option').toArray()) {\n const count = parseInt($(group).attr('data-count'));\n if (newCount > count) {\n $(group).before(groupElem);\n break;\n } else if (group !== groupElem[0] && newCount === count) {\n if ($(group).attr('data-group') < groupName) {\n $(group).after(groupElem);\n } else {\n $(group).before(groupElem);\n }\n break;\n } else if (group === $('.h-group-count-options:last-child')[0]) {\n $(group).after(groupElem);\n }\n }\n groupElem.find('.h-group-count-value').html(newCount + ' ' + groupName).show();\n } else {\n groupElem.remove();\n }\n } else if (change !== 0) {\n const span = ($('.h-group-count-option:first span.h-group-count-select')[0] || {}).outerHTML || '';\n const newrecord = '
' + change + ' ' + groupName + '' + span + '
';\n for (const group of $('.h-group-count-option').toArray().reverse()) {\n if ($(group).attr('data-count') > change || ($(group).attr('data-count') === change && $(group).attr('data-group') < groupName)) {\n $(group).after(newrecord);\n break;\n } else if (group === $('.h-group-count-options:first-child')[0]) {\n $(group).before(newrecord);\n }\n }\n if ($('.h-group-count-options > [data-group=\"' + groupName + '\"]').length === 0) {\n $('.h-group-count-options').append(newrecord);\n }\n }\n if ($('.h-group-count-option').length === 0) {\n $('.h-group-count').hide();\n } else {\n $('.h-group-count').show();\n }\n },\n\n countPixelmap(pixelmap, operation) {\n const toChange = {};\n for (let ix = 0; ix < pixelmap.get('values').length; ix++) {\n const groupName = (pixelmap.get('categories')[pixelmap.get('values')[ix]]).label || this.parentView._defaultGroup;\n if (toChange[groupName]) {\n toChange[groupName]++;\n } else {\n toChange[groupName] = 1;\n }\n }\n for (const group in toChange) {\n this.updateCount(group, operation * toChange[group]);\n }\n },\n\n /**\n * Set the current style group. This should take a plain object, not a\n * backbone object. Given a group name, this can be obtained by something\n * like\n * this._setStyleGroup(this._groups.get(groupName).toJSON());\n *\n * @param {object} group The new group.\n */\n _setStyleGroup(group) {\n group = Object.assign({}, group);\n Object.keys(group).forEach((k) => {\n if (!['fillColor', 'lineColor', 'lineWidth', 'label', 'group', 'id'].includes(k)) {\n delete group[k];\n }\n });\n this._style.set(group);\n if (!group.group && this._style.id !== this.parentView._defaultGroup) {\n this._style.set('group', this._style.id);\n } else if (this._style.get('group') && this._style.id === this.parentView._defaultGroup) {\n this._style.unset('group');\n }\n if (!group.label && this._style.get('label')) {\n this._style.unset('label');\n }\n this.$('.h-style-group').val(group.id);\n this._saveEditOptions({style: group.id});\n },\n\n /**\n * Set the current style group based on the current controls.\n */\n _setToSelectedStyleGroup() {\n this._setStyleGroup(this._groups.get(this.$('.h-style-group').val()).toJSON());\n },\n\n selectElementsInGroup(evt) {\n const group = $(evt.target).closest('[data-group]').attr('data-group');\n this.parentView._selectElementsByGroup(group);\n },\n\n /**\n * For a dropdown control widget, handle expanding and collapsing.\n *\n * @param {jquery.Event} e The event that triggered this toggle.\n */\n _dropdownControlClick(e) {\n e.stopImmediatePropagation();\n const content = $(e.target).parent().find('.h-dropdown-content');\n const isCollapsed = !content.hasClass('in');\n const buttons = $(e.target).closest('.h-draw-tools').find('.btn-group');\n buttons.find('.h-dropdown-content').each((idx, dropdown) => {\n dropdown = $(dropdown);\n if (!dropdown.is(content) && dropdown.hasClass('in')) {\n dropdown.collapse('toggle');\n dropdown.parent().find('.icon-up-open').removeClass('icon-up-open').addClass('icon-down-open');\n }\n });\n content.collapse('toggle');\n $(e.target).find('.icon-down-open,.icon-up-open').removeClass(\n isCollapsed ? 'icon-down-open' : 'icon-up-open').addClass(\n isCollapsed ? 'icon-up-open' : 'icon-down-open');\n // Select the corresponding radio button for the current size_mode\n $(`input[mode=\"${this._editOptions.size_mode || 'unconstrained'}\"]`, $(e.target.parentNode)).trigger('click');\n },\n\n /**\n * Change the size, shape, or screen flag on the current brush.\n */\n _changeBrush(e) {\n const opts = {\n brush_shape: this.$('.h-brush-shape:checked').attr('shape'),\n brush_size: parseFloat(this.$('.h-brush-size').val()),\n brush_screen: this.$('.h-brush-screen').is(':checked')\n };\n this._saveEditOptions(opts);\n this.$('.h-draw[data-type=\"brush\"]').attr('shape', this._editOptions.brush_shape);\n if (this._drawingType === 'brush') {\n this.drawElement(undefined, 'brush', true);\n }\n },\n\n /**\n * Show or hide width/height input depending on the currently selected drawing mode.\n */\n _updateConstraintValueInputs() {\n if (['fixed_aspect_ratio', 'fixed_size'].includes(this.$('.h-fixed-shape:checked').attr('mode'))) {\n this.$('.h-fixed-values').show();\n } else {\n this.$('.h-fixed-values').hide();\n }\n },\n\n /**\n * Update the width/height constraint for a shape being drawn with a fixed\n * aspect ratio or fixed size.\n */\n _changeShapeConstraint(evt) {\n const opts = {\n size_mode: this.$('.h-fixed-shape:checked').attr('mode'),\n fixed_width: parseFloat(this.$('.h-fixed-width').val()),\n fixed_height: parseFloat(this.$('.h-fixed-height').val())\n };\n this._saveEditOptions(opts);\n\n this._updateConstraintValueInputs();\n\n this.drawElement(null, this._drawingType, true);\n },\n\n /**\n * Cycle through available brush shapes.\n */\n nextBrushShape() {\n this.$('.h-brush-shape[name=\"h-brush-shape\"][shape=\"' + this.$('.h-brush-shape[name=\"h-brush-shape\"]:checked').attr('next_shape') + '\"]').prop('checked', true);\n this._changeBrush();\n },\n\n /**\n * Change the current brush size.\n *\n * @param {number} A number to add to the current size.\n */\n adjustBrushSize(delta) {\n const newval = Math.max(1, parseFloat(this.$('.h-brush-size').val()) + delta);\n this.$('.h-brush-size').val(newval);\n this._changeBrush();\n },\n\n /**\n * Set the style group to the next available group in the dropdown.\n *\n * If the currently selected group is the last group in the dropdown,\n * the first group in the dropdown is selected instead.\n */\n setToNextStyleGroup() {\n let nextGroup = this.$('.h-style-group option:selected').next().val();\n // A style group can have an empty string for a name, so we must explicitly\n // test if this is undefined instead of just testing truthiness.\n if (nextGroup === undefined) {\n nextGroup = this.$('.h-style-group option:first').val();\n }\n this._setStyleGroup(this._groups.get(nextGroup).toJSON());\n },\n\n /**\n * Set the style group to the previous available group in the dropdown.\n *\n * If the currently selected group is the first group in the dropdown,\n * the last group in the dropdown is selected instead.\n */\n setToPrevStyleGroup() {\n let prevGroup = this.$('.h-style-group option:selected').prev().val();\n // A style group can have an empty string for a name, so we must explicitly\n // test if this is undefined instead of just testing truthiness.\n if (prevGroup === undefined) {\n prevGroup = this.$('.h-style-group option:last-child').val();\n }\n this._setStyleGroup(this._groups.get(prevGroup).toJSON());\n },\n\n getStyleGroup() {\n return this._style;\n },\n\n _styleGroupEditor() {\n var dlg = editStyleGroups(this._style, this._groups, this.parentView._defaultGroup);\n dlg.$el.on('hidden.bs.modal', () => {\n this.render();\n this.parentView.trigger('h:styleGroupsEdited', this._groups);\n });\n },\n\n _handleStyleGroupsUpdate() {\n this.render();\n this.trigger('h:styleGroupsUpdated', this._groups);\n },\n\n _highlightElement(evt) {\n const id = $(evt.currentTarget).data('id');\n const annotType = this.collection._byId[id].get('type');\n if (this.annotationSelector._interactiveMode && ['point', 'polyline', 'rectangle', 'ellipse', 'circle'].includes(annotType)) {\n $(evt.currentTarget).find('.h-view-element').show();\n }\n this.parentView.trigger('h:highlightAnnotation', this.annotation.id, id);\n },\n\n _unhighlightElement(evt) {\n $(evt.currentTarget).find('.h-view-element').hide();\n this.parentView.trigger('h:highlightAnnotation');\n },\n\n _recalculateGroupAggregation() {\n const groups = [];\n const used = {};\n this.collection.forEach((el) => {\n const group = el.get('group') || '__null__';\n if (!used[group]) {\n used[group] = true;\n if (group !== '__null__') {\n groups.push(group);\n }\n }\n });\n if (used.__null__) {\n groups.push(null);\n }\n this.annotation.set('groups', groups);\n }\n});\n\nexport default DrawWidget;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/panels/DrawWidget.js","import mod from \"-!../../../../babel-loader/lib/index.js??ref--10-0!../../../../../../../../HistomicsUI/histomicsui/web_client/node_modules/vue-loader/lib/index.js??vue-loader-options!./EditHeatmapOrGridDataContainer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../babel-loader/lib/index.js??ref--10-0!../../../../../../../../HistomicsUI/histomicsui/web_client/node_modules/vue-loader/lib/index.js??vue-loader-options!./EditHeatmapOrGridDataContainer.vue?vue&type=script&lang=js&\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@girder/histomicsui/vue/components/EditHeatmapOrGridDataContainer.vue?vue&type=script&lang=js&\n// module id = 49\n// module chunks = 0","\n\n\n\n\n\n// WEBPACK FOOTER //\n// node_modules/@girder/histomicsui/vue/components/EditHeatmapOrGridDataContainer.vue","import mod from \"-!../../../../babel-loader/lib/index.js??ref--10-0!../../../../../../../../HistomicsUI/histomicsui/web_client/node_modules/vue-loader/lib/index.js??vue-loader-options!./EditHeatmapOrGridData.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../babel-loader/lib/index.js??ref--10-0!../../../../../../../../HistomicsUI/histomicsui/web_client/node_modules/vue-loader/lib/index.js??vue-loader-options!./EditHeatmapOrGridData.vue?vue&type=script&lang=js&\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@girder/histomicsui/vue/components/EditHeatmapOrGridData.vue?vue&type=script&lang=js&\n// module id = 51\n// module chunks = 0","\n\n\n\n\n\n// WEBPACK FOOTER //\n// node_modules/@girder/histomicsui/vue/components/EditHeatmapOrGridData.vue","import mod from \"-!../../../../babel-loader/lib/index.js??ref--10-0!../../../../../../../../HistomicsUI/histomicsui/web_client/node_modules/vue-loader/lib/index.js??vue-loader-options!./ColorPickerInput.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../babel-loader/lib/index.js??ref--10-0!../../../../../../../../HistomicsUI/histomicsui/web_client/node_modules/vue-loader/lib/index.js??vue-loader-options!./ColorPickerInput.vue?vue&type=script&lang=js&\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@girder/histomicsui/vue/components/ColorPickerInput.vue?vue&type=script&lang=js&\n// module id = 53\n// module chunks = 0","\n\n\n\n\n\n\n\n// WEBPACK FOOTER //\n// node_modules/@girder/histomicsui/vue/components/ColorPickerInput.vue","var pug = require(\"!../../../../pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;var pug_debug_filename, pug_debug_line;try {var pug_debug_sources = {\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\":\"- var counts = {};\\n- var displayIdOffset = 0;\\n- var pixelmap = false;\\n- var typeCounts = {};\\nif elements.length\\n each element in elements\\n -\\n var classes = highlighted[element.id] ? ['h-highlight-element'] : [];\\n element = element.toJSON();\\n var groupName = element['group'] ? element['group'] : defaultGroup;\\n var type = element.type === 'polyline' ? (element.closed ? 'polygon' : 'line') : element.type;\\n var displayId = ++displayIdOffset + displayIdStart;\\n var label = ((element.label || {}).value || type);\\n if (['point', 'polyline', 'rectangle', 'ellipse', 'circle'].includes(element.type)) {\\n if (counts[groupName]) {\\n counts[groupName]++;\\n } else {\\n counts[groupName] = 1;\\n }\\n } else {\\n if (typeCounts[type] \\u003E 0) {\\n typeCounts[type]++;\\n } else {\\n typeCounts[type] = 1;\\n }\\n }\\n if (!(element.label || {}).value) {\\n if (['point', 'polyline', 'rectangle', 'ellipse', 'circle'].includes(element.type)) {\\n label = groupName + ' ' + label + ' ' + displayId;\\n } else {\\n if (typeCounts[type] \\u003E 1) {\\n label = label + ' ' + displayId;\\n }\\n }\\n }\\n if (element.type === 'pixelmap') {\\n pixelmap = true;\\n }\\n .h-element(data-id=element.id, class=classes)\\n span.icon-cog.h-edit-element(title='Change style')\\n span.h-element-label(title=label, display_id=displayId) #{label}\\n span.icon-zoom-in.h-view-element(title='View annotation')\\n span.icon-cancel.h-delete-element(title='Remove')\\nif pixelmap\\n .h-group-count-option.pixelmap.hidden\\nif firstRender\\n -\\n var order = (Object.entries(counts)).sort((a, b) =\\u003E {\\n if (a[1] === b[1]) {\\n if (a[0] \\u003E b[0]) {\\n return 1;\\n }\\n return -1;\\n }\\n return b[1] - a[1];\\n })\\n - for (let group of order)\\n .h-group-count-option(data-group=group[0], data-count=group[1])\\n span.h-group-count-value #{group[1]} #{group[0]}\\n span.icon-marquee.h-group-count-select(title=\\\"Select all elements in this group\\\")\\nelse\\n - for (let group in counts)\\n - updateCount(group, counts[group]);\\n\"};\n;var locals_for_with = (locals || {});(function (Object, defaultGroup, displayIdStart, elements, firstRender, highlighted, updateCount) {;pug_debug_line = 1;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\nvar counts = {};\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\nvar displayIdOffset = 0;\n;pug_debug_line = 3;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\nvar pixelmap = false;\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\nvar typeCounts = {};\n;pug_debug_line = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\nif (elements.length) {\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\n// iterate elements\n;(function(){\n var $$obj = elements;\n if ('number' == typeof $$obj.length) {\n for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) {\n var element = $$obj[pug_index0];\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\nvar classes = highlighted[element.id] ? ['h-highlight-element'] : [];\nelement = element.toJSON();\nvar groupName = element['group'] ? element['group'] : defaultGroup;\nvar type = element.type === 'polyline' ? (element.closed ? 'polygon' : 'line') : element.type;\nvar displayId = ++displayIdOffset + displayIdStart;\nvar label = ((element.label || {}).value || type);\nif (['point', 'polyline', 'rectangle', 'ellipse', 'circle'].includes(element.type)) {\n if (counts[groupName]) {\n counts[groupName]++;\n } else {\n counts[groupName] = 1;\n }\n} else {\n if (typeCounts[type] > 0) {\n typeCounts[type]++;\n } else {\n typeCounts[type] = 1;\n }\n}\nif (!(element.label || {}).value) {\n if (['point', 'polyline', 'rectangle', 'ellipse', 'circle'].includes(element.type)) {\n label = groupName + ' ' + label + ' ' + displayId;\n } else {\n if (typeCounts[type] > 1) {\n label = label + ' ' + displayId;\n }\n }\n}\nif (element.type === 'pixelmap') {\n pixelmap = true;\n}\n;pug_debug_line = 39;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + \"\\u003Cdiv\" + (pug.attr(\"class\", pug.classes([\"h-element\",classes], [false,true]), false, true)+pug.attr(\"data-id\", element.id, true, true)) + \"\\u003E\";\n;pug_debug_line = 40;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-cog h-edit-element\\\" title=\\\"Change style\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 41;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + \"\\u003Cspan\" + (\" class=\\\"h-element-label\\\"\"+pug.attr(\"title\", label, true, true)+pug.attr(\"display_id\", displayId, true, true)) + \"\\u003E\";\n;pug_debug_line = 41;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = label) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 42;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-zoom-in h-view-element\\\" title=\\\"View annotation\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 43;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-cancel h-delete-element\\\" title=\\\"Remove\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var pug_index0 in $$obj) {\n $$l++;\n var element = $$obj[pug_index0];\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\nvar classes = highlighted[element.id] ? ['h-highlight-element'] : [];\nelement = element.toJSON();\nvar groupName = element['group'] ? element['group'] : defaultGroup;\nvar type = element.type === 'polyline' ? (element.closed ? 'polygon' : 'line') : element.type;\nvar displayId = ++displayIdOffset + displayIdStart;\nvar label = ((element.label || {}).value || type);\nif (['point', 'polyline', 'rectangle', 'ellipse', 'circle'].includes(element.type)) {\n if (counts[groupName]) {\n counts[groupName]++;\n } else {\n counts[groupName] = 1;\n }\n} else {\n if (typeCounts[type] > 0) {\n typeCounts[type]++;\n } else {\n typeCounts[type] = 1;\n }\n}\nif (!(element.label || {}).value) {\n if (['point', 'polyline', 'rectangle', 'ellipse', 'circle'].includes(element.type)) {\n label = groupName + ' ' + label + ' ' + displayId;\n } else {\n if (typeCounts[type] > 1) {\n label = label + ' ' + displayId;\n }\n }\n}\nif (element.type === 'pixelmap') {\n pixelmap = true;\n}\n;pug_debug_line = 39;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + \"\\u003Cdiv\" + (pug.attr(\"class\", pug.classes([\"h-element\",classes], [false,true]), false, true)+pug.attr(\"data-id\", element.id, true, true)) + \"\\u003E\";\n;pug_debug_line = 40;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-cog h-edit-element\\\" title=\\\"Change style\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 41;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + \"\\u003Cspan\" + (\" class=\\\"h-element-label\\\"\"+pug.attr(\"title\", label, true, true)+pug.attr(\"display_id\", displayId, true, true)) + \"\\u003E\";\n;pug_debug_line = 41;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = label) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 42;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-zoom-in h-view-element\\\" title=\\\"View annotation\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 43;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-cancel h-delete-element\\\" title=\\\"Remove\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";\n }\n }\n}).call(this);\n\n}\n;pug_debug_line = 44;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\nif (pixelmap) {\n;pug_debug_line = 45;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-group-count-option pixelmap hidden\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\n;pug_debug_line = 46;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\nif (firstRender) {\n;pug_debug_line = 47;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\nvar order = (Object.entries(counts)).sort((a, b) => {\n if (a[1] === b[1]) {\n if (a[0] > b[0]) {\n return 1;\n }\n return -1;\n }\n return b[1] - a[1];\n})\n;pug_debug_line = 57;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\nfor (let group of order)\n{\n;pug_debug_line = 58;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + \"\\u003Cdiv\" + (\" class=\\\"h-group-count-option\\\"\"+pug.attr(\"data-group\", group[0], true, true)+pug.attr(\"data-count\", group[1], true, true)) + \"\\u003E\";\n;pug_debug_line = 59;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"h-group-count-value\\\"\\u003E\";\n;pug_debug_line = 59;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = group[1]) ? \"\" : pug_interp));\n;pug_debug_line = 59;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + \" \";\n;pug_debug_line = 59;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = group[0]) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 60;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-marquee h-group-count-select\\\" title=\\\"Select all elements in this group\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\n}\nelse {\n;pug_debug_line = 62;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\nfor (let group in counts)\n{\n;pug_debug_line = 63;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\nupdateCount(group, counts[group]);\n}\n}}.call(this,\"Object\" in locals_for_with?locals_for_with.Object:typeof Object!==\"undefined\"?Object:undefined,\"defaultGroup\" in locals_for_with?locals_for_with.defaultGroup:typeof defaultGroup!==\"undefined\"?defaultGroup:undefined,\"displayIdStart\" in locals_for_with?locals_for_with.displayIdStart:typeof displayIdStart!==\"undefined\"?displayIdStart:undefined,\"elements\" in locals_for_with?locals_for_with.elements:typeof elements!==\"undefined\"?elements:undefined,\"firstRender\" in locals_for_with?locals_for_with.firstRender:typeof firstRender!==\"undefined\"?firstRender:undefined,\"highlighted\" in locals_for_with?locals_for_with.highlighted:typeof highlighted!==\"undefined\"?highlighted:undefined,\"updateCount\" in locals_for_with?locals_for_with.updateCount:typeof updateCount!==\"undefined\"?updateCount:undefined));} catch (err) {pug.rethrow(err, pug_debug_filename, pug_debug_line, pug_debug_sources[pug_debug_filename]);};return pug_html;};\nmodule.exports = template;\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/templates/panels/drawWidgetElement.pug","module.exports = (__webpack_require__(5))(43);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/collections/UserCollection.js from dll-reference girder_plugin_large_image_annotation\n// module id = 56\n// module chunks = 0","module.exports = (__webpack_require__(13))(175);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/collections/ItemCollection.js from dll-reference girder_lib\n// module id = 57\n// module chunks = 0","module.exports = (__webpack_require__(2))(20);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/views/widgets/BrowserWidget.js from dll-reference girder_plugin_slicer_cli_web\n// module id = 58\n// module chunks = 0","import $ from 'jquery';\nimport _ from 'underscore';\nimport View from '@girder/core/views/View';\n\nimport PluginConfigBreadcrumbWidget from '@girder/core/views/widgets/PluginConfigBreadcrumbWidget';\nimport BrowserWidget from '@girder/core/views/widgets/BrowserWidget';\nimport {restRequest} from '@girder/core/rest';\nimport events from '@girder/core/events';\nimport router from '@girder/core/router';\n\nimport {HuiSettings} from '../utils';\n\nimport ConfigViewTemplate from '../../templates/body/configView.pug';\nimport '../../stylesheets/body/configView.styl';\n\n/**\n * Show the default quota settings for users and collections.\n */\nvar ConfigView = View.extend({\n events: {\n 'click #g-hui-save': function (event) {\n this.$('#g-hui-error-message').text('');\n var settings = _.map(this.settingsKeys, (key) => {\n const element = this.$('#g-' + key.replace('histomicsui', 'hui').replace(/[_.]/g, '-'));\n var result = {\n key,\n value: element.val() || null\n };\n switch (key) {\n case 'histomicsui.quarantine_folder':\n result.value = result.value ? result.value.split(' ')[0] : '';\n break;\n case 'histomicsui.delete_annotations_after_ingest':\n result.value = this.$('.g-hui-delete-annotations-after-ingest').prop('checked');\n break;\n case 'histomicsui.help_url':\n case 'histomicsui.help_tooltip':\n case 'histomicsui.help_text':\n case 'histomicsui.login_text':\n result.value = result.value === null || !result.value.trim() ? '' : result.value;\n break;\n }\n return result;\n });\n this._saveSettings(settings);\n },\n 'click #g-hui-brand-default-color': function () {\n this.$('#g-hui-brand-color').val(this.defaults['histomicsui.brand_color']);\n },\n 'click #g-hui-banner-default-color': function () {\n this.$('#g-hui-banner-color').val(this.defaults['histomicsui.banner_color']);\n },\n 'click #g-hui-help-default-url': function () {\n this.$('#g-hui-help-url').val(this.defaults['histomicsui.help_url']);\n this.$('#g-hui-help-url').trigger('change');\n },\n 'click #g-hui-help-default-text': function () {\n this.$('#g-hui-help-text').val(this.defaults['histomicsui.help_text']);\n },\n 'click #g-hui-help-default-tooltip': function () {\n this.$('#g-hui-help-tooltip').val(this.defaults['histomicsui.help_tooltip']);\n },\n 'click #g-hui-cancel': function (event) {\n router.navigate('plugins', {trigger: true});\n },\n 'change #g-hui-help-url': function (event) {\n if (this.$('#g-hui-help-url').val().trim() === '') {\n this.$('#g-hui-help-text-container').children().attr('disabled', 'disabled');\n this.$('#g-hui-help-tooltip-container').children().attr('disabled', 'disabled');\n } else {\n this.$('#g-hui-help-text-container').children().removeAttr('disabled');\n this.$('#g-hui-help-tooltip-container').children().removeAttr('disabled');\n }\n },\n 'click .g-open-browser': '_openBrowser'\n },\n initialize: function () {\n this.breadcrumb = new PluginConfigBreadcrumbWidget({\n pluginName: 'HistomicsUI',\n parentView: this\n });\n\n this.settingsKeys = [\n 'histomicsui.webroot_path',\n 'histomicsui.brand_name',\n 'histomicsui.brand_color',\n 'histomicsui.banner_color',\n 'histomicsui.default_draw_styles',\n 'histomicsui.panel_layout',\n 'histomicsui.quarantine_folder',\n 'histomicsui.delete_annotations_after_ingest',\n 'histomicsui.help_url',\n 'histomicsui.help_tooltip',\n 'histomicsui.help_text',\n 'histomicsui.login_text'\n ];\n $.when(\n restRequest({\n method: 'GET',\n url: 'system/setting/default',\n data: {\n list: JSON.stringify(this.settingsKeys),\n default: 'none'\n }\n }).done((resp) => {\n this.settings = resp;\n }),\n restRequest({\n method: 'GET',\n url: 'system/setting/default',\n data: {\n list: JSON.stringify(this.settingsKeys),\n default: 'default'\n }\n }).done((resp) => {\n this.defaults = resp;\n })\n ).done(() => {\n this.render();\n });\n\n this._browserWidgetView = new BrowserWidget({\n parentView: this,\n titleText: 'Quarantine Destination',\n helpText: 'Browse to a location to select it as the destination.',\n submitText: 'Select Destination',\n validate: function (model) {\n const isValid = $.Deferred();\n if (!model || model.get('_modelType') !== 'folder') {\n isValid.reject('Please select a folder.');\n } else {\n isValid.resolve();\n }\n return isValid.promise();\n }\n });\n this.listenTo(this._browserWidgetView, 'g:saved', function (val) {\n this.$('#g-hui-quarantine-folder').val(val.id);\n restRequest({\n url: `resource/${val.id}/path`,\n method: 'GET',\n data: {type: val.get('_modelType')}\n }).done((result) => {\n // Only add the resource path if the value wasn't altered\n if (this.$('#g-hui-quarantine-folder').val() === val.id) {\n this.$('#g-hui-quarantine-folder').val(`${val.id} (${result})`);\n }\n });\n });\n },\n\n render: function () {\n this.$el.html(ConfigViewTemplate({\n settings: this.settings,\n defaults: this.defaults\n }));\n this.$('#g-hui-help-url').trigger('change');\n this.breadcrumb.setElement(this.$('.g-config-breadcrumb-container')).render();\n return this;\n },\n\n _saveSettings: function (settings) {\n return restRequest({\n method: 'PUT',\n url: 'system/setting',\n data: {\n list: JSON.stringify(settings)\n },\n error: null\n }).done(() => {\n HuiSettings.clearSettingsCache();\n events.trigger('g:alert', {\n icon: 'ok',\n text: 'Settings saved.',\n type: 'success',\n timeout: 4000\n });\n }).fail((resp) => {\n this.$('#g-hui-error-message').text(\n resp.responseJSON.message\n );\n });\n },\n\n _openBrowser: function () {\n this._browserWidgetView.setElement($('#g-dialog-container')).render();\n }\n});\n\nexport default ConfigView;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/views/body/ConfigView.js","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@girder/histomicsui/stylesheets/views/itemList.styl\n// module id = 60\n// module chunks = 0","import events from '@girder/core/events';\nimport router from '@girder/core/router';\n\nimport {registerPluginNamespace} from '@girder/core/pluginUtils';\nimport {exposePluginConfig} from '@girder/core/utilities/PluginUtils';\n\n// expose symbols under girder.plugins\nimport * as histomicsui from '@girder/histomicsui';\n\n// import modules for side effects\nimport './views/itemList';\nimport './views/itemPage';\nimport './views/HierarchyWidget';\nimport './views/searchResultsView';\nimport './views/JobDetailsWidget';\n\nimport ConfigView from './views/body/ConfigView';\n\nconst pluginName = 'histomicsui';\nconst configRoute = `plugins/${pluginName}/config`;\n\nregisterPluginNamespace(pluginName, histomicsui);\n\nexposePluginConfig(pluginName, configRoute);\n\nrouter.route(configRoute, 'HistomicsUIConfig', function () {\n events.trigger('g:navigateTo', ConfigView);\n});\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/main.js","module.exports = (__webpack_require__(2))(38);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/pluginUtils.js from dll-reference girder_plugin_slicer_cli_web\n// module id = 63\n// module chunks = 0","import App from './app.js';\nimport router from './router';\nimport events from './events';\n\nimport * as collections from './collections';\nimport * as dialogs from './dialogs';\nimport * as models from './models';\nimport * as panels from './panels';\nimport * as views from './views';\n\nexport {\n App,\n router,\n events,\n collections,\n dialogs,\n models,\n panels,\n views\n};\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/index.js","import _ from 'underscore';\nimport Backbone from 'backbone';\n\nimport '@girder/fontello/dist/css/animation.css';\nimport '@girder/fontello/dist/css/fontello.css';\n\nimport GirderApp from '@girder/core/views/App';\nimport eventStream from '@girder/core/utilities/EventStream';\nimport {getCurrentUser, setCurrentToken} from '@girder/core/auth';\nimport {splitRoute} from '@girder/core/misc';\n\nimport router from './router';\nimport HeaderView from './views/layout/HeaderView';\nimport bindRoutes from './routes';\n\nimport layoutTemplate from './templates/layout/layout.pug';\nimport './stylesheets/layout/layout.styl';\n\nfunction getQuery() {\n var query = document.location.search.replace(/(^\\?)/, '').split('&').map(function (n) {\n n = n.split('=');\n if (n[0]) {\n this[decodeURIComponent(n[0].replace(/\\+/g, '%20'))] = decodeURIComponent(n[1].replace(/\\+/g, '%20'));\n }\n return this;\n }.bind({}))[0];\n return query;\n}\n\nvar App = GirderApp.extend({\n initialize(settings) {\n if (getQuery().token) {\n setCurrentToken(getQuery().token);\n }\n this.settings = settings;\n return GirderApp.prototype.initialize.apply(this, arguments);\n },\n\n render() {\n this.$el.html(layoutTemplate());\n\n this.huiHeader = new HeaderView({\n el: this.$('#g-app-header-container'),\n parentView: this,\n settings: this.settings\n }).render();\n\n /* Only show job progress */\n const plv = this.progressListView;\n if (!plv._origHandleProgress) {\n plv._origHandleProgress = plv._handleProgress;\n plv._handleProgress = function (progress) {\n if (!_.has(plv._map, progress._id) && (progress.data || {}).resourceName !== 'job') {\n return;\n }\n return plv._origHandleProgress(progress);\n };\n plv.stopListening(plv.eventStream, 'g:event.progress', plv._origHandleProgress, plv);\n plv.listenTo(plv.eventStream, 'g:event.progress', plv._handleProgress, plv);\n }\n plv.setElement(this.$('#g-app-progress-container')).render();\n\n return this;\n },\n\n /**\n * On login we re-render the current body view; whereas on\n * logout, we redirect to the front page.\n */\n login() {\n var route = splitRoute(Backbone.history.fragment).base;\n Backbone.history.fragment = null;\n eventStream.close();\n\n if (getCurrentUser()) {\n eventStream.open();\n router.navigate(route, {trigger: true});\n } else {\n router.navigate('/', {trigger: true});\n }\n },\n\n navigateTo(view) {\n if (this.bodyView instanceof view) {\n return this;\n }\n return GirderApp.prototype.navigateTo.apply(this, arguments);\n },\n\n bindRoutes\n});\n\nexport default App;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/app.js","module.exports = (__webpack_require__(13))(337);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/@girder/fontello/dist/css/animation.css from dll-reference girder_lib\n// module id = 66\n// module chunks = 0","module.exports = (__webpack_require__(13))(338);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/@girder/fontello/dist/css/fontello.css from dll-reference girder_lib\n// module id = 67\n// module chunks = 0","module.exports = (__webpack_require__(13))(333);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/views/App.js from dll-reference girder_lib\n// module id = 68\n// module chunks = 0","import _ from 'underscore';\nimport $ from 'jquery';\nimport {restRequest} from '@girder/core/rest';\n\nimport events from '../../events';\nimport router from '../../router';\nimport View from '../View';\nimport headerAnalysesTemplate from '../../templates/layout/headerAnalyses.pug';\nimport '../../stylesheets/layout/headerAnalyses.styl';\n\nimport 'bootstrap-submenu/dist/js/bootstrap-submenu';\nimport 'bootstrap-submenu/dist/css/bootstrap-submenu.css';\n\nvar HeaderUserView = View.extend({\n events: {\n 'click .h-analysis-item': '_setAnalysis'\n },\n initialize() {\n this.image = null;\n this.listenTo(events, 'h:imageOpened', function (image) {\n this.image = image;\n this.render();\n });\n },\n render() {\n if (this.image) {\n restRequest({\n url: 'slicer_cli_web/docker_image'\n }).then((analyses) => {\n if (_.keys(analyses || {}).length > 0) {\n this.$el.removeClass('hidden');\n this.$el.html(headerAnalysesTemplate({\n analyses: analyses || {}\n }));\n this.$('.h-analyses-dropdown-link').submenupicker();\n } else {\n this.$el.addClass('hidden');\n }\n return null;\n });\n } else {\n this.$el.addClass('hidden');\n }\n return this;\n },\n _setAnalysis(evt) {\n evt.preventDefault();\n var target = $(evt.currentTarget).data();\n\n router.setQuery('analysis', target.api, {trigger: true});\n }\n});\n\nexport default HeaderUserView;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/views/layout/HeaderAnalysesView.js","var pug = require(\"!../../../../pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;var pug_debug_filename, pug_debug_line;try {var pug_debug_sources = {\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\":\"a.h-analyses-dropdown-link(data-toggle='dropdown')\\n | #[span.icon-tasks] Analyses #[span.icon-down-open]\\nul.h-analyses-dropdown.dropdown-menu(role='menu')\\n each image, imageName in analyses\\n li.dropdown-submenu\\n a(tabindex='0', href='#', data-name=imageName) #{imageName}\\n ul.dropdown-menu\\n each version, versionName in image\\n li.dropdown-submenu\\n a(tabindex='0', href='#') #{versionName}\\n ul.dropdown-menu\\n each cli, cliName in version\\n - var api = cli.run.replace(\\u002F\\\\\\u002Frun$\\u002F, '');\\n li\\n a.h-analysis-item(\\n tabindex='0',\\n href='#',\\n data-api=api,\\n data-image=imageName,\\n data-version=versionName,\\n data-cli=cliName) #{cliName}\\n\"};\n;var locals_for_with = (locals || {});(function (analyses) {;pug_debug_line = 1;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Ca class=\\\"h-analyses-dropdown-link\\\" data-toggle=\\\"dropdown\\\"\\u003E\";\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\";\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-tasks\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \" Analyses \";\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-down-open\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003C\\u002Fa\\u003E\";\n;pug_debug_line = 3;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Cul class=\\\"h-analyses-dropdown dropdown-menu\\\" role=\\\"menu\\\"\\u003E\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\n// iterate analyses\n;(function(){\n var $$obj = analyses;\n if ('number' == typeof $$obj.length) {\n for (var imageName = 0, $$l = $$obj.length; imageName < $$l; imageName++) {\n var image = $$obj[imageName];\n;pug_debug_line = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Cli class=\\\"dropdown-submenu\\\"\\u003E\";\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Ca\" + (\" tabindex=\\\"0\\\" href=\\\"#\\\"\"+pug.attr(\"data-name\", imageName, true, true)) + \"\\u003E\";\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = imageName) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\";\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Cul class=\\\"dropdown-menu\\\"\\u003E\";\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\n// iterate image\n;(function(){\n var $$obj = image;\n if ('number' == typeof $$obj.length) {\n for (var versionName = 0, $$l = $$obj.length; versionName < $$l; versionName++) {\n var version = $$obj[versionName];\n;pug_debug_line = 9;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Cli class=\\\"dropdown-submenu\\\"\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Ca tabindex=\\\"0\\\" href=\\\"#\\\"\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = versionName) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\";\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Cul class=\\\"dropdown-menu\\\"\\u003E\";\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\n// iterate version\n;(function(){\n var $$obj = version;\n if ('number' == typeof $$obj.length) {\n for (var cliName = 0, $$l = $$obj.length; cliName < $$l; cliName++) {\n var cli = $$obj[cliName];\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\nvar api = cli.run.replace(/\\/run$/, '');\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Cli\\u003E\";\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"h-analysis-item\\\"\"+\" tabindex=\\\"0\\\" href=\\\"#\\\"\"+pug.attr(\"data-api\", api, true, true)+pug.attr(\"data-image\", imageName, true, true)+pug.attr(\"data-version\", versionName, true, true)+pug.attr(\"data-cli\", cliName, true, true)) + \"\\u003E\";\n;pug_debug_line = 21;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = cliName) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fli\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var cliName in $$obj) {\n $$l++;\n var cli = $$obj[cliName];\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\nvar api = cli.run.replace(/\\/run$/, '');\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Cli\\u003E\";\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"h-analysis-item\\\"\"+\" tabindex=\\\"0\\\" href=\\\"#\\\"\"+pug.attr(\"data-api\", api, true, true)+pug.attr(\"data-image\", imageName, true, true)+pug.attr(\"data-version\", versionName, true, true)+pug.attr(\"data-cli\", cliName, true, true)) + \"\\u003E\";\n;pug_debug_line = 21;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = cliName) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fli\\u003E\";\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Ful\\u003E\\u003C\\u002Fli\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var versionName in $$obj) {\n $$l++;\n var version = $$obj[versionName];\n;pug_debug_line = 9;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Cli class=\\\"dropdown-submenu\\\"\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Ca tabindex=\\\"0\\\" href=\\\"#\\\"\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = versionName) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\";\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Cul class=\\\"dropdown-menu\\\"\\u003E\";\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\n// iterate version\n;(function(){\n var $$obj = version;\n if ('number' == typeof $$obj.length) {\n for (var cliName = 0, $$l = $$obj.length; cliName < $$l; cliName++) {\n var cli = $$obj[cliName];\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\nvar api = cli.run.replace(/\\/run$/, '');\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Cli\\u003E\";\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"h-analysis-item\\\"\"+\" tabindex=\\\"0\\\" href=\\\"#\\\"\"+pug.attr(\"data-api\", api, true, true)+pug.attr(\"data-image\", imageName, true, true)+pug.attr(\"data-version\", versionName, true, true)+pug.attr(\"data-cli\", cliName, true, true)) + \"\\u003E\";\n;pug_debug_line = 21;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = cliName) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fli\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var cliName in $$obj) {\n $$l++;\n var cli = $$obj[cliName];\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\nvar api = cli.run.replace(/\\/run$/, '');\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Cli\\u003E\";\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"h-analysis-item\\\"\"+\" tabindex=\\\"0\\\" href=\\\"#\\\"\"+pug.attr(\"data-api\", api, true, true)+pug.attr(\"data-image\", imageName, true, true)+pug.attr(\"data-version\", versionName, true, true)+pug.attr(\"data-cli\", cliName, true, true)) + \"\\u003E\";\n;pug_debug_line = 21;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = cliName) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fli\\u003E\";\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Ful\\u003E\\u003C\\u002Fli\\u003E\";\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Ful\\u003E\\u003C\\u002Fli\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var imageName in $$obj) {\n $$l++;\n var image = $$obj[imageName];\n;pug_debug_line = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Cli class=\\\"dropdown-submenu\\\"\\u003E\";\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Ca\" + (\" tabindex=\\\"0\\\" href=\\\"#\\\"\"+pug.attr(\"data-name\", imageName, true, true)) + \"\\u003E\";\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = imageName) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\";\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Cul class=\\\"dropdown-menu\\\"\\u003E\";\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\n// iterate image\n;(function(){\n var $$obj = image;\n if ('number' == typeof $$obj.length) {\n for (var versionName = 0, $$l = $$obj.length; versionName < $$l; versionName++) {\n var version = $$obj[versionName];\n;pug_debug_line = 9;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Cli class=\\\"dropdown-submenu\\\"\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Ca tabindex=\\\"0\\\" href=\\\"#\\\"\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = versionName) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\";\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Cul class=\\\"dropdown-menu\\\"\\u003E\";\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\n// iterate version\n;(function(){\n var $$obj = version;\n if ('number' == typeof $$obj.length) {\n for (var cliName = 0, $$l = $$obj.length; cliName < $$l; cliName++) {\n var cli = $$obj[cliName];\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\nvar api = cli.run.replace(/\\/run$/, '');\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Cli\\u003E\";\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"h-analysis-item\\\"\"+\" tabindex=\\\"0\\\" href=\\\"#\\\"\"+pug.attr(\"data-api\", api, true, true)+pug.attr(\"data-image\", imageName, true, true)+pug.attr(\"data-version\", versionName, true, true)+pug.attr(\"data-cli\", cliName, true, true)) + \"\\u003E\";\n;pug_debug_line = 21;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = cliName) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fli\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var cliName in $$obj) {\n $$l++;\n var cli = $$obj[cliName];\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\nvar api = cli.run.replace(/\\/run$/, '');\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Cli\\u003E\";\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"h-analysis-item\\\"\"+\" tabindex=\\\"0\\\" href=\\\"#\\\"\"+pug.attr(\"data-api\", api, true, true)+pug.attr(\"data-image\", imageName, true, true)+pug.attr(\"data-version\", versionName, true, true)+pug.attr(\"data-cli\", cliName, true, true)) + \"\\u003E\";\n;pug_debug_line = 21;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = cliName) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fli\\u003E\";\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Ful\\u003E\\u003C\\u002Fli\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var versionName in $$obj) {\n $$l++;\n var version = $$obj[versionName];\n;pug_debug_line = 9;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Cli class=\\\"dropdown-submenu\\\"\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Ca tabindex=\\\"0\\\" href=\\\"#\\\"\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = versionName) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\";\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Cul class=\\\"dropdown-menu\\\"\\u003E\";\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\n// iterate version\n;(function(){\n var $$obj = version;\n if ('number' == typeof $$obj.length) {\n for (var cliName = 0, $$l = $$obj.length; cliName < $$l; cliName++) {\n var cli = $$obj[cliName];\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\nvar api = cli.run.replace(/\\/run$/, '');\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Cli\\u003E\";\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"h-analysis-item\\\"\"+\" tabindex=\\\"0\\\" href=\\\"#\\\"\"+pug.attr(\"data-api\", api, true, true)+pug.attr(\"data-image\", imageName, true, true)+pug.attr(\"data-version\", versionName, true, true)+pug.attr(\"data-cli\", cliName, true, true)) + \"\\u003E\";\n;pug_debug_line = 21;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = cliName) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fli\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var cliName in $$obj) {\n $$l++;\n var cli = $$obj[cliName];\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\nvar api = cli.run.replace(/\\/run$/, '');\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Cli\\u003E\";\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"h-analysis-item\\\"\"+\" tabindex=\\\"0\\\" href=\\\"#\\\"\"+pug.attr(\"data-api\", api, true, true)+pug.attr(\"data-image\", imageName, true, true)+pug.attr(\"data-version\", versionName, true, true)+pug.attr(\"data-cli\", cliName, true, true)) + \"\\u003E\";\n;pug_debug_line = 21;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = cliName) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fli\\u003E\";\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Ful\\u003E\\u003C\\u002Fli\\u003E\";\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Ful\\u003E\\u003C\\u002Fli\\u003E\";\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Ful\\u003E\";}.call(this,\"analyses\" in locals_for_with?locals_for_with.analyses:typeof analyses!==\"undefined\"?analyses:undefined));} catch (err) {pug.rethrow(err, pug_debug_filename, pug_debug_line, pug_debug_sources[pug_debug_filename]);};return pug_html;};\nmodule.exports = template;\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/templates/layout/headerAnalyses.pug","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@girder/histomicsui/stylesheets/layout/headerAnalyses.styl\n// module id = 71\n// module chunks = 0","/*!\n * Bootstrap-submenu v2.0.4 (https://vsn4ik.github.io/bootstrap-submenu/)\n * Copyright 2014-2016 Vasily A. (https://github.com/vsn4ik)\n * Licensed under the MIT license\n */\n\n/**\n * $.inArray: friends with IE8. Use Array.prototype.indexOf in future.\n * $.proxy: friends with IE8. Use Function.prototype.bind in future.\n */\n\n'use strict';\n\n(function(factory) {\n if (typeof define == 'function' && define.amd) {\n // AMD. Register as an anonymous module\n define(['jquery'], factory);\n }\n else if (typeof exports == 'object') {\n // Node/CommonJS\n module.exports = factory(require('jquery'));\n }\n else {\n // Browser globals\n factory(jQuery);\n }\n})(function($) {\n function Item(element) {\n this.$element = $(element);\n this.$menu = this.$element.closest('.dropdown-menu');\n this.$main = this.$menu.parent();\n this.$items = this.$menu.children('.dropdown-submenu');\n\n this.init();\n }\n\n Item.prototype = {\n init: function() {\n this.$element.on('keydown', $.proxy(this, 'keydown'));\n },\n close: function() {\n this.$main.removeClass('open');\n this.$items.trigger('hide.bs.submenu');\n },\n keydown: function(event) {\n // 27: Esc\n\n if (event.keyCode == 27) {\n event.stopPropagation();\n\n this.close();\n this.$main.children('a, button').trigger('focus');\n }\n }\n };\n\n function SubmenuItem(element) {\n this.$element = $(element);\n this.$main = this.$element.parent();\n this.$menu = this.$main.children('.dropdown-menu');\n this.$subs = this.$main.siblings('.dropdown-submenu');\n this.$items = this.$menu.children('.dropdown-submenu');\n\n this.init();\n }\n\n $.extend(SubmenuItem.prototype, Item.prototype, {\n init: function() {\n this.$element.on({\n click: $.proxy(this, 'click'),\n keydown: $.proxy(this, 'keydown')\n });\n\n this.$main.on('hide.bs.submenu', $.proxy(this, 'hide'));\n },\n click: function(event) {\n // Fix a[href=\"#\"]. For community\n event.preventDefault();\n\n event.stopPropagation();\n\n this.toggle();\n },\n hide: function(event) {\n // Stop event bubbling\n event.stopPropagation();\n\n this.close();\n },\n open: function() {\n this.$main.addClass('open');\n this.$subs.trigger('hide.bs.submenu');\n },\n toggle: function() {\n if (this.$main.hasClass('open')) {\n this.close();\n }\n else {\n this.open();\n }\n },\n keydown: function(event) {\n // 13: Return, 32: Spacebar\n\n if (event.keyCode == 32) {\n // Off vertical scrolling\n event.preventDefault();\n }\n\n if ($.inArray(event.keyCode, [13, 32]) != -1) {\n this.toggle();\n }\n }\n });\n\n function Submenupicker(element) {\n this.$element = $(element);\n this.$main = this.$element.parent();\n this.$menu = this.$main.children('.dropdown-menu');\n this.$items = this.$menu.children('.dropdown-submenu');\n\n this.init();\n }\n\n Submenupicker.prototype = {\n init: function() {\n this.$menu.off('keydown.bs.dropdown.data-api');\n this.$menu.on('keydown', $.proxy(this, 'itemKeydown'));\n\n this.$menu.find('li > a').each(function() {\n new Item(this);\n });\n\n this.$menu.find('.dropdown-submenu > a').each(function() {\n new SubmenuItem(this);\n });\n\n this.$main.on('hidden.bs.dropdown', $.proxy(this, 'hidden'));\n },\n hidden: function() {\n this.$items.trigger('hide.bs.submenu');\n },\n itemKeydown: function(event) {\n // 38: Arrow up, 40: Arrow down\n\n if ($.inArray(event.keyCode, [38, 40]) != -1) {\n // Off vertical scrolling\n event.preventDefault();\n\n event.stopPropagation();\n\n var $items = this.$menu.find('li:not(.disabled):visible > a');\n var index = $items.index(event.target);\n\n if (event.keyCode == 38 && index !== 0) {\n index--;\n }\n else if (event.keyCode == 40 && index !== $items.length - 1) {\n index++;\n }\n else {\n return;\n }\n\n $items.eq(index).trigger('focus');\n }\n }\n };\n\n var old = $.fn.submenupicker;\n\n // For AMD/Node/CommonJS used elements (optional)\n // http://learn.jquery.com/jquery-ui/environments/amd/\n $.fn.submenupicker = function(elements) {\n var $elements = this instanceof $ ? this : $(elements);\n\n return $elements.each(function() {\n var data = $.data(this, 'bs.submenu');\n\n if (!data) {\n data = new Submenupicker(this);\n\n $.data(this, 'bs.submenu', data);\n }\n });\n };\n\n $.fn.submenupicker.Constructor = Submenupicker;\n $.fn.submenupicker.noConflict = function() {\n $.fn.submenupicker = old;\n return this;\n };\n\n return $.fn.submenupicker;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@girder/histomicsui/node_modules/bootstrap-submenu/dist/js/bootstrap-submenu.js\n// module id = 72\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@girder/histomicsui/node_modules/bootstrap-submenu/dist/css/bootstrap-submenu.css\n// module id = 73\n// module chunks = 0","module.exports = (__webpack_require__(32))(45);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/views/layout/HeaderUserView.js from dll-reference girder_plugin_jobs\n// module id = 74\n// module chunks = 0","var pug = require(\"!../../../../pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;var pug_debug_filename, pug_debug_line;try {var pug_debug_sources = {\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\":\"if user\\n - var login = user.get('login');\\n a.h-user-dropdown-link(data-toggle='dropdown')\\n | #[span.icon-user] #{login} #[span.icon-down-open]\\n ul.dropdown-menu(role='menu')\\n li\\n a.g-my-folders(href=`..\\u002Fgirder#jobs\\u002Fuser\\u002F${user.id}`, target='girder')\\n i.icon-tasks\\n | My jobs\\n li\\n a.g-my-settings(href=`..\\u002Fgirder#useraccount\\u002F${user.id}\\u002Finfo`, target='girder')\\n i.icon-cog\\n | My account\\n li.divider\\n li\\n a.g-logout\\n i.icon-logout\\n | Log out\\nelse\\n p.navbar-text\\n a.navbar-link.g-register Register\\n | #{' or '}\\n a.navbar-link.g-login Log In\\n i.icon-login\\n\"};\n;var locals_for_with = (locals || {});(function (user) {;pug_debug_line = 1;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\nif (user) {\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\nvar login = user.get('login');\n;pug_debug_line = 3;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"\\u003Ca class=\\\"h-user-dropdown-link\\\" data-toggle=\\\"dropdown\\\"\\u003E\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-user\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \" \";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = login) ? \"\" : pug_interp));\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \" \";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-down-open\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"\\u003C\\u002Fa\\u003E\";\n;pug_debug_line = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"\\u003Cul class=\\\"dropdown-menu\\\" role=\\\"menu\\\"\\u003E\";\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"\\u003Cli\\u003E\";\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"g-my-folders\\\"\"+pug.attr(\"href\", `../girder#jobs/user/${user.id}`, true, true)+\" target=\\\"girder\\\"\") + \"\\u003E\";\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-tasks\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n;pug_debug_line = 9;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"My jobs\\u003C\\u002Fa\\u003E\\u003C\\u002Fli\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"\\u003Cli\\u003E\";\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"g-my-settings\\\"\"+pug.attr(\"href\", `../girder#useraccount/${user.id}/info`, true, true)+\" target=\\\"girder\\\"\") + \"\\u003E\";\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-cog\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"My account\\u003C\\u002Fa\\u003E\\u003C\\u002Fli\\u003E\";\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"\\u003Cli class=\\\"divider\\\"\\u003E\\u003C\\u002Fli\\u003E\";\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"\\u003Cli\\u003E\";\n;pug_debug_line = 16;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"\\u003Ca class=\\\"g-logout\\\"\\u003E\";\n;pug_debug_line = 17;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-logout\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n;pug_debug_line = 18;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"Log out\\u003C\\u002Fa\\u003E\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\";\n}\nelse {\n;pug_debug_line = 20;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"\\u003Cp class=\\\"navbar-text\\\"\\u003E\";\n;pug_debug_line = 21;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"\\u003Ca class=\\\"navbar-link g-register\\\"\\u003E\";\n;pug_debug_line = 21;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"Register\\u003C\\u002Fa\\u003E\";\n;pug_debug_line = 22;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = ' or ') ? \"\" : pug_interp));\n;pug_debug_line = 23;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"\\u003Ca class=\\\"navbar-link g-login\\\"\\u003E\";\n;pug_debug_line = 23;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"Log In\";\n;pug_debug_line = 24;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-login\\\"\\u003E\\u003C\\u002Fi\\u003E\\u003C\\u002Fa\\u003E\\u003C\\u002Fp\\u003E\";\n}}.call(this,\"user\" in locals_for_with?locals_for_with.user:typeof user!==\"undefined\"?user:undefined));} catch (err) {pug.rethrow(err, pug_debug_filename, pug_debug_line, pug_debug_sources[pug_debug_filename]);};return pug_html;};\nmodule.exports = template;\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/templates/layout/headerUser.pug","import $ from 'jquery';\n\nimport {restRequest} from '@girder/core/rest';\n\nimport events from '../../events';\nimport router from '../../router';\nimport View from '../View';\n\nimport headerImageTemplate from '../../templates/layout/headerImage.pug';\nimport '../../stylesheets/layout/headerImage.styl';\n\nvar HeaderImageView = View.extend({\n events: {\n 'click .h-open-image': function (evt) {\n events.trigger('h:openImageUi');\n },\n 'click .h-open-annotated-image': function (evt) {\n events.trigger('h:openAnnotatedImageUi');\n }\n },\n\n initialize() {\n this.imageModel = null;\n this.parentChain = null;\n this.listenTo(events, 'h:analysis:rendered', this.render);\n this.listenTo(events, 'h:imageOpened', (model) => {\n this.imageModel = model;\n this.parentChain = null;\n this._setNextPreviousImage();\n if (model) {\n this.imageModel.getRootPath((resp) => {\n this.parentChain = resp;\n this.render();\n });\n }\n this.render();\n });\n },\n\n render() {\n const analysis = router.getQuery('analysis') ? `&analysis=${router.getQuery('analysis')}` : '';\n const folder = router.getQuery('folder') ? `&folder=${router.getQuery('folder')}` : '';\n const nextImageLink = this._nextImage ? `#?image=${this._nextImage}${folder}${analysis}` : null;\n const previousImageLink = this._previousImage ? `#?image=${this._previousImage}${folder}${analysis}` : null;\n this.$el.html(headerImageTemplate({\n image: this.imageModel,\n parentChain: this.parentChain,\n previousImageLink,\n previousImageName: this._previousName,\n nextImageLink,\n nextImageName: this._nextName\n }));\n return this;\n },\n\n _setNextPreviousImage() {\n const model = this.imageModel;\n const folder = router.getQuery('folder') ? `?folderId=${router.getQuery('folder')}` : '';\n if (!model) {\n this._nextImage = null;\n this._previousImage = null;\n this.render();\n return;\n }\n\n $.when(\n restRequest({\n url: `item/${model.id}/previous_image${folder}`\n }).done((previous) => {\n this._previousImage = (previous._id !== model.id) ? previous._id : null;\n this._previousName = previous.name;\n }),\n restRequest({\n url: `item/${model.id}/next_image${folder}`\n }).done((next) => {\n this._nextImage = (next._id !== model.id) ? next._id : null;\n this._nextName = next.name;\n })\n ).done(() => this.render());\n }\n});\n\nexport default HeaderImageView;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/views/layout/HeaderImageView.js","var pug = require(\"!../../../../pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;var pug_debug_filename, pug_debug_line;try {var pug_debug_sources = {\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\":\"if parentChain\\n .g-item-breadcrumb-container\\n -\\n var parts = [];\\n parentChain.forEach(function (parent, idx) {\\n parts.push(parent.type === 'user' ? parent.object.login : parent.object.name);\\n });\\n parts.push(image.name());\\n ol.breadcrumb(title=parts.join('\\u002F'))\\n each parent in parentChain\\n li\\n span.g-item-breadcrumb-link(data-id=parent.object._id, data-type=parent.type)\\n if (parent.type === \\\"user\\\")\\n i.icon-user\\n = parent.object.login\\n else if (parent.type === \\\"collection\\\")\\n i.icon-sitemap\\n = parent.object.name\\n else\\n = parent.object.name\\n li\\n span.g-item-breadcrumb-link(data-id=image.id, data-type='item')\\n = image.name()\\nbutton.btn.btn-default.navbar-btn.h-open-annotated-image(type='button')\\n | #[span.icon-list] Annotated images...\\nbutton.btn.btn-default.navbar-btn.h-open-image(type='button')\\n | #[span.icon-picture] Open image...\\n\\n-\\n var titlePre = '', titleNext = '';\\n if (previousImageLink && nextImageLink) {\\n titlePre = 'Previous image - ' + previousImageName;\\n titleNext ='Next image - ' + nextImageName;\\n }\\n\\nspan.h-links\\n a.h-previous-image.btn.btn-default(href=previousImageLink, title=titlePre, disabled=!previousImageLink)\\n i.icon-left-open\\n a.h-next-image.btn.btn-default(href=nextImageLink, title=titleNext, disabled=!nextImageLink)\\n i.icon-right-open\\n\"};\n;var locals_for_with = (locals || {});(function (image, nextImageLink, nextImageName, parentChain, previousImageLink, previousImageName) {;pug_debug_line = 1;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\nif (parentChain) {\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"g-item-breadcrumb-container\\\"\\u003E\";\n;pug_debug_line = 3;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\nvar parts = [];\nparentChain.forEach(function (parent, idx) {\n parts.push(parent.type === 'user' ? parent.object.login : parent.object.name);\n});\nparts.push(image.name());\n;pug_debug_line = 9;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \"\\u003Col\" + (\" class=\\\"breadcrumb\\\"\"+pug.attr(\"title\", parts.join('/'), true, true)) + \"\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\n// iterate parentChain\n;(function(){\n var $$obj = parentChain;\n if ('number' == typeof $$obj.length) {\n for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) {\n var parent = $$obj[pug_index0];\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \"\\u003Cli\\u003E\";\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \"\\u003Cspan\" + (\" class=\\\"g-item-breadcrumb-link\\\"\"+pug.attr(\"data-id\", parent.object._id, true, true)+pug.attr(\"data-type\", parent.type, true, true)) + \"\\u003E\";\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\nif ((parent.type === \"user\")) {\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-user\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = parent.object.login) ? \"\" : pug_interp));\n}\nelse\nif ((parent.type === \"collection\")) {\n;pug_debug_line = 17;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-sitemap\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n;pug_debug_line = 18;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = parent.object.name) ? \"\" : pug_interp));\n}\nelse {\n;pug_debug_line = 20;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = parent.object.name) ? \"\" : pug_interp));\n}\npug_html = pug_html + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fli\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var pug_index0 in $$obj) {\n $$l++;\n var parent = $$obj[pug_index0];\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \"\\u003Cli\\u003E\";\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \"\\u003Cspan\" + (\" class=\\\"g-item-breadcrumb-link\\\"\"+pug.attr(\"data-id\", parent.object._id, true, true)+pug.attr(\"data-type\", parent.type, true, true)) + \"\\u003E\";\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\nif ((parent.type === \"user\")) {\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-user\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = parent.object.login) ? \"\" : pug_interp));\n}\nelse\nif ((parent.type === \"collection\")) {\n;pug_debug_line = 17;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-sitemap\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n;pug_debug_line = 18;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = parent.object.name) ? \"\" : pug_interp));\n}\nelse {\n;pug_debug_line = 20;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = parent.object.name) ? \"\" : pug_interp));\n}\npug_html = pug_html + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fli\\u003E\";\n }\n }\n}).call(this);\n\n;pug_debug_line = 21;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \"\\u003Cli\\u003E\";\n;pug_debug_line = 22;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \"\\u003Cspan\" + (\" class=\\\"g-item-breadcrumb-link\\\"\"+pug.attr(\"data-id\", image.id, true, true)+\" data-type=\\\"item\\\"\") + \"\\u003E\";\n;pug_debug_line = 23;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = image.name()) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fli\\u003E\\u003C\\u002Fol\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\n;pug_debug_line = 24;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"btn btn-default navbar-btn h-open-annotated-image\\\" type=\\\"button\\\"\\u003E\";\n;pug_debug_line = 25;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \"\";\n;pug_debug_line = 25;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-list\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 25;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \" Annotated images...\\u003C\\u002Fbutton\\u003E\";\n;pug_debug_line = 26;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"btn btn-default navbar-btn h-open-image\\\" type=\\\"button\\\"\\u003E\";\n;pug_debug_line = 27;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \"\";\n;pug_debug_line = 27;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-picture\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 27;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \" Open image...\\u003C\\u002Fbutton\\u003E\";\n;pug_debug_line = 29;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\nvar titlePre = '', titleNext = '';\nif (previousImageLink && nextImageLink) {\n titlePre = 'Previous image - ' + previousImageName;\n titleNext ='Next image - ' + nextImageName;\n}\n\n;pug_debug_line = 36;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"h-links\\\"\\u003E\";\n;pug_debug_line = 37;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"h-previous-image btn btn-default\\\"\"+pug.attr(\"href\", previousImageLink, true, true)+pug.attr(\"title\", titlePre, true, true)+pug.attr(\"disabled\", !previousImageLink, true, true)) + \"\\u003E\";\n;pug_debug_line = 38;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-left-open\\\"\\u003E\\u003C\\u002Fi\\u003E\\u003C\\u002Fa\\u003E\";\n;pug_debug_line = 39;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"h-next-image btn btn-default\\\"\"+pug.attr(\"href\", nextImageLink, true, true)+pug.attr(\"title\", titleNext, true, true)+pug.attr(\"disabled\", !nextImageLink, true, true)) + \"\\u003E\";\n;pug_debug_line = 40;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-right-open\\\"\\u003E\\u003C\\u002Fi\\u003E\\u003C\\u002Fa\\u003E\\u003C\\u002Fspan\\u003E\";}.call(this,\"image\" in locals_for_with?locals_for_with.image:typeof image!==\"undefined\"?image:undefined,\"nextImageLink\" in locals_for_with?locals_for_with.nextImageLink:typeof nextImageLink!==\"undefined\"?nextImageLink:undefined,\"nextImageName\" in locals_for_with?locals_for_with.nextImageName:typeof nextImageName!==\"undefined\"?nextImageName:undefined,\"parentChain\" in locals_for_with?locals_for_with.parentChain:typeof parentChain!==\"undefined\"?parentChain:undefined,\"previousImageLink\" in locals_for_with?locals_for_with.previousImageLink:typeof previousImageLink!==\"undefined\"?previousImageLink:undefined,\"previousImageName\" in locals_for_with?locals_for_with.previousImageName:typeof previousImageName!==\"undefined\"?previousImageName:undefined));} catch (err) {pug.rethrow(err, pug_debug_filename, pug_debug_line, pug_debug_sources[pug_debug_filename]);};return pug_html;};\nmodule.exports = template;\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/templates/layout/headerImage.pug","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@girder/histomicsui/stylesheets/layout/headerImage.styl\n// module id = 78\n// module chunks = 0","var pug = require(\"!../../../../pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;var pug_debug_filename, pug_debug_line;try {var pug_debug_sources = {\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Fheader.pug\":\"nav.navbar.navbar-default(style=`color: ${brandColor}; background-color: ${bannerColor}`)\\n .container-fluid\\n .navbar-header\\n button.navbar-toggle.collapsed(\\n type='button',\\n data-toggle='collapse',\\n data-target='#h-navbar-collapse',\\n aria-expanded='false')\\n span.sr-only Toggle navigation\\n span.icon-bar\\n span.icon-bar\\n span.icon-bar\\n a#h-navbar-brand.navbar-brand(style=`color: ${brandColor}; background-color: ${bannerColor}`) #{brandName}\\n\\n #h-navbar-collapse.collapse.navbar-collapse\\n ul.nav.navbar-nav.navbar-right\\n li.h-image-menu-wrapper.dropdown\\n li.h-analyses-wrapper.dropdown\\n li.h-current-user-wrapper.dropdown\\n if helpURL\\n li.h-help-button-wrapper\\n a.h-help-button(role='button', title=helpTooltip, href=helpURL, target='_blank') #{helpText}\\n span.icon-help-circled\\n\"};\n;var locals_for_with = (locals || {});(function (bannerColor, brandColor, brandName, helpText, helpTooltip, helpURL) {;pug_debug_line = 1;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Fheader.pug\";\npug_html = pug_html + \"\\u003Cnav\" + (\" class=\\\"navbar navbar-default\\\"\"+pug.attr(\"style\", pug.style(`color: ${brandColor}; background-color: ${bannerColor}`), true, true)) + \"\\u003E\";\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Fheader.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"container-fluid\\\"\\u003E\";\n;pug_debug_line = 3;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Fheader.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"navbar-header\\\"\\u003E\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Fheader.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"navbar-toggle collapsed\\\" type=\\\"button\\\" data-toggle=\\\"collapse\\\" data-target=\\\"#h-navbar-collapse\\\" aria-expanded=\\\"false\\\"\\u003E\";\n;pug_debug_line = 9;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Fheader.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"sr-only\\\"\\u003E\";\n;pug_debug_line = 9;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Fheader.pug\";\npug_html = pug_html + \"Toggle navigation\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Fheader.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-bar\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Fheader.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-bar\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Fheader.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-bar\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fbutton\\u003E\";\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Fheader.pug\";\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"navbar-brand\\\"\"+\" id=\\\"h-navbar-brand\\\"\"+pug.attr(\"style\", pug.style(`color: ${brandColor}; background-color: ${bannerColor}`), true, true)) + \"\\u003E\";\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Fheader.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = brandName) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Fheader.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"collapse navbar-collapse\\\" id=\\\"h-navbar-collapse\\\"\\u003E\";\n;pug_debug_line = 16;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Fheader.pug\";\npug_html = pug_html + \"\\u003Cul class=\\\"nav navbar-nav navbar-right\\\"\\u003E\";\n;pug_debug_line = 17;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Fheader.pug\";\npug_html = pug_html + \"\\u003Cli class=\\\"h-image-menu-wrapper dropdown\\\"\\u003E\\u003C\\u002Fli\\u003E\";\n;pug_debug_line = 18;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Fheader.pug\";\npug_html = pug_html + \"\\u003Cli class=\\\"h-analyses-wrapper dropdown\\\"\\u003E\\u003C\\u002Fli\\u003E\";\n;pug_debug_line = 19;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Fheader.pug\";\npug_html = pug_html + \"\\u003Cli class=\\\"h-current-user-wrapper dropdown\\\"\\u003E\\u003C\\u002Fli\\u003E\";\n;pug_debug_line = 20;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Fheader.pug\";\nif (helpURL) {\n;pug_debug_line = 21;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Fheader.pug\";\npug_html = pug_html + \"\\u003Cli class=\\\"h-help-button-wrapper\\\"\\u003E\";\n;pug_debug_line = 22;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Fheader.pug\";\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"h-help-button\\\"\"+\" role=\\\"button\\\"\"+pug.attr(\"title\", helpTooltip, true, true)+pug.attr(\"href\", helpURL, true, true)+\" target=\\\"_blank\\\"\") + \"\\u003E\";\n;pug_debug_line = 22;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Fheader.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = helpText) ? \"\" : pug_interp));\n;pug_debug_line = 23;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Fheader.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-help-circled\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fa\\u003E\\u003C\\u002Fli\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Ful\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fnav\\u003E\";}.call(this,\"bannerColor\" in locals_for_with?locals_for_with.bannerColor:typeof bannerColor!==\"undefined\"?bannerColor:undefined,\"brandColor\" in locals_for_with?locals_for_with.brandColor:typeof brandColor!==\"undefined\"?brandColor:undefined,\"brandName\" in locals_for_with?locals_for_with.brandName:typeof brandName!==\"undefined\"?brandName:undefined,\"helpText\" in locals_for_with?locals_for_with.helpText:typeof helpText!==\"undefined\"?helpText:undefined,\"helpTooltip\" in locals_for_with?locals_for_with.helpTooltip:typeof helpTooltip!==\"undefined\"?helpTooltip:undefined,\"helpURL\" in locals_for_with?locals_for_with.helpURL:typeof helpURL!==\"undefined\"?helpURL:undefined));} catch (err) {pug.rethrow(err, pug_debug_filename, pug_debug_line, pug_debug_sources[pug_debug_filename]);};return pug_html;};\nmodule.exports = template;\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/templates/layout/header.pug","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@girder/histomicsui/stylesheets/layout/header.styl\n// module id = 80\n// module chunks = 0","import events from './events';\nimport ImageView from './views/body/ImageView';\n\nimport Router from './router';\n\nfunction bindRoutes() {\n Router.route('', 'index', function () {\n events.trigger('g:navigateTo', ImageView, {});\n });\n return Router;\n}\n\nexport default bindRoutes;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/routes.js","module.exports = (__webpack_require__(2))(25);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/models/FileModel.js from dll-reference girder_plugin_slicer_cli_web\n// module id = 82\n// module chunks = 0","module.exports = (__webpack_require__(2))(50);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/collections/FolderCollection.js from dll-reference girder_plugin_slicer_cli_web\n// module id = 83\n// module chunks = 0","module.exports = (__webpack_require__(5))(74);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/@girder/large_image_annotation/views/index.js from dll-reference girder_plugin_large_image_annotation\n// module id = 84\n// module chunks = 0","module.exports = (__webpack_require__(2))(27);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/@girder/slicer_cli_web/views/PanelGroup.js from dll-reference girder_plugin_slicer_cli_web\n// module id = 85\n// module chunks = 0","module.exports = (__webpack_require__(5))(24);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/@girder/large_image_annotation/collections/AnnotationCollection.js from dll-reference girder_plugin_large_image_annotation\n// module id = 86\n// module chunks = 0","module.exports = (__webpack_require__(5))(64);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/@girder/large_image_annotation/annotations/index.js from dll-reference girder_plugin_large_image_annotation\n// module id = 87\n// module chunks = 0","module.exports = (__webpack_require__(5))(65);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/@girder/large_image_annotation/annotations/geojs/index.js from dll-reference girder_plugin_large_image_annotation\n// module id = 88\n// module chunks = 0","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"underscore\"), require(\"backbone\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"underscore\", \"backbone\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Backbone.LocalStorage\"] = factory(require(\"underscore\"), require(\"backbone\"));\n\telse\n\t\troot[\"Backbone.LocalStorage\"] = factory(root[\"_\"], root[\"Backbone\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_1__, __WEBPACK_EXTERNAL_MODULE_2__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \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\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// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\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, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\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/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 7);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.guid = guid;\nexports.getLocalStorage = getLocalStorage;\nexports.getWindow = getWindow;\n\nvar _underscore = __webpack_require__(1);\n\n/** Generates 4 random hex digits\n * @returns {string} 4 Random hex digits\n*/\nfunction s4() {\n var rand = (1 + Math.random()) * 0x10000;\n return (rand | 0).toString(16).substring(1);\n}\n\n/** Generate a pseudo-guid\n * @returns {string} A GUID-like string.\n */\nfunction guid() {\n return '' + s4() + s4() + '-' + s4() + '-' + s4() + '-' + s4() + '-' + s4() + s4() + s4();\n}\n\n/** Returns the localStorage attribute for a model\n * @param {Model} model - Model to get localStorage\n * @returns {Storage} The localstorage\n */\nfunction getLocalStorage(model) {\n return (0, _underscore.result)(model, 'localStorage') || (0, _underscore.result)(model.collection, 'localStorage');\n}\n\n/** Return the window or global object.\n * @returns {window} Window object\n */\nfunction getWindow() {\n return (0, _underscore.isUndefined)(window) ? global : window;\n}\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(6)))\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_1__;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LocalStorage = undefined;\n\nvar _backbone = __webpack_require__(2);\n\nvar _backbone2 = _interopRequireDefault(_backbone);\n\nvar _localstorage = __webpack_require__(4);\n\nvar _sync = __webpack_require__(5);\n\nvar _utils = __webpack_require__(0);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_backbone2.default.LocalStorage = _localstorage.LocalStorage;\nvar ajaxSync = _backbone2.default.sync;\n\n/** Get the local or ajax sync call\n * @param {Model} model - Model to sync\n * @param {object} options - Options to pass, takes ajaxSync\n * @returns {function} The sync method that will be called\n */\nfunction getSyncMethod(model) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var forceAjaxSync = options.ajaxSync;\n var hasLocalStorage = (0, _utils.getLocalStorage)(model);\n\n return !forceAjaxSync && hasLocalStorage ? _sync.sync : ajaxSync;\n}\n\n_backbone2.default.sync = function (method, model, options) {\n return getSyncMethod(model, options).apply(this, [method, model, options]);\n};\n\nexports.LocalStorage = _localstorage.LocalStorage;\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LocalStorage = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _underscore = __webpack_require__(1);\n\nvar _utils = __webpack_require__(0);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/** The default serializer for transforming your saved data to localStorage */\nvar defaultSerializer = {\n\n /** Return a JSON-serialized string representation of item\n * @param {Object} item - The encoded model data\n * @returns {string} A JSON-encoded string\n */\n serialize: function serialize(item) {\n return (0, _underscore.isObject)(item) ? JSON.stringify(item) : item;\n },\n\n\n /** Custom deserialization for data. This includes a fix for an Android bug\n * which raises an error attempting to deserialize null\n * @param {string} data - JSON-encoded string\n * @returns {Object} The object result of parsing data\n */\n deserialize: function deserialize(data) {\n return data && JSON.parse(data);\n }\n};\n\n/** LocalStorage proxy class for Backbone models.\n * Usage:\n * export const MyModel = Backbone.Model.extend({\n * localStorage: new LocalStorage('MyModelName')\n * });\n */\n\nvar LocalStorage = exports.LocalStorage = function () {\n function LocalStorage() {\n var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var serializer = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultSerializer;\n\n _classCallCheck(this, LocalStorage);\n\n this.name = name;\n this.serializer = serializer;\n\n if (!this.localStorage) {\n throw 'Backbone.localStorage: Environment does not support localStorage.';\n }\n\n var store = this._getItem(this.name);\n this.records = store && store.split(',') || [];\n }\n\n /** Return the global localStorage variable\n * @returns {Object} Local Storage reference.\n */\n\n\n _createClass(LocalStorage, [{\n key: 'localStorage',\n value: function localStorage() {\n return (0, _utils.getWindow)().localStorage;\n }\n\n /** Save the current status to localStorage\n * @returns {undefined}\n */\n\n }, {\n key: 'save',\n value: function save() {\n this._setItem(this.name, this.records.join(','));\n }\n\n /** Add a new model with a unique GUID, if it doesn't already have its own ID\n * @param {Model} model - The Backbone Model to save to LocalStorage\n * @returns {Model} The saved model\n */\n\n }, {\n key: 'create',\n value: function create(model) {\n if (!model.id && model.id !== 0) {\n model.id = (0, _utils.guid)();\n model.set(model.idAttribute, model.id);\n }\n\n this._setItem(this._itemName(model.id), this.serializer.serialize(model));\n this.records.push(model.id.toString());\n this.save();\n\n return this.find(model);\n }\n\n /** Update an existing model in LocalStorage\n * @param {Model} model - The model to update\n * @returns {Model} The updated model\n */\n\n }, {\n key: 'update',\n value: function update(model) {\n this._setItem(this._itemName(model.id), this.serializer.serialize(model));\n\n var modelId = model.id.toString();\n\n if (!(0, _underscore.contains)(this.records, modelId)) {\n this.records.push(modelId);\n this.save();\n }\n return this.find(model);\n }\n\n /** Retrieve a model from local storage by model id\n * @param {Model} model - The Backbone Model to lookup\n * @returns {Model} The model from LocalStorage\n */\n\n }, {\n key: 'find',\n value: function find(model) {\n return this.serializer.deserialize(this._getItem(this._itemName(model.id)));\n }\n\n /** Return all models from LocalStorage\n * @returns {Array} The array of models stored\n */\n\n }, {\n key: 'findAll',\n value: function findAll() {\n var _this = this;\n\n return (0, _underscore.chain)(this.records).map(function (id) {\n return _this.serializer.deserialize(_this._getItem(_this._itemName(id)));\n }).filter(function (item) {\n return item != null;\n }).value();\n }\n\n /** Delete a model from `this.data`, returning it.\n * @param {Model} model - Model to delete\n * @returns {Model} Model removed from this.data\n */\n\n }, {\n key: 'destroy',\n value: function destroy(model) {\n this._removeItem(this._itemName(model.id));\n var newRecords = (0, _underscore.without)(this.records, model.id.toString());\n\n this.records = newRecords;\n this.save();\n\n return model;\n }\n\n /** Clear localStorage for a collection\n * @returns {undefined}\n */\n\n }, {\n key: '_clear',\n value: function _clear() {\n var local = this.localStorage();\n var itemRe = new RegExp('^' + this.name + '-');\n\n // Remove id-tracking item (e.g., \"foo\").\n local.removeItem(this.name);\n\n // Match all data items (e.g., \"foo-ID\") and remove.\n for (var k in local) {\n if (itemRe.test(k)) {\n local.removeItem(k);\n }\n }\n\n this.records.length = 0;\n }\n\n /** Number of items in localStorage\n * @returns {integer} - Number of items\n */\n\n }, {\n key: '_storageSize',\n value: function _storageSize() {\n return this.localStorage().length;\n }\n\n /** Return the item from localStorage\n * @param {string} name - Name to lookup\n * @returns {string} Value from localStorage\n */\n\n }, {\n key: '_getItem',\n value: function _getItem(name) {\n return this.localStorage().getItem(name);\n }\n\n /** Return the item name to lookup in localStorage\n * @param {integer} id - Item ID\n * @returns {string} Item name\n */\n\n }, {\n key: '_itemName',\n value: function _itemName(id) {\n return this.name + '-' + id;\n }\n\n /** Proxy to the localStorage setItem value method\n * @param {string} key - LocalStorage key to set\n * @param {string} value - LocalStorage value to set\n * @returns {undefined}\n */\n\n }, {\n key: '_setItem',\n value: function _setItem(key, value) {\n this.localStorage().setItem(key, value);\n }\n\n /** Proxy to the localStorage removeItem method\n * @param {string} key - LocalStorage key to remove\n * @returns {undefined}\n */\n\n }, {\n key: '_removeItem',\n value: function _removeItem(key) {\n this.localStorage().removeItem(key);\n }\n }]);\n\n return LocalStorage;\n}();\n\n;\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.sync = sync;\n\nvar _backbone = __webpack_require__(2);\n\nvar _backbone2 = _interopRequireDefault(_backbone);\n\nvar _underscore = __webpack_require__(1);\n\nvar _utils = __webpack_require__(0);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/** Get the Deferred status from $ if we have jQuery, otherwise use Backbone's\n * @returns {boolean} - Whether the request was deferred\n*/\nfunction getDeferred() {\n if (_backbone2.default.$) {\n return (0, _underscore.result)(_backbone2.default.$, 'Deferred', false);\n }\n return (0, _underscore.result)(_backbone2.default, 'Deferred', false);\n}\n\n/** Override Backbone's `sync` method to run against localStorage\n * @param {string} method - One of read/create/update/delete\n * @param {Model} model - Backbone model to sync\n * @param {Object} options - Options object, use `ajaxSync: true` to run the\n * operation against the server in which case, options will also be passed into\n * `jQuery.ajax`\n * @returns {undefined}\n */\nfunction sync(method, model) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n var store = (0, _utils.getLocalStorage)(model);\n var resp = void 0,\n errorMessage = void 0;\n var syncDfd = getDeferred();\n\n try {\n switch (method) {\n case 'read':\n resp = (0, _underscore.isUndefined)(model.id) ? store.findAll() : store.find(model);\n break;\n case 'create':\n resp = store.create(model);\n break;\n case 'patch':\n case 'update':\n resp = store.update(model);\n break;\n case 'delete':\n resp = store.destroy(model);\n break;\n }\n } catch (error) {\n if (error.code === 22 && store._storageSize() === 0) {\n errorMessage = 'Private browsing is unsupported';\n } else {\n errorMessage = error.message;\n }\n }\n\n if (resp) {\n if (options.success) {\n options.success.call(model, resp, options);\n }\n if (syncDfd) {\n syncDfd.resolve(resp);\n }\n } else {\n errorMessage = errorMessage ? errorMessage : 'Record Not Found';\n\n if (options.error) {\n options.error.call(model, errorMessage, options);\n }\n if (syncDfd) {\n syncDfd.reject(errorMessage);\n }\n }\n\n // add compatibility with $.ajax\n // always execute callback for success and error\n if (options.complete) {\n options.complete.call(model, resp);\n }\n\n return syncDfd && syncDfd.promise();\n}\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports) {\n\nvar g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(3);\n\n\n/***/ })\n/******/ ]);\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@girder/histomicsui/node_modules/backbone.localstorage/build/backbone.localStorage.js\n// module id = 89\n// module chunks = 0","var pug = require(\"!../../../../pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;var pug_debug_filename, pug_debug_line;try {var pug_debug_sources = {\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\":\".list-group.h-annotation-context-menu\\n a.h-remove-group.list-group-item(href='#')\\n span.icon-cancel\\n | Remove group\\n each group in groups\\n if group\\n a.h-set-group.list-group-item(href='#', data-group=group)\\n span.icon-right-big\\n = group\\n if numberSelected === 1\\n a.list-group-item.h-edit-shape(href='#', title='Keyboard shortcut: e')\\n | #[span.icon-pencil] Edit Shape\\n a.list-group-item.h-edit-elements(href='#')\\n | #[span.icon-cog] Edit Properties\\n a.list-group-item.h-remove-elements(href='#')\\n | #[span.icon-trash] Delete\\n\"};\n;var locals_for_with = (locals || {});(function (groups, numberSelected) {;pug_debug_line = 1;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"list-group h-annotation-context-menu\\\"\\u003E\";\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\npug_html = pug_html + \"\\u003Ca class=\\\"h-remove-group list-group-item\\\" href=\\\"#\\\"\\u003E\";\n;pug_debug_line = 3;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-cancel\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\npug_html = pug_html + \"Remove group\\u003C\\u002Fa\\u003E\";\n;pug_debug_line = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\n// iterate groups\n;(function(){\n var $$obj = groups;\n if ('number' == typeof $$obj.length) {\n for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) {\n var group = $$obj[pug_index0];\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\nif (group) {\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"h-set-group list-group-item\\\"\"+\" href=\\\"#\\\"\"+pug.attr(\"data-group\", group, true, true)) + \"\\u003E\";\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-right-big\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 9;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = group) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\";\n}\n }\n } else {\n var $$l = 0;\n for (var pug_index0 in $$obj) {\n $$l++;\n var group = $$obj[pug_index0];\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\nif (group) {\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"h-set-group list-group-item\\\"\"+\" href=\\\"#\\\"\"+pug.attr(\"data-group\", group, true, true)) + \"\\u003E\";\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-right-big\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 9;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = group) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\";\n}\n }\n }\n}).call(this);\n\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\nif (numberSelected === 1) {\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\npug_html = pug_html + \"\\u003Ca class=\\\"list-group-item h-edit-shape\\\" href=\\\"#\\\" title=\\\"Keyboard shortcut: e\\\"\\u003E\";\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\npug_html = pug_html + \"\";\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-pencil\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\npug_html = pug_html + \" Edit Shape\\u003C\\u002Fa\\u003E\";\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\npug_html = pug_html + \"\\u003Ca class=\\\"list-group-item h-edit-elements\\\" href=\\\"#\\\"\\u003E\";\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\npug_html = pug_html + \"\";\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-cog\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\npug_html = pug_html + \" Edit Properties\\u003C\\u002Fa\\u003E\";\n}\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\npug_html = pug_html + \"\\u003Ca class=\\\"list-group-item h-remove-elements\\\" href=\\\"#\\\"\\u003E\";\n;pug_debug_line = 16;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\npug_html = pug_html + \"\";\n;pug_debug_line = 16;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-trash\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 16;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\npug_html = pug_html + \" Delete\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"groups\" in locals_for_with?locals_for_with.groups:typeof groups!==\"undefined\"?groups:undefined,\"numberSelected\" in locals_for_with?locals_for_with.numberSelected:typeof numberSelected!==\"undefined\"?numberSelected:undefined));} catch (err) {pug.rethrow(err, pug_debug_filename, pug_debug_line, pug_debug_sources[pug_debug_filename]);};return pug_html;};\nmodule.exports = template;\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/templates/popover/annotationContextMenu.pug","module.exports = (__webpack_require__(5))(48);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/@girder/large_image_annotation/collections/ElementCollection.js from dll-reference girder_plugin_large_image_annotation\n// module id = 91\n// module chunks = 0","var pug = require(\"!../../../../pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;var pug_debug_filename, pug_debug_line;try {var pug_debug_sources = {\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\":\".h-annotation-popover\\n - var annotationCount = 0;\\n each annotation in annotations\\n\\n \\u002F\\u002F- show at most 4 annotations\\n if annotationCount \\u003C 4\\n - annotationCount += 1;\\n - var id = annotation.id;\\n - var a = annotation.get('annotation');\\n - var user = users[annotation.get('creatorId')];\\n - var upuser = annotation.get('updatedId') !== annotation.get('creatorId') ? users[annotation.get('updatedId')] : undefined;\\n h4.h-annotation-name\\n = a.name\\n if annotation.get('updated') && annotation.get('updated') !== annotation.get('created')\\n .h-annotation-updated\\n span Updated:\\n = formatDate(\\u002F^\\\\d+$\\u002F.test(annotation.get('updated')) ? parseInt(annotation.get('updated'), 10) : annotation.get('updated'))\\n if upuser\\n .h-annotation-updater\\n = `${upuser.firstName} ${upuser.lastName} (${upuser.login})`\\n .h-annotation-created\\n span Created:\\n = formatDate(annotation.get('created'))\\n if user\\n .h-annotation-creator\\n = `${user.firstName} ${user.lastName} (${user.login})`\\n if a.description\\n p.h-annotation-description\\n = a.description\\n\\n .h-annotation-elements\\n - var elementCount = 0;\\n each element in elements[id]\\n\\n \\u002F\\u002F- show at most 10 elements per annotation\\n if elementCount \\u003C 10\\n - elementCount += 1;\\n - var type = element.get('type');\\n - var props = elementProperties(element);\\n .h-element-type\\n = type\\n table\\n for value, key in props\\n tr\\n td #{key}\\n td #{value}\\n - var add = elementAdditionalValues(element, annotation)\\n if add\\n | !{add}\\n\"};\n;var locals_for_with = (locals || {});(function (annotations, elementAdditionalValues, elementProperties, elements, formatDate, parseInt, users) {;pug_debug_line = 1;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-annotation-popover\\\"\\u003E\";\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nvar annotationCount = 0;\n;pug_debug_line = 3;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\n// iterate annotations\n;(function(){\n var $$obj = annotations;\n if ('number' == typeof $$obj.length) {\n for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) {\n var annotation = $$obj[pug_index0];\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nif (annotationCount < 4) {\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nannotationCount += 1;\n{\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nvar id = annotation.id;\n;pug_debug_line = 9;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nvar a = annotation.get('annotation');\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nvar user = users[annotation.get('creatorId')];\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nvar upuser = annotation.get('updatedId') !== annotation.get('creatorId') ? users[annotation.get('updatedId')] : undefined;\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ch4 class=\\\"h-annotation-name\\\"\\u003E\";\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = a.name) ? \"\" : pug_interp)) + \"\\u003C\\u002Fh4\\u003E\";\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nif (annotation.get('updated') && annotation.get('updated') !== annotation.get('created')) {\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-annotation-updated\\\"\\u003E\";\n;pug_debug_line = 16;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Cspan\\u003E\";\n;pug_debug_line = 16;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"Updated:\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 17;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = formatDate(/^\\d+$/.test(annotation.get('updated')) ? parseInt(annotation.get('updated'), 10) : annotation.get('updated'))) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 18;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nif (upuser) {\n;pug_debug_line = 19;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-annotation-updater\\\"\\u003E\";\n;pug_debug_line = 20;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = `${upuser.firstName} ${upuser.lastName} (${upuser.login})`) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n}\n}\n;pug_debug_line = 21;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-annotation-created\\\"\\u003E\";\n;pug_debug_line = 22;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Cspan\\u003E\";\n;pug_debug_line = 22;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"Created:\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 23;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = formatDate(annotation.get('created'))) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 24;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nif (user) {\n;pug_debug_line = 25;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-annotation-creator\\\"\\u003E\";\n;pug_debug_line = 26;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = `${user.firstName} ${user.lastName} (${user.login})`) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n}\n;pug_debug_line = 27;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nif (a.description) {\n;pug_debug_line = 28;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Cp class=\\\"h-annotation-description\\\"\\u003E\";\n;pug_debug_line = 29;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = a.description) ? \"\" : pug_interp)) + \"\\u003C\\u002Fp\\u003E\";\n}\n;pug_debug_line = 31;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-annotation-elements\\\"\\u003E\";\n;pug_debug_line = 32;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nvar elementCount = 0;\n;pug_debug_line = 33;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\n// iterate elements[id]\n;(function(){\n var $$obj = elements[id];\n if ('number' == typeof $$obj.length) {\n for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) {\n var element = $$obj[pug_index1];\n;pug_debug_line = 36;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nif (elementCount < 10) {\n;pug_debug_line = 37;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nelementCount += 1;\n;pug_debug_line = 38;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nvar type = element.get('type');\n;pug_debug_line = 39;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nvar props = elementProperties(element);\n;pug_debug_line = 40;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-element-type\\\"\\u003E\";\n;pug_debug_line = 41;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = type) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 42;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctable\\u003E\";\n;pug_debug_line = 43;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\n// iterate props\n;(function(){\n var $$obj = props;\n if ('number' == typeof $$obj.length) {\n for (var key = 0, $$l = $$obj.length; key < $$l; key++) {\n var value = $$obj[key];\n;pug_debug_line = 44;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctr\\u003E\";\n;pug_debug_line = 45;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctd\\u003E\";\n;pug_debug_line = 45;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = key) ? \"\" : pug_interp));\n;pug_debug_line = 46;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctd\\u003E\";\n;pug_debug_line = 46;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = value) ? \"\" : pug_interp)) + \"\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftr\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var key in $$obj) {\n $$l++;\n var value = $$obj[key];\n;pug_debug_line = 44;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctr\\u003E\";\n;pug_debug_line = 45;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctd\\u003E\";\n;pug_debug_line = 45;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = key) ? \"\" : pug_interp));\n;pug_debug_line = 46;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctd\\u003E\";\n;pug_debug_line = 46;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = value) ? \"\" : pug_interp)) + \"\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftr\\u003E\";\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Ftable\\u003E\";\n;pug_debug_line = 47;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nvar add = elementAdditionalValues(element, annotation)\n;pug_debug_line = 48;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nif (add) {\n;pug_debug_line = 49;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (null == (pug_interp = add) ? \"\" : pug_interp);\n}\n}\n }\n } else {\n var $$l = 0;\n for (var pug_index1 in $$obj) {\n $$l++;\n var element = $$obj[pug_index1];\n;pug_debug_line = 36;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nif (elementCount < 10) {\n;pug_debug_line = 37;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nelementCount += 1;\n;pug_debug_line = 38;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nvar type = element.get('type');\n;pug_debug_line = 39;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nvar props = elementProperties(element);\n;pug_debug_line = 40;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-element-type\\\"\\u003E\";\n;pug_debug_line = 41;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = type) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 42;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctable\\u003E\";\n;pug_debug_line = 43;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\n// iterate props\n;(function(){\n var $$obj = props;\n if ('number' == typeof $$obj.length) {\n for (var key = 0, $$l = $$obj.length; key < $$l; key++) {\n var value = $$obj[key];\n;pug_debug_line = 44;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctr\\u003E\";\n;pug_debug_line = 45;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctd\\u003E\";\n;pug_debug_line = 45;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = key) ? \"\" : pug_interp));\n;pug_debug_line = 46;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctd\\u003E\";\n;pug_debug_line = 46;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = value) ? \"\" : pug_interp)) + \"\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftr\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var key in $$obj) {\n $$l++;\n var value = $$obj[key];\n;pug_debug_line = 44;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctr\\u003E\";\n;pug_debug_line = 45;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctd\\u003E\";\n;pug_debug_line = 45;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = key) ? \"\" : pug_interp));\n;pug_debug_line = 46;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctd\\u003E\";\n;pug_debug_line = 46;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = value) ? \"\" : pug_interp)) + \"\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftr\\u003E\";\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Ftable\\u003E\";\n;pug_debug_line = 47;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nvar add = elementAdditionalValues(element, annotation)\n;pug_debug_line = 48;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nif (add) {\n;pug_debug_line = 49;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (null == (pug_interp = add) ? \"\" : pug_interp);\n}\n}\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";\n}\n}\n }\n } else {\n var $$l = 0;\n for (var pug_index0 in $$obj) {\n $$l++;\n var annotation = $$obj[pug_index0];\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nif (annotationCount < 4) {\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nannotationCount += 1;\n{\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nvar id = annotation.id;\n;pug_debug_line = 9;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nvar a = annotation.get('annotation');\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nvar user = users[annotation.get('creatorId')];\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nvar upuser = annotation.get('updatedId') !== annotation.get('creatorId') ? users[annotation.get('updatedId')] : undefined;\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ch4 class=\\\"h-annotation-name\\\"\\u003E\";\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = a.name) ? \"\" : pug_interp)) + \"\\u003C\\u002Fh4\\u003E\";\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nif (annotation.get('updated') && annotation.get('updated') !== annotation.get('created')) {\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-annotation-updated\\\"\\u003E\";\n;pug_debug_line = 16;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Cspan\\u003E\";\n;pug_debug_line = 16;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"Updated:\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 17;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = formatDate(/^\\d+$/.test(annotation.get('updated')) ? parseInt(annotation.get('updated'), 10) : annotation.get('updated'))) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 18;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nif (upuser) {\n;pug_debug_line = 19;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-annotation-updater\\\"\\u003E\";\n;pug_debug_line = 20;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = `${upuser.firstName} ${upuser.lastName} (${upuser.login})`) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n}\n}\n;pug_debug_line = 21;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-annotation-created\\\"\\u003E\";\n;pug_debug_line = 22;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Cspan\\u003E\";\n;pug_debug_line = 22;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"Created:\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 23;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = formatDate(annotation.get('created'))) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 24;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nif (user) {\n;pug_debug_line = 25;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-annotation-creator\\\"\\u003E\";\n;pug_debug_line = 26;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = `${user.firstName} ${user.lastName} (${user.login})`) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n}\n;pug_debug_line = 27;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nif (a.description) {\n;pug_debug_line = 28;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Cp class=\\\"h-annotation-description\\\"\\u003E\";\n;pug_debug_line = 29;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = a.description) ? \"\" : pug_interp)) + \"\\u003C\\u002Fp\\u003E\";\n}\n;pug_debug_line = 31;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-annotation-elements\\\"\\u003E\";\n;pug_debug_line = 32;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nvar elementCount = 0;\n;pug_debug_line = 33;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\n// iterate elements[id]\n;(function(){\n var $$obj = elements[id];\n if ('number' == typeof $$obj.length) {\n for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) {\n var element = $$obj[pug_index4];\n;pug_debug_line = 36;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nif (elementCount < 10) {\n;pug_debug_line = 37;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nelementCount += 1;\n;pug_debug_line = 38;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nvar type = element.get('type');\n;pug_debug_line = 39;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nvar props = elementProperties(element);\n;pug_debug_line = 40;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-element-type\\\"\\u003E\";\n;pug_debug_line = 41;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = type) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 42;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctable\\u003E\";\n;pug_debug_line = 43;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\n// iterate props\n;(function(){\n var $$obj = props;\n if ('number' == typeof $$obj.length) {\n for (var key = 0, $$l = $$obj.length; key < $$l; key++) {\n var value = $$obj[key];\n;pug_debug_line = 44;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctr\\u003E\";\n;pug_debug_line = 45;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctd\\u003E\";\n;pug_debug_line = 45;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = key) ? \"\" : pug_interp));\n;pug_debug_line = 46;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctd\\u003E\";\n;pug_debug_line = 46;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = value) ? \"\" : pug_interp)) + \"\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftr\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var key in $$obj) {\n $$l++;\n var value = $$obj[key];\n;pug_debug_line = 44;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctr\\u003E\";\n;pug_debug_line = 45;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctd\\u003E\";\n;pug_debug_line = 45;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = key) ? \"\" : pug_interp));\n;pug_debug_line = 46;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctd\\u003E\";\n;pug_debug_line = 46;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = value) ? \"\" : pug_interp)) + \"\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftr\\u003E\";\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Ftable\\u003E\";\n;pug_debug_line = 47;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nvar add = elementAdditionalValues(element, annotation)\n;pug_debug_line = 48;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nif (add) {\n;pug_debug_line = 49;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (null == (pug_interp = add) ? \"\" : pug_interp);\n}\n}\n }\n } else {\n var $$l = 0;\n for (var pug_index4 in $$obj) {\n $$l++;\n var element = $$obj[pug_index4];\n;pug_debug_line = 36;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nif (elementCount < 10) {\n;pug_debug_line = 37;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nelementCount += 1;\n;pug_debug_line = 38;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nvar type = element.get('type');\n;pug_debug_line = 39;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nvar props = elementProperties(element);\n;pug_debug_line = 40;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-element-type\\\"\\u003E\";\n;pug_debug_line = 41;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = type) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 42;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctable\\u003E\";\n;pug_debug_line = 43;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\n// iterate props\n;(function(){\n var $$obj = props;\n if ('number' == typeof $$obj.length) {\n for (var key = 0, $$l = $$obj.length; key < $$l; key++) {\n var value = $$obj[key];\n;pug_debug_line = 44;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctr\\u003E\";\n;pug_debug_line = 45;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctd\\u003E\";\n;pug_debug_line = 45;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = key) ? \"\" : pug_interp));\n;pug_debug_line = 46;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctd\\u003E\";\n;pug_debug_line = 46;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = value) ? \"\" : pug_interp)) + \"\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftr\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var key in $$obj) {\n $$l++;\n var value = $$obj[key];\n;pug_debug_line = 44;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctr\\u003E\";\n;pug_debug_line = 45;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctd\\u003E\";\n;pug_debug_line = 45;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = key) ? \"\" : pug_interp));\n;pug_debug_line = 46;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctd\\u003E\";\n;pug_debug_line = 46;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = value) ? \"\" : pug_interp)) + \"\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftr\\u003E\";\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Ftable\\u003E\";\n;pug_debug_line = 47;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nvar add = elementAdditionalValues(element, annotation)\n;pug_debug_line = 48;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nif (add) {\n;pug_debug_line = 49;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (null == (pug_interp = add) ? \"\" : pug_interp);\n}\n}\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";\n}\n}\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";}.call(this,\"annotations\" in locals_for_with?locals_for_with.annotations:typeof annotations!==\"undefined\"?annotations:undefined,\"elementAdditionalValues\" in locals_for_with?locals_for_with.elementAdditionalValues:typeof elementAdditionalValues!==\"undefined\"?elementAdditionalValues:undefined,\"elementProperties\" in locals_for_with?locals_for_with.elementProperties:typeof elementProperties!==\"undefined\"?elementProperties:undefined,\"elements\" in locals_for_with?locals_for_with.elements:typeof elements!==\"undefined\"?elements:undefined,\"formatDate\" in locals_for_with?locals_for_with.formatDate:typeof formatDate!==\"undefined\"?formatDate:undefined,\"parseInt\" in locals_for_with?locals_for_with.parseInt:typeof parseInt!==\"undefined\"?parseInt:undefined,\"users\" in locals_for_with?locals_for_with.users:typeof users!==\"undefined\"?users:undefined));} catch (err) {pug.rethrow(err, pug_debug_filename, pug_debug_line, pug_debug_sources[pug_debug_filename]);};return pug_html;};\nmodule.exports = template;\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/templates/popover/annotationPopover.pug","var pug = require(\"!../../../../pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;var pug_debug_filename, pug_debug_line;try {var pug_debug_sources = {\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopoverMetadata.pug\":\"if element.user\\n .annotation-element-metadata-table\\n table\\n for entry in Object.entries(element.user)\\n if typeof entry[1] === 'string' || typeof entry[1] === 'number' || entry[1] instanceof String\\n tr\\n td\\n = entry[0]\\n td\\n if typeof entry[1] === 'number'\\n = parseFloat(entry[1].toPrecision(6))\\n else\\n = entry[1]\\n\"};\n;var locals_for_with = (locals || {});(function (Object, String, element, parseFloat) {;pug_debug_line = 1;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopoverMetadata.pug\";\nif (element.user) {\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopoverMetadata.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"annotation-element-metadata-table\\\"\\u003E\";\n;pug_debug_line = 3;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopoverMetadata.pug\";\npug_html = pug_html + \"\\u003Ctable\\u003E\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopoverMetadata.pug\";\n// iterate Object.entries(element.user)\n;(function(){\n var $$obj = Object.entries(element.user);\n if ('number' == typeof $$obj.length) {\n for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) {\n var entry = $$obj[pug_index0];\n;pug_debug_line = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopoverMetadata.pug\";\nif (typeof entry[1] === 'string' || typeof entry[1] === 'number' || entry[1] instanceof String) {\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopoverMetadata.pug\";\npug_html = pug_html + \"\\u003Ctr\\u003E\";\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopoverMetadata.pug\";\npug_html = pug_html + \"\\u003Ctd\\u003E\";\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopoverMetadata.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = entry[0]) ? \"\" : pug_interp)) + \"\\u003C\\u002Ftd\\u003E\";\n;pug_debug_line = 9;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopoverMetadata.pug\";\npug_html = pug_html + \"\\u003Ctd\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopoverMetadata.pug\";\nif (typeof entry[1] === 'number') {\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopoverMetadata.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = parseFloat(entry[1].toPrecision(6))) ? \"\" : pug_interp));\n}\nelse {\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopoverMetadata.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = entry[1]) ? \"\" : pug_interp));\n}\npug_html = pug_html + \"\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftr\\u003E\";\n}\n }\n } else {\n var $$l = 0;\n for (var pug_index0 in $$obj) {\n $$l++;\n var entry = $$obj[pug_index0];\n;pug_debug_line = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopoverMetadata.pug\";\nif (typeof entry[1] === 'string' || typeof entry[1] === 'number' || entry[1] instanceof String) {\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopoverMetadata.pug\";\npug_html = pug_html + \"\\u003Ctr\\u003E\";\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopoverMetadata.pug\";\npug_html = pug_html + \"\\u003Ctd\\u003E\";\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopoverMetadata.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = entry[0]) ? \"\" : pug_interp)) + \"\\u003C\\u002Ftd\\u003E\";\n;pug_debug_line = 9;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopoverMetadata.pug\";\npug_html = pug_html + \"\\u003Ctd\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopoverMetadata.pug\";\nif (typeof entry[1] === 'number') {\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopoverMetadata.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = parseFloat(entry[1].toPrecision(6))) ? \"\" : pug_interp));\n}\nelse {\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopoverMetadata.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = entry[1]) ? \"\" : pug_interp));\n}\npug_html = pug_html + \"\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftr\\u003E\";\n}\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Ftable\\u003E\\u003C\\u002Fdiv\\u003E\";\n}}.call(this,\"Object\" in locals_for_with?locals_for_with.Object:typeof Object!==\"undefined\"?Object:undefined,\"String\" in locals_for_with?locals_for_with.String:typeof String!==\"undefined\"?String:undefined,\"element\" in locals_for_with?locals_for_with.element:typeof element!==\"undefined\"?element:undefined,\"parseFloat\" in locals_for_with?locals_for_with.parseFloat:typeof parseFloat!==\"undefined\"?parseFloat:undefined));} catch (err) {pug.rethrow(err, pug_debug_filename, pug_debug_line, pug_debug_sources[pug_debug_filename]);};return pug_html;};\nmodule.exports = template;\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/templates/popover/annotationPopoverMetadata.pug","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@girder/histomicsui/stylesheets/popover/annotationPopover.styl\n// module id = 94\n// module chunks = 0","module.exports = (__webpack_require__(5))(25);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/@girder/large_image_annotation/annotations/convert.js from dll-reference girder_plugin_large_image_annotation\n// module id = 95\n// module chunks = 0","import $ from 'jquery';\n\nimport View from '../View';\n\nimport template from '../../templates/popover/pixelmapContextMenu.pug';\nimport '../../stylesheets/popover/annotationContextMenu.styl';\nimport StyleCollection from '../../collections/StyleCollection';\n\nconst PixelmapContextMenu = View.extend({\n events: {\n 'click .h-set-category': '_setCategory'\n },\n\n initialize(settings) {\n this.pixelmap = null;\n this.dtaIndex = -1;\n this.styles = new StyleCollection();\n this.styles.fetch().done(() => this.render);\n },\n\n render() {\n this.$el.html(template({categories: this.styles.map((style) => style.id)}));\n return this;\n },\n\n refetchStyles() {\n this.styles.fetch().done(() => this.render);\n },\n\n updatePixelmap(pixelmapElement, dataIndex) {\n this.pixelmap = pixelmapElement;\n this.dataIndex = dataIndex;\n this.render();\n },\n\n _setCategory(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n const category = $(evt.currentTarget).data('category');\n this.trigger('h:update', this.pixelmap, this.dataIndex, category);\n this.trigger('h:close');\n }\n});\n\nexport default PixelmapContextMenu;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/views/popover/PixelmapContextMenu.js","var pug = require(\"!../../../../pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;var pug_debug_filename, pug_debug_line;try {var pug_debug_sources = {\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FpixelmapContextMenu.pug\":\".list-group.h-annotation-context-menu\\n each category in categories\\n if category\\n a.h-set-category.list-group-item(href='#', data-category=category)\\n span.icon-right-big\\n = category\\n\"};\n;var locals_for_with = (locals || {});(function (categories) {;pug_debug_line = 1;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FpixelmapContextMenu.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"list-group h-annotation-context-menu\\\"\\u003E\";\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FpixelmapContextMenu.pug\";\n// iterate categories\n;(function(){\n var $$obj = categories;\n if ('number' == typeof $$obj.length) {\n for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) {\n var category = $$obj[pug_index0];\n;pug_debug_line = 3;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FpixelmapContextMenu.pug\";\nif (category) {\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FpixelmapContextMenu.pug\";\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"h-set-category list-group-item\\\"\"+\" href=\\\"#\\\"\"+pug.attr(\"data-category\", category, true, true)) + \"\\u003E\";\n;pug_debug_line = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FpixelmapContextMenu.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-right-big\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FpixelmapContextMenu.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = category) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\";\n}\n }\n } else {\n var $$l = 0;\n for (var pug_index0 in $$obj) {\n $$l++;\n var category = $$obj[pug_index0];\n;pug_debug_line = 3;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FpixelmapContextMenu.pug\";\nif (category) {\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FpixelmapContextMenu.pug\";\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"h-set-category list-group-item\\\"\"+\" href=\\\"#\\\"\"+pug.attr(\"data-category\", category, true, true)) + \"\\u003E\";\n;pug_debug_line = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FpixelmapContextMenu.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-right-big\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FpixelmapContextMenu.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = category) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\";\n}\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";}.call(this,\"categories\" in locals_for_with?locals_for_with.categories:typeof categories!==\"undefined\"?categories:undefined));} catch (err) {pug.rethrow(err, pug_debug_filename, pug_debug_line, pug_debug_sources[pug_debug_filename]);};return pug_html;};\nmodule.exports = template;\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/templates/popover/pixelmapContextMenu.pug","module.exports = (__webpack_require__(13))(243);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/index.js from dll-reference girder_lib\n// module id = 98\n// module chunks = 0","module.exports = (__webpack_require__(5))(23);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/views/widgets/AccessWidget.js from dll-reference girder_plugin_large_image_annotation\n// module id = 99\n// module chunks = 0","module.exports = (__webpack_require__(18))(108);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/@girder/large_image/views/metadataWidget.js from dll-reference girder_plugin_large_image\n// module id = 100\n// module chunks = 0","var pug = require(\"!../../../../pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;var pug_debug_filename, pug_debug_line;try {var pug_debug_sources = {\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataWidgetPanel.pug\":\"extends .\\u002Fpanel.pug\\n\\nblock title\\n | #[span.icon-tags] #{title}\\n if panel && firstKey && firstValue\\n span.g-widget-metadata-header-key-value #{firstKey+' '+firstValue+' '}\\nblock controls\\n if accessLevel \\u003E= AccessType.WRITE\\n span.s-no-panel-toggle\\n | !{contents}\\n if panel\\n span.s-no-panel-toggle.h-panel-maximize\\n i.icon-resize-full(title=\\\"Maximize\\\")\\n\\nblock content\\n .g-widget-metadata-container\\n\",\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\":\".s-panel-title-container\\n span.s-panel-title.h-panel-title\\n block title\\n | #{title}\\n span.s-panel-controls\\n block controls\\n if collapsed\\n i.icon-down-open\\n else\\n i.icon-up-open\\n if removeButton\\n i.icon-cancel.s-remove-panel(data-target=`#${id}`)\\n\\n- var attrs = {}\\nif !collapsed\\n - attrs.class = 'in'\\n.s-panel-content.collapse&attributes(attrs)\\n block content\\n\"};\n;var locals_for_with = (locals || {});(function (AccessType, accessLevel, collapsed, contents, firstKey, firstValue, id, panel, removeButton, title) {;pug_debug_line = 1;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"s-panel-title-container\\\"\\u003E\";\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"s-panel-title h-panel-title\\\"\\u003E\";\n;pug_debug_line = 3;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataWidgetPanel.pug\";\npug_html = pug_html + \"\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataWidgetPanel.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-tags\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataWidgetPanel.pug\";\npug_html = pug_html + \" \";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataWidgetPanel.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = title) ? \"\" : pug_interp));\n;pug_debug_line = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataWidgetPanel.pug\";\nif (panel && firstKey && firstValue) {\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataWidgetPanel.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"g-widget-metadata-header-key-value\\\"\\u003E\";\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataWidgetPanel.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = firstKey+' '+firstValue+' ') ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"s-panel-controls\\\"\\u003E\";\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataWidgetPanel.pug\";\nif (accessLevel >= AccessType.WRITE) {\n;pug_debug_line = 9;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataWidgetPanel.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"s-no-panel-toggle\\\"\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataWidgetPanel.pug\";\npug_html = pug_html + (null == (pug_interp = contents) ? \"\" : pug_interp) + \"\\u003C\\u002Fspan\\u003E\";\n}\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataWidgetPanel.pug\";\nif (panel) {\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataWidgetPanel.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"s-no-panel-toggle h-panel-maximize\\\"\\u003E\";\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataWidgetPanel.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-resize-full\\\" title=\\\"Maximize\\\"\\u003E\\u003C\\u002Fi\\u003E\\u003C\\u002Fspan\\u003E\";\n}\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nif (collapsed) {\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-down-open\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n}\nelse {\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-up-open\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n}\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nif (removeButton) {\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Ci\" + (\" class=\\\"icon-cancel s-remove-panel\\\"\"+pug.attr(\"data-target\", `#${id}`, true, true)) + \"\\u003E\\u003C\\u002Fi\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nvar attrs = {}\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nif (!collapsed) {\n;pug_debug_line = 16;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nattrs.class = 'in'\n}\n;pug_debug_line = 17;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Cdiv\" + (pug.attrs(pug.merge([{\"class\": \"s-panel-content collapse\"},attrs]), true)) + \"\\u003E\";\n;pug_debug_line = 18;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\n;pug_debug_line = 16;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataWidgetPanel.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"g-widget-metadata-container\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"AccessType\" in locals_for_with?locals_for_with.AccessType:typeof AccessType!==\"undefined\"?AccessType:undefined,\"accessLevel\" in locals_for_with?locals_for_with.accessLevel:typeof accessLevel!==\"undefined\"?accessLevel:undefined,\"collapsed\" in locals_for_with?locals_for_with.collapsed:typeof collapsed!==\"undefined\"?collapsed:undefined,\"contents\" in locals_for_with?locals_for_with.contents:typeof contents!==\"undefined\"?contents:undefined,\"firstKey\" in locals_for_with?locals_for_with.firstKey:typeof firstKey!==\"undefined\"?firstKey:undefined,\"firstValue\" in locals_for_with?locals_for_with.firstValue:typeof firstValue!==\"undefined\"?firstValue:undefined,\"id\" in locals_for_with?locals_for_with.id:typeof id!==\"undefined\"?id:undefined,\"panel\" in locals_for_with?locals_for_with.panel:typeof panel!==\"undefined\"?panel:undefined,\"removeButton\" in locals_for_with?locals_for_with.removeButton:typeof removeButton!==\"undefined\"?removeButton:undefined,\"title\" in locals_for_with?locals_for_with.title:typeof title!==\"undefined\"?title:undefined));} catch (err) {pug.rethrow(err, pug_debug_filename, pug_debug_line, pug_debug_sources[pug_debug_filename]);};return pug_html;};\nmodule.exports = template;\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/templates/panels/metadataWidgetPanel.pug","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@girder/histomicsui/stylesheets/panels/metadataWidget.styl\n// module id = 102\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@girder/histomicsui/stylesheets/dialogs/saveAnnotation.styl\n// module id = 103\n// module chunks = 0","var pug = require(\"!../../../../pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;var pug_debug_filename, pug_debug_line;try {var pug_debug_sources = {\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\":\"mixin functional(name, key, title, color)\\n .form-group.h-functional-value\\n label(for='h-annotation-' + name) #{title}\\n - let anyFuncs = !!Object.keys(styleableFuncs || {}).length;\\n if !anyFuncs\\n .input-group.h-colorpicker(id='h-annotation-colorpicker-' + name)\\n input.input-sm.form-control(id='h-annotation-' + name, type='text', value=defaultStyles[key])\\n span.input-group-addon\\n i\\n else\\n .row\\n .col-sm-2\\n input(id='h-annotation-' + name + '-fixed', type='radio', name=name + '-set', checked=styleFuncs[key].useFunc ? undefined : 'checked')\\n label.unstyled(for='h-annotation-' + name + '-fixed') Constant\\n .col-sm-10\\n .input-group.h-colorpicker(id='h-annotation-colorpicker-' + name)\\n input.input-sm.form-control(id='h-annotation-' + name, type='text', value=defaultStyles[key])\\n span.input-group-addon\\n i\\n .row\\n .col-sm-2\\n input(id='h-annotation-' + name + '-func', type='radio', name=name + '-set', checked=styleFuncs[key].useFunc ? 'checked' : undefined)\\n label.unstyled(for='h-annotation-' + name + '-func') From\\n .col-sm-10\\n select.format-control.input-sm(id='h-annotation-' + name + '-func-list')\\n each sfunc in styleableFuncs\\n if !sfunc.categoric\\n option(value=sfunc.key, selected=styleFuncs[key].key === sfunc.key) #{sfunc.name}\\n .row\\n .col-sm-2\\n .col-sm-3\\n | minimum\\n .input-group.h-colorpicker\\n input.input-sm.form-control(id='h-annotation-' + name + '-min', type='text', value=styleFuncs[key].minColor || defaultStyles[key])\\n span.input-group-addon\\n i\\n .col-sm-2\\n div\\n input(id='h-annotation-' + name + '-min-auto', type='radio', name=name + '-min-set', checked=styleFuncs[key].minSet ? undefined : 'checked')\\n label.unstyled(for='h-annotation-' + name + '-min-auto') auto\\n div\\n input(id='h-annotation-' + name + '-min-setval', type='radio', name=name + '-min-set', checked=styleFuncs[key].minSet ? 'checked' : undefined)\\n input(id='h-annotation-' + name + '-min-val', type='number', step='any', value=styleFuncs[key].minValue)\\n .col-sm-3\\n | maximum\\n .input-group.h-colorpicker\\n input.input-sm.form-control(id='h-annotation-' + name + '-max', type='text', value=styleFuncs[key].maxColor || defaultStyles[key])\\n span.input-group-addon\\n i\\n .col-sm-2\\n div\\n input(id='h-annotation-' + name + '-max-auto', type='radio', name=name + '-max-set', checked=styleFuncs[key].maxSet ? undefined : 'checked')\\n label.unstyled(for='h-annotation-' + name + '-max-auto') auto\\n div\\n input(id='h-annotation-' + name + '-max-setval', type='radio', name=name + '-max-set', checked=styleFuncs[key].maxSet ? 'checked' : undefined)\\n input(id='h-annotation-' + name + '-max-val', type='number', step='any', value=styleFuncs[key].maxValue)\\n\\n- var timestamp = moment().format('YYYY-MM-DD HH:mm')\\n- var defaultName = 'Annotation '+ timestamp\\n.modal-dialog(role='document')\\n .modal-content\\n form.modal-form(role='form')\\n .modal-header\\n button.close(type='button', data-dismiss='modal', aria-label='Close')\\n span(aria-hidden='true') ×\\n h4.modal-title #{title}\\n .modal-body\\n .form-group\\n label(for='h-annotation-name') Name\\n input#h-annotation-name.input-sm.form-control(\\n type='text', placeholder='Enter a name for the annotation', value=annotation.name || defaultName)\\n .form-group\\n label(for='h-annotation-description') Description\\n textarea#h-annotation-description.form-control.input-sm(\\n rows=annotation.description ? '4' : '2', placeholder='Enter an optional description')\\n | #{annotation.description}\\n .form-group(title='If checked, this annotation will be shown when the image is first loaded.')\\n label(for='h-annotation-visible') Show on first load\\n input#h-annotation-visible(type='checkbox', checked=(annotation.display || {}).visible === true ? 'checked' : undefined)\\n if model && model.id\\n .g-item-created.hui-info-list-entry\\n i.icon-clock\\n | Created on #{formatDate(model.get('created'), DATE_SECOND)}\\n .g-model-updated.hui-info-list-entry\\n i.icon-clock\\n | Updated on #{formatDate(model.get('updated'), DATE_SECOND)}\\n .g-model-id.hui-info-list-entry\\n i.icon-share\\n | Unique ID: #{model.id}\\n if model.get('_version')\\n = ' '\\n i.icon-angle-circled-down\\n | Global Version: #{model.get('_version')}\\n .hui-annotation-metadata.hui-annotation-metadata-dialog\\n if showStyleEditor\\n hr\\n h4 Set the style for all point, line, and polygon elements in this annotation\\n .form-group\\n label(for='h-annotation-line-width') Line Width\\n input#h-annotation-line-width.input-sm.form-control(\\n type='number', min=0, step=0.1, value=defaultStyles.lineWidth)\\n +functional('line-color', 'lineColor', 'Line color', true)\\n +functional('fill-color', 'fillColor', 'Fill color', true)\\n .g-validation-failed-message.hidden\\n .modal-footer\\n if hasAdmin\\n button.btn.btn-warning.h-access(type='button') Permissions\\n button.btn.btn-default.h-cancel(type='button', data-dismiss='modal') Cancel\\n button.btn.btn-primary.h-submit(type='submit') Save\\n\"};\n;var locals_for_with = (locals || {});(function (DATE_SECOND, Object, annotation, defaultStyles, formatDate, hasAdmin, model, moment, showStyleEditor, styleFuncs, styleableFuncs, title) {;pug_debug_line = 1;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_mixins[\"functional\"] = pug_interp = function(name, key, title, color){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group h-functional-value\\\"\\u003E\";\n;pug_debug_line = 3;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Clabel\" + (pug.attr(\"for\", 'h-annotation-' + name, true, true)) + \"\\u003E\";\n;pug_debug_line = 3;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = title) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\nlet anyFuncs = !!Object.keys(styleableFuncs || {}).length;\n;pug_debug_line = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\nif (!anyFuncs) {\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv\" + (\" class=\\\"input-group h-colorpicker\\\"\"+pug.attr(\"id\", 'h-annotation-colorpicker-' + name, true, true)) + \"\\u003E\";\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" class=\\\"input-sm form-control\\\"\"+pug.attr(\"id\", 'h-annotation-' + name, true, true)+\" type=\\\"text\\\"\"+pug.attr(\"value\", defaultStyles[key], true, true)) + \"\\u003E\";\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"input-group-addon\\\"\\u003E\";\n;pug_debug_line = 9;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Ci\\u003E\\u003C\\u002Fi\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\nelse {\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"row\\\"\\u003E\";\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"col-sm-2\\\"\\u003E\";\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (pug.attr(\"id\", 'h-annotation-' + name + '-fixed', true, true)+\" type=\\\"radio\\\"\"+pug.attr(\"name\", name + '-set', true, true)+pug.attr(\"checked\", styleFuncs[key].useFunc ? undefined : 'checked', true, true)) + \"\\u003E\";\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Clabel\" + (\" class=\\\"unstyled\\\"\"+pug.attr(\"for\", 'h-annotation-' + name + '-fixed', true, true)) + \"\\u003E\";\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"Constant\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"col-sm-10\\\"\\u003E\";\n;pug_debug_line = 16;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv\" + (\" class=\\\"input-group h-colorpicker\\\"\"+pug.attr(\"id\", 'h-annotation-colorpicker-' + name, true, true)) + \"\\u003E\";\n;pug_debug_line = 17;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" class=\\\"input-sm form-control\\\"\"+pug.attr(\"id\", 'h-annotation-' + name, true, true)+\" type=\\\"text\\\"\"+pug.attr(\"value\", defaultStyles[key], true, true)) + \"\\u003E\";\n;pug_debug_line = 18;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"input-group-addon\\\"\\u003E\";\n;pug_debug_line = 19;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Ci\\u003E\\u003C\\u002Fi\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 20;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"row\\\"\\u003E\";\n;pug_debug_line = 21;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"col-sm-2\\\"\\u003E\";\n;pug_debug_line = 22;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (pug.attr(\"id\", 'h-annotation-' + name + '-func', true, true)+\" type=\\\"radio\\\"\"+pug.attr(\"name\", name + '-set', true, true)+pug.attr(\"checked\", styleFuncs[key].useFunc ? 'checked' : undefined, true, true)) + \"\\u003E\";\n;pug_debug_line = 23;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Clabel\" + (\" class=\\\"unstyled\\\"\"+pug.attr(\"for\", 'h-annotation-' + name + '-func', true, true)) + \"\\u003E\";\n;pug_debug_line = 23;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"From\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 24;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"col-sm-10\\\"\\u003E\";\n;pug_debug_line = 25;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cselect\" + (\" class=\\\"format-control input-sm\\\"\"+pug.attr(\"id\", 'h-annotation-' + name + '-func-list', true, true)) + \"\\u003E\";\n;pug_debug_line = 26;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\n// iterate styleableFuncs\n;(function(){\n var $$obj = styleableFuncs;\n if ('number' == typeof $$obj.length) {\n for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) {\n var sfunc = $$obj[pug_index0];\n;pug_debug_line = 27;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\nif (!sfunc.categoric) {\n;pug_debug_line = 28;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Coption\" + (pug.attr(\"value\", sfunc.key, true, true)+pug.attr(\"selected\", styleFuncs[key].key === sfunc.key, true, true)) + \"\\u003E\";\n;pug_debug_line = 28;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = sfunc.name) ? \"\" : pug_interp)) + \"\\u003C\\u002Foption\\u003E\";\n}\n }\n } else {\n var $$l = 0;\n for (var pug_index0 in $$obj) {\n $$l++;\n var sfunc = $$obj[pug_index0];\n;pug_debug_line = 27;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\nif (!sfunc.categoric) {\n;pug_debug_line = 28;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Coption\" + (pug.attr(\"value\", sfunc.key, true, true)+pug.attr(\"selected\", styleFuncs[key].key === sfunc.key, true, true)) + \"\\u003E\";\n;pug_debug_line = 28;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = sfunc.name) ? \"\" : pug_interp)) + \"\\u003C\\u002Foption\\u003E\";\n}\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Fselect\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 29;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"row\\\"\\u003E\";\n;pug_debug_line = 30;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"col-sm-2\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 31;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"col-sm-3\\\"\\u003E\";\n;pug_debug_line = 32;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"minimum\";\n;pug_debug_line = 33;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"input-group h-colorpicker\\\"\\u003E\";\n;pug_debug_line = 34;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" class=\\\"input-sm form-control\\\"\"+pug.attr(\"id\", 'h-annotation-' + name + '-min', true, true)+\" type=\\\"text\\\"\"+pug.attr(\"value\", styleFuncs[key].minColor || defaultStyles[key], true, true)) + \"\\u003E\";\n;pug_debug_line = 35;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"input-group-addon\\\"\\u003E\";\n;pug_debug_line = 36;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Ci\\u003E\\u003C\\u002Fi\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 37;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"col-sm-2\\\"\\u003E\";\n;pug_debug_line = 38;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv\\u003E\";\n;pug_debug_line = 39;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (pug.attr(\"id\", 'h-annotation-' + name + '-min-auto', true, true)+\" type=\\\"radio\\\"\"+pug.attr(\"name\", name + '-min-set', true, true)+pug.attr(\"checked\", styleFuncs[key].minSet ? undefined : 'checked', true, true)) + \"\\u003E\";\n;pug_debug_line = 40;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Clabel\" + (\" class=\\\"unstyled\\\"\"+pug.attr(\"for\", 'h-annotation-' + name + '-min-auto', true, true)) + \"\\u003E\";\n;pug_debug_line = 40;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"auto\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 41;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv\\u003E\";\n;pug_debug_line = 42;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (pug.attr(\"id\", 'h-annotation-' + name + '-min-setval', true, true)+\" type=\\\"radio\\\"\"+pug.attr(\"name\", name + '-min-set', true, true)+pug.attr(\"checked\", styleFuncs[key].minSet ? 'checked' : undefined, true, true)) + \"\\u003E\";\n;pug_debug_line = 43;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (pug.attr(\"id\", 'h-annotation-' + name + '-min-val', true, true)+\" type=\\\"number\\\" step=\\\"any\\\"\"+pug.attr(\"value\", styleFuncs[key].minValue, true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 44;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"col-sm-3\\\"\\u003E\";\n;pug_debug_line = 45;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"maximum\";\n;pug_debug_line = 46;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"input-group h-colorpicker\\\"\\u003E\";\n;pug_debug_line = 47;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" class=\\\"input-sm form-control\\\"\"+pug.attr(\"id\", 'h-annotation-' + name + '-max', true, true)+\" type=\\\"text\\\"\"+pug.attr(\"value\", styleFuncs[key].maxColor || defaultStyles[key], true, true)) + \"\\u003E\";\n;pug_debug_line = 48;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"input-group-addon\\\"\\u003E\";\n;pug_debug_line = 49;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Ci\\u003E\\u003C\\u002Fi\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 50;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"col-sm-2\\\"\\u003E\";\n;pug_debug_line = 51;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv\\u003E\";\n;pug_debug_line = 52;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (pug.attr(\"id\", 'h-annotation-' + name + '-max-auto', true, true)+\" type=\\\"radio\\\"\"+pug.attr(\"name\", name + '-max-set', true, true)+pug.attr(\"checked\", styleFuncs[key].maxSet ? undefined : 'checked', true, true)) + \"\\u003E\";\n;pug_debug_line = 53;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Clabel\" + (\" class=\\\"unstyled\\\"\"+pug.attr(\"for\", 'h-annotation-' + name + '-max-auto', true, true)) + \"\\u003E\";\n;pug_debug_line = 53;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"auto\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 54;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv\\u003E\";\n;pug_debug_line = 55;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (pug.attr(\"id\", 'h-annotation-' + name + '-max-setval', true, true)+\" type=\\\"radio\\\"\"+pug.attr(\"name\", name + '-max-set', true, true)+pug.attr(\"checked\", styleFuncs[key].maxSet ? 'checked' : undefined, true, true)) + \"\\u003E\";\n;pug_debug_line = 56;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (pug.attr(\"id\", 'h-annotation-' + name + '-max-val', true, true)+\" type=\\\"number\\\" step=\\\"any\\\"\"+pug.attr(\"value\", styleFuncs[key].maxValue, true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";\n};\n;pug_debug_line = 58;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\nvar timestamp = moment().format('YYYY-MM-DD HH:mm')\n;pug_debug_line = 59;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\nvar defaultName = 'Annotation '+ timestamp\n;pug_debug_line = 60;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"modal-dialog\\\" role=\\\"document\\\"\\u003E\";\n;pug_debug_line = 61;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"modal-content\\\"\\u003E\";\n;pug_debug_line = 62;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cform class=\\\"modal-form\\\" role=\\\"form\\\"\\u003E\";\n;pug_debug_line = 63;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"modal-header\\\"\\u003E\";\n;pug_debug_line = 64;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"close\\\" type=\\\"button\\\" data-dismiss=\\\"modal\\\" aria-label=\\\"Close\\\"\\u003E\";\n;pug_debug_line = 65;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cspan aria-hidden=\\\"true\\\"\\u003E\";\n;pug_debug_line = 65;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"×\\u003C\\u002Fspan\\u003E\\u003C\\u002Fbutton\\u003E\";\n;pug_debug_line = 66;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Ch4 class=\\\"modal-title\\\"\\u003E\";\n;pug_debug_line = 66;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = title) ? \"\" : pug_interp)) + \"\\u003C\\u002Fh4\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 67;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"modal-body\\\"\\u003E\";\n;pug_debug_line = 68;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\";\n;pug_debug_line = 69;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Clabel for=\\\"h-annotation-name\\\"\\u003E\";\n;pug_debug_line = 69;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"Name\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 70;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" class=\\\"input-sm form-control\\\"\"+\" id=\\\"h-annotation-name\\\" type=\\\"text\\\" placeholder=\\\"Enter a name for the annotation\\\"\"+pug.attr(\"value\", annotation.name || defaultName, true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 72;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\";\n;pug_debug_line = 73;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Clabel for=\\\"h-annotation-description\\\"\\u003E\";\n;pug_debug_line = 73;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"Description\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 74;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Ctextarea\" + (\" class=\\\"form-control input-sm\\\"\"+\" id=\\\"h-annotation-description\\\"\"+pug.attr(\"rows\", annotation.description ? '4' : '2', true, true)+\" placeholder=\\\"Enter an optional description\\\"\") + \"\\u003E\";\n;pug_debug_line = 76;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = annotation.description) ? \"\" : pug_interp)) + \"\\u003C\\u002Ftextarea\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 77;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\" title=\\\"If checked, this annotation will be shown when the image is first loaded.\\\"\\u003E\";\n;pug_debug_line = 78;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Clabel for=\\\"h-annotation-visible\\\"\\u003E\";\n;pug_debug_line = 78;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"Show on first load\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 79;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" id=\\\"h-annotation-visible\\\" type=\\\"checkbox\\\"\"+pug.attr(\"checked\", (annotation.display || {}).visible === true ? 'checked' : undefined, true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 80;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\nif (model && model.id) {\n;pug_debug_line = 81;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"g-item-created hui-info-list-entry\\\"\\u003E\";\n;pug_debug_line = 82;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-clock\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n;pug_debug_line = 83;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"Created on \";\n;pug_debug_line = 83;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = formatDate(model.get('created'), DATE_SECOND)) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 84;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"g-model-updated hui-info-list-entry\\\"\\u003E\";\n;pug_debug_line = 85;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-clock\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n;pug_debug_line = 86;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"Updated on \";\n;pug_debug_line = 86;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = formatDate(model.get('updated'), DATE_SECOND)) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 87;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"g-model-id hui-info-list-entry\\\"\\u003E\";\n;pug_debug_line = 88;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-share\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n;pug_debug_line = 89;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"Unique ID: \";\n;pug_debug_line = 89;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = model.id) ? \"\" : pug_interp));\n;pug_debug_line = 90;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\nif (model.get('_version')) {\n;pug_debug_line = 91;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = ' ') ? \"\" : pug_interp));\n;pug_debug_line = 92;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-angle-circled-down\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n;pug_debug_line = 93;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"Global Version: \";\n;pug_debug_line = 93;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = model.get('_version')) ? \"\" : pug_interp));\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 94;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"hui-annotation-metadata hui-annotation-metadata-dialog\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\n;pug_debug_line = 95;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\nif (showStyleEditor) {\n;pug_debug_line = 96;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Chr\\u003E\";\n;pug_debug_line = 97;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Ch4\\u003E\";\n;pug_debug_line = 97;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"Set the style for all point, line, and polygon elements in this annotation\\u003C\\u002Fh4\\u003E\";\n;pug_debug_line = 98;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\";\n;pug_debug_line = 99;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Clabel for=\\\"h-annotation-line-width\\\"\\u003E\";\n;pug_debug_line = 99;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"Line Width\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 100;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" class=\\\"input-sm form-control\\\"\"+\" id=\\\"h-annotation-line-width\\\" type=\\\"number\\\" min=\\\"0\\\" step=\\\"0.1\\\"\"+pug.attr(\"value\", defaultStyles.lineWidth, true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 102;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_mixins[\"functional\"]('line-color', 'lineColor', 'Line color', true);\n;pug_debug_line = 103;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_mixins[\"functional\"]('fill-color', 'fillColor', 'Fill color', true);\n}\n;pug_debug_line = 104;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"g-validation-failed-message hidden\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 105;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"modal-footer\\\"\\u003E\";\n;pug_debug_line = 106;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\nif (hasAdmin) {\n;pug_debug_line = 107;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"btn btn-warning h-access\\\" type=\\\"button\\\"\\u003E\";\n;pug_debug_line = 107;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"Permissions\\u003C\\u002Fbutton\\u003E\";\n}\n;pug_debug_line = 108;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"btn btn-default h-cancel\\\" type=\\\"button\\\" data-dismiss=\\\"modal\\\"\\u003E\";\n;pug_debug_line = 108;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"Cancel\\u003C\\u002Fbutton\\u003E\";\n;pug_debug_line = 109;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"btn btn-primary h-submit\\\" type=\\\"submit\\\"\\u003E\";\n;pug_debug_line = 109;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"Save\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fform\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"DATE_SECOND\" in locals_for_with?locals_for_with.DATE_SECOND:typeof DATE_SECOND!==\"undefined\"?DATE_SECOND:undefined,\"Object\" in locals_for_with?locals_for_with.Object:typeof Object!==\"undefined\"?Object:undefined,\"annotation\" in locals_for_with?locals_for_with.annotation:typeof annotation!==\"undefined\"?annotation:undefined,\"defaultStyles\" in locals_for_with?locals_for_with.defaultStyles:typeof defaultStyles!==\"undefined\"?defaultStyles:undefined,\"formatDate\" in locals_for_with?locals_for_with.formatDate:typeof formatDate!==\"undefined\"?formatDate:undefined,\"hasAdmin\" in locals_for_with?locals_for_with.hasAdmin:typeof hasAdmin!==\"undefined\"?hasAdmin:undefined,\"model\" in locals_for_with?locals_for_with.model:typeof model!==\"undefined\"?model:undefined,\"moment\" in locals_for_with?locals_for_with.moment:typeof moment!==\"undefined\"?moment:undefined,\"showStyleEditor\" in locals_for_with?locals_for_with.showStyleEditor:typeof showStyleEditor!==\"undefined\"?showStyleEditor:undefined,\"styleFuncs\" in locals_for_with?locals_for_with.styleFuncs:typeof styleFuncs!==\"undefined\"?styleFuncs:undefined,\"styleableFuncs\" in locals_for_with?locals_for_with.styleableFuncs:typeof styleableFuncs!==\"undefined\"?styleableFuncs:undefined,\"title\" in locals_for_with?locals_for_with.title:typeof title!==\"undefined\"?title:undefined));} catch (err) {pug.rethrow(err, pug_debug_filename, pug_debug_line, pug_debug_sources[pug_debug_filename]);};return pug_html;};\nmodule.exports = template;\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/templates/dialogs/saveAnnotation.pug","var pug = require(\"!../../../../pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;var pug_debug_filename, pug_debug_line;try {var pug_debug_sources = {\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\":\"extends .\\u002Fpanel.pug\\n\\nblock title\\n | #[span.icon-tags] #[span.icon-spin1.animate-spin.save-mark(title=\\\"Saving Annotations\\\")] #{title}\\n\\nblock content\\n .btn-group.h-hide-show-buttons(role='group')\\n .btn-group.btn-group-sm(role='group')\\n button.btn.btn-default.h-show-all-annotations(type='button', title='Show all annotations. Keyboard shortcut: a')\\n | #[span.icon-eye]\\n .btn-group.btn-group-sm(role='group')\\n button.btn.btn-default.h-hide-all-annotations(type='button', title='Hide all annotations. Keyboard shortcut: a')\\n | #[span.icon-eye-off]\\n span.h-annotation-opacity-container(title=`Annotation total opacity ${(opacity * 100).toFixed()}%`)\\n input#h-annotation-opacity(\\n type=\\\"range\\\", min=\\\"0\\\", max=\\\"1\\\", step=\\\"0.01\\\", value=opacity)\\n span.h-annotation-fill-opacity-container(title=`Annotation fill opacity ${(fillOpacity * 100).toFixed()}%`)\\n input#h-annotation-fill-opacity(\\n type=\\\"range\\\", min=\\\"0\\\", max=\\\"1\\\", step=\\\"0.01\\\", value=fillOpacity)\\n .btn-group.btn-group-sm(role='group')\\n button.btn.btn-default.h-annotation-select-by-region(type='button', title='Select annotations by region. Keyboard shortcut: s; S selects using a polygon; C clears selection')\\n | #[span.icon-marquee]\\n\\n - var groups = _.keys(annotationGroups);\\n - groups.sort();\\n each groupName in groups\\n - var annotations = annotationGroups[groupName];\\n - var expanded = expandedGroups.has(groupName);\\n - var expandedClass = expanded ? 'h-group-expanded' : 'h-group-collapsed';\\n .h-annotation-group(class=[expandedClass], data-group-name=groupName)\\n .h-annotation-group-name.clearfix\\n if expanded\\n i.icon-folder-open\\n else\\n i.icon-folder\\n = groupName\\n if expanded\\n each annotation in annotations\\n - var name = annotation.get('annotation').name;\\n - var displayed = annotation.get('displayed');\\n - var partial = annotation._centroids && annotation._centroids.partial\\n - var loading = annotation.get('loading');\\n - var classes = [];\\n if annotation.id === activeAnnotation\\n - classes.push('h-active-annotation');\\n if annotation.get('highlight')\\n - classes.push('h-highlight-annotation')\\n .h-annotation(data-id=annotation.id, class=classes)\\n if loading\\n span.icon-spin3.animate-spin.h-float-left\\n else if displayed\\n span.icon-eye.h-toggle-annotation.h-float-left(\\n title='Hide annotation' + (partial ? '. Annotation is only partially loaded' : ''), class=partial ? 'partial' : '')\\n else\\n span.icon-eye-off.h-toggle-annotation.h-float-left(\\n title='Show annotation')\\n span.h-annotation-name(title=name) #{name}\\n\\n span.h-annotation-right\\n if writeAccess(annotation, true)\\n span.icon-cancel.h-delete-annotation(\\n title='Remove annotation')\\n if writeAccess(annotation)\\n span.icon-cog.h-edit-annotation-metadata(\\n title='Edit annotation')\\n a(href=annotation.downloadUrl().replace(\\u002F\\\\\\u002Fdownload$\\u002F, ''),\\n download=name + '.json')\\n span.icon-download.h-download-annotation(\\n title='Download annotation')\\n\\n .checkbox.h-annotation-toggle\\n label(title='Show annotation labels when hovering with the mouse.')\\n input#h-toggle-labels(type='checkbox', checked=showLabels)\\n | Labels\\n label(title='Highlight annotations when hovering with the mouse.')\\n input#h-toggle-interactive(type='checkbox', checked=interactiveMode)\\n | Interactive\\n button.btn.btn-sm.btn-primary.h-create-annotation(title='Create a new annotation. Keyboard shortcut: space bar', class=annotationAccess ? '' : 'hidden')\\n | #[span.icon-plus-squared] New\\n .clearfix\\n\",\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\":\".s-panel-title-container\\n span.s-panel-title.h-panel-title\\n block title\\n | #{title}\\n span.s-panel-controls\\n block controls\\n if collapsed\\n i.icon-down-open\\n else\\n i.icon-up-open\\n if removeButton\\n i.icon-cancel.s-remove-panel(data-target=`#${id}`)\\n\\n- var attrs = {}\\nif !collapsed\\n - attrs.class = 'in'\\n.s-panel-content.collapse&attributes(attrs)\\n block content\\n\"};\n;var locals_for_with = (locals || {});(function (_, activeAnnotation, annotationAccess, annotationGroups, collapsed, expandedGroups, fillOpacity, id, interactiveMode, opacity, removeButton, showLabels, title, writeAccess) {;pug_debug_line = 1;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"s-panel-title-container\\\"\\u003E\";\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"s-panel-title h-panel-title\\\"\\u003E\";\n;pug_debug_line = 3;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-tags\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \" \";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-spin1 animate-spin save-mark\\\" title=\\\"Saving Annotations\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \" \";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = title) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"s-panel-controls\\\"\\u003E\";\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nif (collapsed) {\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-down-open\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n}\nelse {\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-up-open\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n}\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nif (removeButton) {\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Ci\" + (\" class=\\\"icon-cancel s-remove-panel\\\"\"+pug.attr(\"data-target\", `#${id}`, true, true)) + \"\\u003E\\u003C\\u002Fi\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nvar attrs = {}\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nif (!collapsed) {\n;pug_debug_line = 16;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nattrs.class = 'in'\n}\n;pug_debug_line = 17;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Cdiv\" + (pug.attrs(pug.merge([{\"class\": \"s-panel-content collapse\"},attrs]), true)) + \"\\u003E\";\n;pug_debug_line = 18;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"btn-group h-hide-show-buttons\\\" role=\\\"group\\\"\\u003E\";\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"btn-group btn-group-sm\\\" role=\\\"group\\\"\\u003E\";\n;pug_debug_line = 9;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"btn btn-default h-show-all-annotations\\\" type=\\\"button\\\" title=\\\"Show all annotations. Keyboard shortcut: a\\\"\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-eye\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"btn-group btn-group-sm\\\" role=\\\"group\\\"\\u003E\";\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"btn btn-default h-hide-all-annotations\\\" type=\\\"button\\\" title=\\\"Hide all annotations. Keyboard shortcut: a\\\"\\u003E\";\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\";\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-eye-off\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan\" + (\" class=\\\"h-annotation-opacity-container\\\"\"+pug.attr(\"title\", `Annotation total opacity ${(opacity * 100).toFixed()}%`, true, true)) + \"\\u003E\";\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" id=\\\"h-annotation-opacity\\\" type=\\\"range\\\" min=\\\"0\\\" max=\\\"1\\\" step=\\\"0.01\\\"\"+pug.attr(\"value\", opacity, true, true)) + \"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 17;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan\" + (\" class=\\\"h-annotation-fill-opacity-container\\\"\"+pug.attr(\"title\", `Annotation fill opacity ${(fillOpacity * 100).toFixed()}%`, true, true)) + \"\\u003E\";\n;pug_debug_line = 18;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" id=\\\"h-annotation-fill-opacity\\\" type=\\\"range\\\" min=\\\"0\\\" max=\\\"1\\\" step=\\\"0.01\\\"\"+pug.attr(\"value\", fillOpacity, true, true)) + \"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 20;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"btn-group btn-group-sm\\\" role=\\\"group\\\"\\u003E\";\n;pug_debug_line = 21;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"btn btn-default h-annotation-select-by-region\\\" type=\\\"button\\\" title=\\\"Select annotations by region. Keyboard shortcut: s; S selects using a polygon; C clears selection\\\"\\u003E\";\n;pug_debug_line = 22;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\";\n;pug_debug_line = 22;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-marquee\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 22;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 24;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar groups = _.keys(annotationGroups);\n;pug_debug_line = 25;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\ngroups.sort();\n;pug_debug_line = 26;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\n// iterate groups\n;(function(){\n var $$obj = groups;\n if ('number' == typeof $$obj.length) {\n for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) {\n var groupName = $$obj[pug_index0];\n;pug_debug_line = 27;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar annotations = annotationGroups[groupName];\n;pug_debug_line = 28;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar expanded = expandedGroups.has(groupName);\n;pug_debug_line = 29;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar expandedClass = expanded ? 'h-group-expanded' : 'h-group-collapsed';\n;pug_debug_line = 30;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cdiv\" + (pug.attr(\"class\", pug.classes([\"h-annotation-group\",[expandedClass]], [false,true]), false, true)+pug.attr(\"data-group-name\", groupName, true, true)) + \"\\u003E\";\n;pug_debug_line = 31;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-annotation-group-name clearfix\\\"\\u003E\";\n;pug_debug_line = 32;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (expanded) {\n;pug_debug_line = 33;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-folder-open\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n}\nelse {\n;pug_debug_line = 35;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-folder\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n}\n;pug_debug_line = 36;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = groupName) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 37;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (expanded) {\n;pug_debug_line = 38;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\n// iterate annotations\n;(function(){\n var $$obj = annotations;\n if ('number' == typeof $$obj.length) {\n for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) {\n var annotation = $$obj[pug_index1];\n;pug_debug_line = 39;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar name = annotation.get('annotation').name;\n;pug_debug_line = 40;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar displayed = annotation.get('displayed');\n;pug_debug_line = 41;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar partial = annotation._centroids && annotation._centroids.partial\n;pug_debug_line = 42;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar loading = annotation.get('loading');\n;pug_debug_line = 43;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar classes = [];\n;pug_debug_line = 44;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (annotation.id === activeAnnotation) {\n;pug_debug_line = 45;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nclasses.push('h-active-annotation');\n}\n;pug_debug_line = 46;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (annotation.get('highlight')) {\n;pug_debug_line = 47;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nclasses.push('h-highlight-annotation')\n}\n;pug_debug_line = 48;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cdiv\" + (pug.attr(\"class\", pug.classes([\"h-annotation\",classes], [false,true]), false, true)+pug.attr(\"data-id\", annotation.id, true, true)) + \"\\u003E\";\n;pug_debug_line = 49;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (loading) {\n;pug_debug_line = 50;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-spin3 animate-spin h-float-left\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\nelse\nif (displayed) {\n;pug_debug_line = 52;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan\" + (pug.attr(\"class\", pug.classes([\"icon-eye\",\"h-toggle-annotation\",\"h-float-left\",partial ? 'partial' : ''], [false,false,false,true]), false, true)+pug.attr(\"title\", 'Hide annotation' + (partial ? '. Annotation is only partially loaded' : ''), true, true)) + \"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\nelse {\n;pug_debug_line = 55;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-eye-off h-toggle-annotation h-float-left\\\" title=\\\"Show annotation\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\n;pug_debug_line = 57;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan\" + (\" class=\\\"h-annotation-name\\\"\"+pug.attr(\"title\", name, true, true)) + \"\\u003E\";\n;pug_debug_line = 57;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = name) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 59;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"h-annotation-right\\\"\\u003E\";\n;pug_debug_line = 60;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (writeAccess(annotation, true)) {\n;pug_debug_line = 61;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-cancel h-delete-annotation\\\" title=\\\"Remove annotation\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\n;pug_debug_line = 63;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (writeAccess(annotation)) {\n;pug_debug_line = 64;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-cog h-edit-annotation-metadata\\\" title=\\\"Edit annotation\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\n;pug_debug_line = 66;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Ca\" + (pug.attr(\"href\", annotation.downloadUrl().replace(/\\/download$/, ''), true, true)+pug.attr(\"download\", name + '.json', true, true)) + \"\\u003E\";\n;pug_debug_line = 68;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-download h-download-annotation\\\" title=\\\"Download annotation\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fa\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var pug_index1 in $$obj) {\n $$l++;\n var annotation = $$obj[pug_index1];\n;pug_debug_line = 39;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar name = annotation.get('annotation').name;\n;pug_debug_line = 40;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar displayed = annotation.get('displayed');\n;pug_debug_line = 41;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar partial = annotation._centroids && annotation._centroids.partial\n;pug_debug_line = 42;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar loading = annotation.get('loading');\n;pug_debug_line = 43;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar classes = [];\n;pug_debug_line = 44;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (annotation.id === activeAnnotation) {\n;pug_debug_line = 45;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nclasses.push('h-active-annotation');\n}\n;pug_debug_line = 46;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (annotation.get('highlight')) {\n;pug_debug_line = 47;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nclasses.push('h-highlight-annotation')\n}\n;pug_debug_line = 48;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cdiv\" + (pug.attr(\"class\", pug.classes([\"h-annotation\",classes], [false,true]), false, true)+pug.attr(\"data-id\", annotation.id, true, true)) + \"\\u003E\";\n;pug_debug_line = 49;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (loading) {\n;pug_debug_line = 50;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-spin3 animate-spin h-float-left\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\nelse\nif (displayed) {\n;pug_debug_line = 52;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan\" + (pug.attr(\"class\", pug.classes([\"icon-eye\",\"h-toggle-annotation\",\"h-float-left\",partial ? 'partial' : ''], [false,false,false,true]), false, true)+pug.attr(\"title\", 'Hide annotation' + (partial ? '. Annotation is only partially loaded' : ''), true, true)) + \"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\nelse {\n;pug_debug_line = 55;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-eye-off h-toggle-annotation h-float-left\\\" title=\\\"Show annotation\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\n;pug_debug_line = 57;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan\" + (\" class=\\\"h-annotation-name\\\"\"+pug.attr(\"title\", name, true, true)) + \"\\u003E\";\n;pug_debug_line = 57;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = name) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 59;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"h-annotation-right\\\"\\u003E\";\n;pug_debug_line = 60;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (writeAccess(annotation, true)) {\n;pug_debug_line = 61;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-cancel h-delete-annotation\\\" title=\\\"Remove annotation\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\n;pug_debug_line = 63;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (writeAccess(annotation)) {\n;pug_debug_line = 64;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-cog h-edit-annotation-metadata\\\" title=\\\"Edit annotation\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\n;pug_debug_line = 66;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Ca\" + (pug.attr(\"href\", annotation.downloadUrl().replace(/\\/download$/, ''), true, true)+pug.attr(\"download\", name + '.json', true, true)) + \"\\u003E\";\n;pug_debug_line = 68;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-download h-download-annotation\\\" title=\\\"Download annotation\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fa\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";\n }\n }\n}).call(this);\n\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var pug_index0 in $$obj) {\n $$l++;\n var groupName = $$obj[pug_index0];\n;pug_debug_line = 27;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar annotations = annotationGroups[groupName];\n;pug_debug_line = 28;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar expanded = expandedGroups.has(groupName);\n;pug_debug_line = 29;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar expandedClass = expanded ? 'h-group-expanded' : 'h-group-collapsed';\n;pug_debug_line = 30;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cdiv\" + (pug.attr(\"class\", pug.classes([\"h-annotation-group\",[expandedClass]], [false,true]), false, true)+pug.attr(\"data-group-name\", groupName, true, true)) + \"\\u003E\";\n;pug_debug_line = 31;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-annotation-group-name clearfix\\\"\\u003E\";\n;pug_debug_line = 32;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (expanded) {\n;pug_debug_line = 33;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-folder-open\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n}\nelse {\n;pug_debug_line = 35;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-folder\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n}\n;pug_debug_line = 36;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = groupName) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 37;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (expanded) {\n;pug_debug_line = 38;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\n// iterate annotations\n;(function(){\n var $$obj = annotations;\n if ('number' == typeof $$obj.length) {\n for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) {\n var annotation = $$obj[pug_index2];\n;pug_debug_line = 39;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar name = annotation.get('annotation').name;\n;pug_debug_line = 40;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar displayed = annotation.get('displayed');\n;pug_debug_line = 41;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar partial = annotation._centroids && annotation._centroids.partial\n;pug_debug_line = 42;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar loading = annotation.get('loading');\n;pug_debug_line = 43;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar classes = [];\n;pug_debug_line = 44;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (annotation.id === activeAnnotation) {\n;pug_debug_line = 45;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nclasses.push('h-active-annotation');\n}\n;pug_debug_line = 46;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (annotation.get('highlight')) {\n;pug_debug_line = 47;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nclasses.push('h-highlight-annotation')\n}\n;pug_debug_line = 48;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cdiv\" + (pug.attr(\"class\", pug.classes([\"h-annotation\",classes], [false,true]), false, true)+pug.attr(\"data-id\", annotation.id, true, true)) + \"\\u003E\";\n;pug_debug_line = 49;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (loading) {\n;pug_debug_line = 50;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-spin3 animate-spin h-float-left\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\nelse\nif (displayed) {\n;pug_debug_line = 52;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan\" + (pug.attr(\"class\", pug.classes([\"icon-eye\",\"h-toggle-annotation\",\"h-float-left\",partial ? 'partial' : ''], [false,false,false,true]), false, true)+pug.attr(\"title\", 'Hide annotation' + (partial ? '. Annotation is only partially loaded' : ''), true, true)) + \"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\nelse {\n;pug_debug_line = 55;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-eye-off h-toggle-annotation h-float-left\\\" title=\\\"Show annotation\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\n;pug_debug_line = 57;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan\" + (\" class=\\\"h-annotation-name\\\"\"+pug.attr(\"title\", name, true, true)) + \"\\u003E\";\n;pug_debug_line = 57;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = name) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 59;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"h-annotation-right\\\"\\u003E\";\n;pug_debug_line = 60;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (writeAccess(annotation, true)) {\n;pug_debug_line = 61;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-cancel h-delete-annotation\\\" title=\\\"Remove annotation\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\n;pug_debug_line = 63;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (writeAccess(annotation)) {\n;pug_debug_line = 64;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-cog h-edit-annotation-metadata\\\" title=\\\"Edit annotation\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\n;pug_debug_line = 66;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Ca\" + (pug.attr(\"href\", annotation.downloadUrl().replace(/\\/download$/, ''), true, true)+pug.attr(\"download\", name + '.json', true, true)) + \"\\u003E\";\n;pug_debug_line = 68;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-download h-download-annotation\\\" title=\\\"Download annotation\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fa\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var pug_index2 in $$obj) {\n $$l++;\n var annotation = $$obj[pug_index2];\n;pug_debug_line = 39;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar name = annotation.get('annotation').name;\n;pug_debug_line = 40;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar displayed = annotation.get('displayed');\n;pug_debug_line = 41;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar partial = annotation._centroids && annotation._centroids.partial\n;pug_debug_line = 42;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar loading = annotation.get('loading');\n;pug_debug_line = 43;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar classes = [];\n;pug_debug_line = 44;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (annotation.id === activeAnnotation) {\n;pug_debug_line = 45;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nclasses.push('h-active-annotation');\n}\n;pug_debug_line = 46;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (annotation.get('highlight')) {\n;pug_debug_line = 47;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nclasses.push('h-highlight-annotation')\n}\n;pug_debug_line = 48;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cdiv\" + (pug.attr(\"class\", pug.classes([\"h-annotation\",classes], [false,true]), false, true)+pug.attr(\"data-id\", annotation.id, true, true)) + \"\\u003E\";\n;pug_debug_line = 49;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (loading) {\n;pug_debug_line = 50;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-spin3 animate-spin h-float-left\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\nelse\nif (displayed) {\n;pug_debug_line = 52;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan\" + (pug.attr(\"class\", pug.classes([\"icon-eye\",\"h-toggle-annotation\",\"h-float-left\",partial ? 'partial' : ''], [false,false,false,true]), false, true)+pug.attr(\"title\", 'Hide annotation' + (partial ? '. Annotation is only partially loaded' : ''), true, true)) + \"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\nelse {\n;pug_debug_line = 55;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-eye-off h-toggle-annotation h-float-left\\\" title=\\\"Show annotation\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\n;pug_debug_line = 57;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan\" + (\" class=\\\"h-annotation-name\\\"\"+pug.attr(\"title\", name, true, true)) + \"\\u003E\";\n;pug_debug_line = 57;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = name) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 59;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"h-annotation-right\\\"\\u003E\";\n;pug_debug_line = 60;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (writeAccess(annotation, true)) {\n;pug_debug_line = 61;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-cancel h-delete-annotation\\\" title=\\\"Remove annotation\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\n;pug_debug_line = 63;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (writeAccess(annotation)) {\n;pug_debug_line = 64;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-cog h-edit-annotation-metadata\\\" title=\\\"Edit annotation\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\n;pug_debug_line = 66;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Ca\" + (pug.attr(\"href\", annotation.downloadUrl().replace(/\\/download$/, ''), true, true)+pug.attr(\"download\", name + '.json', true, true)) + \"\\u003E\";\n;pug_debug_line = 68;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-download h-download-annotation\\\" title=\\\"Download annotation\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fa\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";\n }\n }\n}).call(this);\n\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";\n }\n }\n}).call(this);\n\n;pug_debug_line = 71;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"checkbox h-annotation-toggle\\\"\\u003E\";\n;pug_debug_line = 72;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Clabel title=\\\"Show annotation labels when hovering with the mouse.\\\"\\u003E\";\n;pug_debug_line = 73;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" id=\\\"h-toggle-labels\\\" type=\\\"checkbox\\\"\"+pug.attr(\"checked\", showLabels, true, true)) + \"\\u003E\";\n;pug_debug_line = 74;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"Labels\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 75;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Clabel title=\\\"Highlight annotations when hovering with the mouse.\\\"\\u003E\";\n;pug_debug_line = 76;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" id=\\\"h-toggle-interactive\\\" type=\\\"checkbox\\\"\"+pug.attr(\"checked\", interactiveMode, true, true)) + \"\\u003E\";\n;pug_debug_line = 77;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"Interactive\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 78;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cbutton\" + (pug.attr(\"class\", pug.classes([\"btn\",\"btn-sm\",\"btn-primary\",\"h-create-annotation\",annotationAccess ? '' : 'hidden'], [false,false,false,false,true]), false, true)+\" title=\\\"Create a new annotation. Keyboard shortcut: space bar\\\"\") + \"\\u003E\";\n;pug_debug_line = 79;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\";\n;pug_debug_line = 79;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-plus-squared\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 79;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \" New\\u003C\\u002Fbutton\\u003E\";\n;pug_debug_line = 80;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"clearfix\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"_\" in locals_for_with?locals_for_with._:typeof _!==\"undefined\"?_:undefined,\"activeAnnotation\" in locals_for_with?locals_for_with.activeAnnotation:typeof activeAnnotation!==\"undefined\"?activeAnnotation:undefined,\"annotationAccess\" in locals_for_with?locals_for_with.annotationAccess:typeof annotationAccess!==\"undefined\"?annotationAccess:undefined,\"annotationGroups\" in locals_for_with?locals_for_with.annotationGroups:typeof annotationGroups!==\"undefined\"?annotationGroups:undefined,\"collapsed\" in locals_for_with?locals_for_with.collapsed:typeof collapsed!==\"undefined\"?collapsed:undefined,\"expandedGroups\" in locals_for_with?locals_for_with.expandedGroups:typeof expandedGroups!==\"undefined\"?expandedGroups:undefined,\"fillOpacity\" in locals_for_with?locals_for_with.fillOpacity:typeof fillOpacity!==\"undefined\"?fillOpacity:undefined,\"id\" in locals_for_with?locals_for_with.id:typeof id!==\"undefined\"?id:undefined,\"interactiveMode\" in locals_for_with?locals_for_with.interactiveMode:typeof interactiveMode!==\"undefined\"?interactiveMode:undefined,\"opacity\" in locals_for_with?locals_for_with.opacity:typeof opacity!==\"undefined\"?opacity:undefined,\"removeButton\" in locals_for_with?locals_for_with.removeButton:typeof removeButton!==\"undefined\"?removeButton:undefined,\"showLabels\" in locals_for_with?locals_for_with.showLabels:typeof showLabels!==\"undefined\"?showLabels:undefined,\"title\" in locals_for_with?locals_for_with.title:typeof title!==\"undefined\"?title:undefined,\"writeAccess\" in locals_for_with?locals_for_with.writeAccess:typeof writeAccess!==\"undefined\"?writeAccess:undefined));} catch (err) {pug.rethrow(err, pug_debug_filename, pug_debug_line, pug_debug_sources[pug_debug_filename]);};return pug_html;};\nmodule.exports = template;\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/templates/panels/annotationSelector.pug","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@girder/histomicsui/stylesheets/panels/annotationSelector.styl\n// module id = 106\n// module chunks = 0","/* global geo */\nimport _ from 'underscore';\n\nimport Panel from '@girder/slicer_cli_web/views/Panel';\n\nimport setFrameQuad from '@girder/large_image/views/imageViewerWidget/setFrameQuad.js';\n\nimport overviewWidget from '../templates/panels/overviewWidget.pug';\nimport '../stylesheets/panels/overviewWidget.styl';\n\nvar OverviewWidget = Panel.extend({\n render() {\n this.$el.html(overviewWidget({\n id: 'overview-panel-container',\n collapsed: this.$('.s-panel-content.collapse').length && !this.$('.s-panel-content').hasClass('in')\n }));\n window.setTimeout(() => {\n this._createOverview();\n }, 1);\n return this;\n },\n\n /**\n * Set the viewer instance and set several internal variables used\n * to convert between magnification and zoom level.\n */\n setViewer(viewer) {\n if (viewer !== this.parentViewer) {\n if (this.parentViewer && this.parentViewer.viewer && this._boundOnParentPan) {\n this.parentViewer.viewer.geoOff(geo.event.pan, this._boundOnParentPan);\n this._boundOnParentPan = null;\n }\n this.parentViewer = viewer;\n this._createOverview();\n }\n return this;\n },\n\n setImage(tiles) {\n if (!_.isEqual(tiles, this._tiles)) {\n this._tiles = tiles;\n this._createOverview();\n }\n return this;\n },\n\n _createOverview() {\n if (!this._tiles || !this.parentViewer || !this.parentViewer.viewer || !this.$el.find('.h-overview-image').length) {\n if (this.viewer) {\n this.viewer.exit();\n this.viewer = null;\n }\n return;\n }\n const tiles = this._tiles;\n\n const params = geo.util.pixelCoordinateParams(\n this.$el.find('.h-overview-image'), tiles.sizeX, tiles.sizeY, tiles.tileWidth, tiles.tileHeight);\n params.layer.useCredentials = true;\n params.layer.url = this.parentViewer.getFrameAndUrl().url;\n if (tiles.tileWidth > 8192 || tiles.tileHeight > 8192) {\n params.layer.renderer = 'canvas';\n }\n /* We want the actions to trigger on the overview, but affect the main\n * image, so we have to rerig all of the actions */\n params.map.interactor = geo.mapInteractor({\n actions: [{\n action: 'overview_pan',\n input: 'left',\n modifiers: {shift: false, ctrl: false},\n owner: 'histomicsui.overview',\n name: 'button pan'\n }, {\n action: 'overview_zoomselect',\n input: 'left',\n modifiers: {shift: true, ctrl: false},\n selectionRectangle: geo.event.zoomselect,\n owner: 'histomicsui.overview',\n name: 'drag zoom'\n }],\n keyboard: {\n actions: {}\n }\n });\n this.viewer = geo.map(params.map);\n\n if (window.ResizeObserver) {\n this._observer = new window.ResizeObserver(() => {\n if (this.viewer.node().width()) {\n this.viewer.size({width: this.viewer.node().width(), height: this.viewer.node().height()});\n }\n });\n this._observer.observe(this.viewer.node()[0]);\n }\n\n params.layer.autoshareRenderer = false;\n this._tileLayer = this.viewer.createLayer('osm', params.layer);\n if (this.parentViewer._layer && this.parentViewer._layer.setFrameQuad) {\n setFrameQuad((this.parentViewer._layer.setFrameQuad.status || {}).tileinfo, this._tileLayer, (this.parentViewer._layer.setFrameQuad.status || {}).options);\n this._tileLayer.setFrameQuad(0);\n }\n this._featureLayer = this.viewer.createLayer('feature', {features: ['polygon']});\n this._outlineFeature = this._featureLayer.createFeature('polygon', {\n style: {\n stroke: true,\n strokeColor: 'black',\n strokeWidth: 2,\n fill: false\n }\n });\n this._panOutlineDistance = 5;\n /* Clicking in the overview recenters to that spot */\n this._featureLayer.geoOn(geo.event.mouseclick, (evt) => {\n this.parentViewer.viewer.center(evt.geo);\n });\n this._featureLayer.geoOn(geo.event.actiondown, (evt) => {\n this._downState = {\n state: evt.state,\n mouse: evt.mouse,\n center: this.parentViewer.viewer.center(),\n zoom: this.parentViewer.viewer.zoom(),\n rotate: this.parentViewer.viewer.rotation(),\n distanceToOutline: geo.util.distanceToPolygon2d(evt.mouse.geo, this._outlineFeature.data()[0]) / this.viewer.unitsPerPixel(this.viewer.zoom())\n };\n });\n this._featureLayer.geoOn(geo.event.actionmove, (evt) => {\n switch (evt.state.action) {\n case 'overview_pan': {\n if (!this._downState || this._downState.distanceToOutline < -this._panOutlineDistance) {\n return;\n }\n const delta = {\n x: evt.mouse.geo.x - this._downState.mouse.geo.x,\n y: evt.mouse.geo.y - this._downState.mouse.geo.y\n };\n const center = this.parentViewer.viewer.center();\n delta.x -= center.x - this._downState.center.x;\n delta.y -= center.y - this._downState.center.y;\n if (delta.x || delta.y) {\n this.parentViewer.viewer.center({\n x: center.x + delta.x,\n y: center.y + delta.y\n });\n }\n }\n break;\n }\n });\n this._featureLayer.geoOn(geo.event.actionselection, (evt) => {\n if (evt.lowerLeft.x === evt.upperRight.x || evt.lowerLeft.y === evt.upperRight.y) {\n return;\n }\n const map = this.parentViewer.viewer;\n const mapsize = map.size();\n const lowerLeft = map.gcsToDisplay(this.viewer.displayToGcs(evt.lowerLeft));\n const upperRight = map.gcsToDisplay(this.viewer.displayToGcs(evt.upperRight));\n const scaling = {\n x: Math.abs((upperRight.x - lowerLeft.x) / mapsize.width),\n y: Math.abs((upperRight.y - lowerLeft.y) / mapsize.height)\n };\n const center = map.displayToGcs({\n x: (lowerLeft.x + upperRight.x) / 2,\n y: (lowerLeft.y + upperRight.y) / 2\n }, null);\n const zoom = map.zoom() - Math.log2(Math.max(scaling.x, scaling.y));\n map.zoom(zoom);\n map.center(center, null);\n });\n this.viewer.draw();\n this._boundOnParentPan = _.bind(this._onParentPan, this);\n this.parentViewer.viewer.geoOn(geo.event.pan, this._boundOnParentPan);\n this._onParentPan();\n this.parentViewer.on('g:imageFrameChanged', () => {\n this._tileLayer.url(this.parentViewer.getFrameAndUrl().url);\n if (this.parentViewer._layer && this.parentViewer._layer.setFrameQuad) {\n this._tileLayer.setFrameQuad((this.parentViewer._layer.setFrameQuad.status || {}).frame);\n }\n });\n },\n\n _onParentPan() {\n const parent = this.parentViewer.viewer;\n if (parent.rotation() !== this.viewer.rotation()) {\n this.viewer.rotation(parent.rotation());\n this.viewer.zoom(this.viewer.zoom() - 1);\n }\n const size = parent.size();\n this._outlineFeature.data([[\n parent.displayToGcs({x: 0, y: 0}),\n parent.displayToGcs({x: size.width, y: 0}),\n parent.displayToGcs({x: size.width, y: size.height}),\n parent.displayToGcs({x: 0, y: size.height})\n ]]).draw();\n }\n});\n\nexport default OverviewWidget;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/panels/OverviewWidget.js","module.exports = (__webpack_require__(18))(251);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/@girder/large_image/views/imageViewerWidget/setFrameQuad.js from dll-reference girder_plugin_large_image\n// module id = 108\n// module chunks = 0","var pug = require(\"!../../../../pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;var pug_debug_filename, pug_debug_line;try {var pug_debug_sources = {\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FoverviewWidget.pug\":\"extends .\\u002Fpanel.pug\\n\\nblock title\\n | #[span.icon-picture] Overview\\n\\nblock content\\n .h-overview-image\\n\",\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\":\".s-panel-title-container\\n span.s-panel-title.h-panel-title\\n block title\\n | #{title}\\n span.s-panel-controls\\n block controls\\n if collapsed\\n i.icon-down-open\\n else\\n i.icon-up-open\\n if removeButton\\n i.icon-cancel.s-remove-panel(data-target=`#${id}`)\\n\\n- var attrs = {}\\nif !collapsed\\n - attrs.class = 'in'\\n.s-panel-content.collapse&attributes(attrs)\\n block content\\n\"};\n;var locals_for_with = (locals || {});(function (collapsed, id, removeButton) {;pug_debug_line = 1;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"s-panel-title-container\\\"\\u003E\";\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"s-panel-title h-panel-title\\\"\\u003E\";\n;pug_debug_line = 3;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FoverviewWidget.pug\";\npug_html = pug_html + \"\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FoverviewWidget.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-picture\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FoverviewWidget.pug\";\npug_html = pug_html + \" Overview\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"s-panel-controls\\\"\\u003E\";\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nif (collapsed) {\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-down-open\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n}\nelse {\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-up-open\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n}\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nif (removeButton) {\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Ci\" + (\" class=\\\"icon-cancel s-remove-panel\\\"\"+pug.attr(\"data-target\", `#${id}`, true, true)) + \"\\u003E\\u003C\\u002Fi\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nvar attrs = {}\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nif (!collapsed) {\n;pug_debug_line = 16;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nattrs.class = 'in'\n}\n;pug_debug_line = 17;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Cdiv\" + (pug.attrs(pug.merge([{\"class\": \"s-panel-content collapse\"},attrs]), true)) + \"\\u003E\";\n;pug_debug_line = 18;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FoverviewWidget.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-overview-image\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"collapsed\" in locals_for_with?locals_for_with.collapsed:typeof collapsed!==\"undefined\"?collapsed:undefined,\"id\" in locals_for_with?locals_for_with.id:typeof id!==\"undefined\"?id:undefined,\"removeButton\" in locals_for_with?locals_for_with.removeButton:typeof removeButton!==\"undefined\"?removeButton:undefined));} catch (err) {pug.rethrow(err, pug_debug_filename, pug_debug_line, pug_debug_sources[pug_debug_filename]);};return pug_html;};\nmodule.exports = template;\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/templates/panels/overviewWidget.pug","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@girder/histomicsui/stylesheets/panels/overviewWidget.styl\n// module id = 110\n// module chunks = 0","import _ from 'underscore';\nimport $ from 'jquery';\n\nimport Panel from '@girder/slicer_cli_web/views/Panel';\n\nimport editRegionOfInterest from '../dialogs/editRegionOfInterest';\n\nimport zoomWidget from '../templates/panels/zoomWidget.pug';\nimport '../stylesheets/panels/zoomWidget.styl';\n\n/**\n * Define a widget for controlling the view magnification with\n * a dynamic slider and buttons.\n *\n * Note: This code juggles three different representations\n * of the magnification:\n *\n * * The \"osm-like\" zoom level:\n * 0: 1x1 global tiles\n * 1: 2x2 global tiles\n * N: N+1xN+1 global tiles\n *\n * * The image magnification:\n * m = M 2^(z - Z)\n * for max magnification M\n * max zoom level Z\n * current zoom level z\n *\n * * The value of the range slider for log scaling:\n * val = log2(m)\n * for magnification m\n */\nvar ZoomWidget = Panel.extend({\n events: _.extend(Panel.prototype.events, {\n 'click .h-zoom-button': '_zoomButton',\n 'input .h-zoom-slider': '_zoomSliderInput',\n 'click .h-download-button-view': '_downloadView',\n 'click .h-download-button-area': '_downloadArea',\n 'click #h-zoom-range-increase': '_increaseZoomRange',\n 'click #h-zoom-range-decrease': '_decreaseZoomRange'\n }),\n initialize() {\n // set defaults that will be overwritten when a viewer is added\n this._maxMag = 20;\n this._maxZoom = 8;\n this._minZoom = 0;\n this._cancelSelection = false;\n // bind the context of the viewer zoom handler\n this._zoomChanged = _.bind(this._zoomChanged, this);\n },\n render() {\n var value = 0;\n var min, max, step = 0.025;\n var buttons;\n\n if (this.viewer) {\n // get current magnification from the renderer\n value = this.zoomToMagnification(this.renderer.zoom());\n }\n\n // get the minimum value of the slider on a logarithmic scale\n // (here we expand the range slightly to make sure valid ranges\n // aren't clipped due to the slider step size)\n min = Math.floor((Math.log2(this.zoomToMagnification(this._minZoom)) - Math.log2(this._maxMag)) / step) * step;\n max = 0;\n\n // get a list of discrete values to show as buttons\n buttons = _.filter([1, 2.5, 5, 10, 20, 40, 80, 160], (v) => v <= this._maxMag);\n buttons = _.last(buttons, 6);\n buttons = buttons !== undefined ? [0].concat(buttons) : [0];\n\n this.$el.html(zoomWidget({\n id: 'zoom-panel-container',\n title: 'Zoom',\n title_download_view: 'Download View',\n title_download_area: 'Download Area',\n min,\n max,\n maxNaturalMag: this._maxNaturalMag + 0.01,\n minMag: this.zoomToMagnification(this._minZoom),\n step,\n value: Math.log2(value) - Math.log2(this._maxMag),\n disabled: !this.renderer,\n buttons,\n collapsed: this.$('.s-panel-content.collapse').length && !this.$('.s-panel-content').hasClass('in')\n }));\n\n // enable or disable zoom range buttons\n this._zoomRangeControls();\n\n // show tooltip of different download button\n this.$('[data-toggle=\"tooltip\"]').tooltip();\n\n // set the text value on the readonly input box\n this._zoomSliderInput();\n\n return this;\n },\n\n /**\n * Set the viewer instance and set several internal variables used\n * to convert between magnification and zoom level.\n */\n setViewer(viewer) {\n var geo = window.geo;\n var range;\n this.viewer = viewer;\n this.renderer = viewer.viewer;\n if (this.renderer) {\n this.renderer.geoOn(geo.event.zoom, this._zoomChanged);\n range = this.renderer.zoomRange();\n this._maxZoom = range.max;\n this._minZoom = range.min;\n }\n return this;\n },\n\n /**\n * Set the native magnification from the current image. This\n * is given in the /item/{id}/tiles endpoint from large_image.\n */\n setMaxMagnification(magnification, increase, increaseRange) {\n this._increaseZoom2x = increase || 0;\n this._increaseZoom2xRange = increaseRange || {min: this._increaseZoom2x, max: this._increaseZoom2x};\n this._maxNaturalMag = magnification;\n this._maxMag = magnification * Math.pow(2, this._increaseZoom2x);\n this._zoomRangeControls();\n },\n\n /**\n * Set the controls to the given magnification level.\n */\n setMagnification(val) {\n this._setSliderValue(val);\n this._zoomSliderInput();\n },\n\n /**\n * Convert from magnification to zoom level.\n */\n magnificationToZoom(magnification) {\n return this._maxZoom - Math.log2(this._maxMag / magnification);\n },\n\n /**\n * Convert from zoom level to magnification.\n */\n zoomToMagnification(zoom) {\n return this._maxMag * Math.pow(2, zoom - this._maxZoom);\n },\n\n /**\n * Get the value of the slider in magnification scale.\n */\n _getSliderValue() {\n return Math.pow(2, Math.log2(this._maxMag) + parseFloat(this.$('.h-zoom-slider').val()));\n },\n\n /**\n * Set the slider value to a specific magnification.\n */\n _setSliderValue(val) {\n if (val > 0) {\n val = Math.log2(val) - Math.log2(this._maxMag);\n } else {\n val = 0;\n }\n this.$('.h-zoom-slider').val(val);\n },\n\n /**\n * A handler called when the viewer's zoom level changes.\n */\n _zoomChanged() {\n if (!this.renderer) {\n return;\n }\n this._inZoomChange = true;\n this.setMagnification(this.zoomToMagnification(this.renderer.zoom()));\n this._inZoomChange = false;\n },\n\n /**\n * A handler called when one of the magnification buttons is clicked.\n */\n _zoomButton(evt) {\n this.setMagnification(this.$(evt.currentTarget).data('value'));\n this._zoomSliderInput();\n },\n\n /**\n * A handler called when the download view button is clicked.\n */\n _downloadView(evt) {\n var bounds = this.viewer.viewer.bounds();\n var params = $.param({\n width: window.innerWidth,\n height: window.innerHeight,\n left: bounds.left < 0 ? 0 : Math.round(bounds.left),\n top: bounds.top < 0 ? 0 : Math.round(bounds.top),\n right: bounds.right < 0 ? 0 : Math.round(bounds.right),\n bottom: bounds.bottom < 0 ? 0 : Math.round(bounds.bottom),\n contentDisposition: 'attachment'\n });\n let urlView = this.viewer.getFrameAndUrl().url.replace('/zxy/{z}/{x}/{y}', '/region');\n urlView += (urlView.indexOf('?') >= 0 ? '&' : '?') + params;\n if (this._cancelSelection) {\n this.viewer.annotationLayer.mode(null);\n this._cancelSelection = false;\n this.$('.h-download-button-area').removeClass('h-download-area-button-selected');\n }\n this.$('a.h-download-link#download-view-link').attr({\n href: urlView\n });\n },\n\n /**\n * Let the user draw a rectangle and then show a dialog.\n */\n _downloadArea(evt) {\n const mag = Math.round(this._getSliderValue() * 10) / 10;\n const maxZoom = this._maxZoom;\n const maxMag = this._maxMag;\n if (this._cancelSelection) {\n this.viewer.annotationLayer.mode(null);\n this._cancelSelection = false;\n this.$('.h-download-button-area').removeClass('h-download-area-button-selected');\n } else {\n this.$('.h-download-button-area').addClass('h-download-area-button-selected');\n this._cancelSelection = true;\n this.viewer.drawRegion().then((coord) => {\n var areaParams = {\n left: coord[0],\n top: coord[1],\n width: coord[2],\n height: coord[3],\n magnification: mag,\n maxZoom,\n maxMag,\n frameAndUrl: this.viewer.getFrameAndUrl()\n };\n this._cancelSelection = false;\n this.$('.h-download-button-area').removeClass('h-download-area-button-selected');\n editRegionOfInterest(areaParams);\n return this;\n });\n }\n },\n\n /**\n * A handler called as the slider is moved.\n */\n _zoomSliderInput() {\n var val = this._getSliderValue();\n if (this.renderer && !this._inZoomChange) {\n this.renderer.zoom(this.magnificationToZoom(val));\n }\n this.$('.h-zoom-value').text(val.toFixed(1));\n },\n\n _zoomRangeControls() {\n if (this._increaseZoom2xRange) {\n this.$('#h-zoom-range-increase').toggleClass('disabled', this._increaseZoom2x >= this._increaseZoom2xRange.max);\n this.$('#h-zoom-range-decrease').toggleClass('disabled', this._increaseZoom2x <= this._increaseZoom2xRange.min);\n }\n },\n\n _increaseZoomRange() {\n if (this._increaseZoom2x < this._increaseZoom2xRange.max) {\n this._increaseZoom2x += 1;\n var oldmax = parseInt(this.$('.h-zoom-slider').attr('max'), 10);\n this.$('.h-zoom-slider').attr('max', oldmax + 1);\n this.renderer.zoomRange({max: this.renderer.zoomRange().max + 1});\n }\n this._zoomRangeControls();\n },\n\n _decreaseZoomRange() {\n if (this._increaseZoom2x > this._increaseZoom2xRange.min) {\n this._increaseZoom2x -= 1;\n var oldmax = parseInt(this.$('.h-zoom-slider').attr('max'), 10);\n this.$('.h-zoom-slider').attr('max', oldmax - 1);\n this.renderer.zoomRange({max: this.renderer.zoomRange().max - 1});\n }\n this._zoomRangeControls();\n }\n});\n\nexport default ZoomWidget;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/panels/ZoomWidget.js","/**!\n * url-search-params-polyfill\n *\n * @author Jerry Bendy (https://github.com/jerrybendy)\n * @licence MIT\n */\n(function(self) {\n 'use strict';\n\n var nativeURLSearchParams = (function() {\n // #41 Fix issue in RN\n try {\n if (self.URLSearchParams && (new self.URLSearchParams('foo=bar')).get('foo') === 'bar') {\n return self.URLSearchParams;\n }\n } catch (e) {}\n return null;\n })(),\n isSupportObjectConstructor = nativeURLSearchParams && (new nativeURLSearchParams({a: 1})).toString() === 'a=1',\n // There is a bug in safari 10.1 (and earlier) that incorrectly decodes `%2B` as an empty space and not a plus.\n decodesPlusesCorrectly = nativeURLSearchParams && (new nativeURLSearchParams('s=%2B').get('s') === '+'),\n isSupportSize = nativeURLSearchParams && 'size' in nativeURLSearchParams.prototype,\n __URLSearchParams__ = \"__URLSearchParams__\",\n // Fix bug in Edge which cannot encode ' &' correctly\n encodesAmpersandsCorrectly = nativeURLSearchParams ? (function() {\n var ampersandTest = new nativeURLSearchParams();\n ampersandTest.append('s', ' &');\n return ampersandTest.toString() === 's=+%26';\n })() : true,\n prototype = URLSearchParamsPolyfill.prototype,\n iterable = !!(self.Symbol && self.Symbol.iterator);\n\n if (nativeURLSearchParams && isSupportObjectConstructor && decodesPlusesCorrectly && encodesAmpersandsCorrectly && isSupportSize) {\n return;\n }\n\n\n /**\n * Make a URLSearchParams instance\n *\n * @param {object|string|URLSearchParams} search\n * @constructor\n */\n function URLSearchParamsPolyfill(search) {\n search = search || \"\";\n\n // support construct object with another URLSearchParams instance\n if (search instanceof URLSearchParams || search instanceof URLSearchParamsPolyfill) {\n search = search.toString();\n }\n this [__URLSearchParams__] = parseToDict(search);\n }\n\n\n /**\n * Appends a specified key/value pair as a new search parameter.\n *\n * @param {string} name\n * @param {string} value\n */\n prototype.append = function(name, value) {\n appendTo(this [__URLSearchParams__], name, value);\n };\n\n /**\n * Deletes the given search parameter, and its associated value,\n * from the list of all search parameters.\n *\n * @param {string} name\n */\n prototype['delete'] = function(name) {\n delete this [__URLSearchParams__] [name];\n };\n\n /**\n * Returns the first value associated to the given search parameter.\n *\n * @param {string} name\n * @returns {string|null}\n */\n prototype.get = function(name) {\n var dict = this [__URLSearchParams__];\n return this.has(name) ? dict[name][0] : null;\n };\n\n /**\n * Returns all the values association with a given search parameter.\n *\n * @param {string} name\n * @returns {Array}\n */\n prototype.getAll = function(name) {\n var dict = this [__URLSearchParams__];\n return this.has(name) ? dict [name].slice(0) : [];\n };\n\n /**\n * Returns a Boolean indicating if such a search parameter exists.\n *\n * @param {string} name\n * @returns {boolean}\n */\n prototype.has = function(name) {\n return hasOwnProperty(this [__URLSearchParams__], name);\n };\n\n /**\n * Sets the value associated to a given search parameter to\n * the given value. If there were several values, delete the\n * others.\n *\n * @param {string} name\n * @param {string} value\n */\n prototype.set = function set(name, value) {\n this [__URLSearchParams__][name] = ['' + value];\n };\n\n /**\n * Returns a string containg a query string suitable for use in a URL.\n *\n * @returns {string}\n */\n prototype.toString = function() {\n var dict = this[__URLSearchParams__], query = [], i, key, name, value;\n for (key in dict) {\n name = encode(key);\n for (i = 0, value = dict[key]; i < value.length; i++) {\n query.push(name + '=' + encode(value[i]));\n }\n }\n return query.join('&');\n };\n\n // There is a bug in Safari 10.1 and `Proxy`ing it is not enough.\n var useProxy = self.Proxy && nativeURLSearchParams && (!decodesPlusesCorrectly || !encodesAmpersandsCorrectly || !isSupportObjectConstructor || !isSupportSize);\n var propValue;\n if (useProxy) {\n // Safari 10.0 doesn't support Proxy, so it won't extend URLSearchParams on safari 10.0\n propValue = new Proxy(nativeURLSearchParams, {\n construct: function (target, args) {\n return new target((new URLSearchParamsPolyfill(args[0]).toString()));\n }\n })\n // Chrome <=60 .toString() on a function proxy got error \"Function.prototype.toString is not generic\"\n propValue.toString = Function.prototype.toString.bind(URLSearchParamsPolyfill);\n } else {\n propValue = URLSearchParamsPolyfill;\n }\n\n /*\n * Apply polyfill to global object and append other prototype into it\n */\n Object.defineProperty(self, 'URLSearchParams', {\n value: propValue\n });\n\n var USPProto = self.URLSearchParams.prototype;\n\n USPProto.polyfill = true;\n\n // Fix #54, `toString.call(new URLSearchParams)` will return correct value when Proxy not used\n if (!useProxy && self.Symbol) {\n USPProto[self.Symbol.toStringTag] = 'URLSearchParams';\n }\n\n /**\n *\n * @param {function} callback\n * @param {object} thisArg\n */\n if (!('forEach' in USPProto)) {\n USPProto.forEach = function(callback, thisArg) {\n var dict = parseToDict(this.toString());\n Object.getOwnPropertyNames(dict).forEach(function(name) {\n dict[name].forEach(function(value) {\n callback.call(thisArg, value, name, this);\n }, this);\n }, this);\n };\n }\n\n /**\n * Sort all name-value pairs\n */\n if (!('sort' in USPProto)) {\n USPProto.sort = function() {\n var dict = parseToDict(this.toString()), keys = [], k, i, j;\n for (k in dict) {\n keys.push(k);\n }\n keys.sort();\n\n for (i = 0; i < keys.length; i++) {\n this['delete'](keys[i]);\n }\n for (i = 0; i < keys.length; i++) {\n var key = keys[i], values = dict[key];\n for (j = 0; j < values.length; j++) {\n this.append(key, values[j]);\n }\n }\n };\n }\n\n /**\n * Returns an iterator allowing to go through all keys of\n * the key/value pairs contained in this object.\n *\n * @returns {function}\n */\n if (!('keys' in USPProto)) {\n USPProto.keys = function() {\n var items = [];\n this.forEach(function(item, name) {\n items.push(name);\n });\n return makeIterator(items);\n };\n }\n\n /**\n * Returns an iterator allowing to go through all values of\n * the key/value pairs contained in this object.\n *\n * @returns {function}\n */\n if (!('values' in USPProto)) {\n USPProto.values = function() {\n var items = [];\n this.forEach(function(item) {\n items.push(item);\n });\n return makeIterator(items);\n };\n }\n\n /**\n * Returns an iterator allowing to go through all key/value\n * pairs contained in this object.\n *\n * @returns {function}\n */\n if (!('entries' in USPProto)) {\n USPProto.entries = function() {\n var items = [];\n this.forEach(function(item, name) {\n items.push([name, item]);\n });\n return makeIterator(items);\n };\n }\n\n if (iterable) {\n USPProto[self.Symbol.iterator] = USPProto[self.Symbol.iterator] || USPProto.entries;\n }\n\n if (!('size' in USPProto)) {\n Object.defineProperty(USPProto, 'size', {\n get: function () {\n var dict = parseToDict(this.toString())\n if (USPProto === this) {\n throw new TypeError('Illegal invocation at URLSearchParams.invokeGetter')\n }\n return Object.keys(dict).reduce(function (prev, cur) {\n return prev + dict[cur].length;\n }, 0);\n }\n });\n }\n\n function encode(str) {\n var replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'\\(\\)~]|%20|%00/g, function(match) {\n return replace[match];\n });\n }\n\n function decode(str) {\n return str\n .replace(/[ +]/g, '%20')\n .replace(/(%[a-f0-9]{2})+/ig, function(match) {\n return decodeURIComponent(match);\n });\n }\n\n function makeIterator(arr) {\n var iterator = {\n next: function() {\n var value = arr.shift();\n return {done: value === undefined, value: value};\n }\n };\n\n if (iterable) {\n iterator[self.Symbol.iterator] = function() {\n return iterator;\n };\n }\n\n return iterator;\n }\n\n function parseToDict(search) {\n var dict = {};\n\n if (typeof search === \"object\") {\n // if `search` is an array, treat it as a sequence\n if (isArray(search)) {\n for (var i = 0; i < search.length; i++) {\n var item = search[i];\n if (isArray(item) && item.length === 2) {\n appendTo(dict, item[0], item[1]);\n } else {\n throw new TypeError(\"Failed to construct 'URLSearchParams': Sequence initializer must only contain pair elements\");\n }\n }\n\n } else {\n for (var key in search) {\n if (search.hasOwnProperty(key)) {\n appendTo(dict, key, search[key]);\n }\n }\n }\n\n } else {\n // remove first '?'\n if (search.indexOf(\"?\") === 0) {\n search = search.slice(1);\n }\n\n var pairs = search.split(\"&\");\n for (var j = 0; j < pairs.length; j++) {\n var value = pairs [j],\n index = value.indexOf('=');\n\n if (-1 < index) {\n appendTo(dict, decode(value.slice(0, index)), decode(value.slice(index + 1)));\n\n } else {\n if (value) {\n appendTo(dict, decode(value), '');\n }\n }\n }\n }\n\n return dict;\n }\n\n function appendTo(dict, name, value) {\n var val = typeof value === 'string' ? value : (\n value !== null && value !== undefined && typeof value.toString === 'function' ? value.toString() : JSON.stringify(value)\n );\n\n // #47 Prevent using `hasOwnProperty` as a property name\n if (hasOwnProperty(dict, name)) {\n dict[name].push(val);\n } else {\n dict[name] = [val];\n }\n }\n\n function isArray(val) {\n return !!val && '[object Array]' === Object.prototype.toString.call(val);\n }\n\n function hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n }\n\n})(typeof global !== 'undefined' ? global : (typeof window !== 'undefined' ? window : this));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@girder/histomicsui/node_modules/url-search-params-polyfill/index.js\n// module id = 112\n// module chunks = 0","var pug = require(\"!../../../../pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;var pug_debug_filename, pug_debug_line;try {var pug_debug_sources = {\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\":\".modal-dialog\\n .modal-content\\n form.modal-form(role='form', name='editArea')\\n .modal-header\\n button.close(type='button', data-dismiss='modal', aria-label='Close')\\n span(aria-hidden='true') ×\\n h4.modal-title Edit Area\\n .modal-body\\n .form-group\\n label(for='h-element-mag') Magnification\\n input#h-element-mag.update-form.input-sm.form-control(\\n type='number', min=1, max=maxMag, step=0.1, value=magnification)\\n .form-group\\n label(for='h-download-image-format') Format\\n select#h-download-image-format.update-form.form-control\\n option JPEG\\n option PNG\\n option TIFF\\n .form-group\\n label(for='h-element-width') Width\\n input#h-element-width.update-form.form-control(\\n type='text', min=0, step=1, value=scaleWidth, disabled)\\n .form-group\\n label(for='h-element-height') Height\\n input#h-element-height.update-form.form-control(\\n type='text', min=0, step=1, value=scaleHeight, disabled)\\n .form-group\\n label(for='nb-pixel') Number of Pixels\\n input#h-nb-pixel.update-form.form-control(\\n type='text', value=numberOfPixel, disabled)\\n .form-group\\n label(for='size-file') Approximate size of the file\\n input#h-size-file.update-form.form-control(type='text', value=fileSize, disabled)\\n .modal-footer\\n span#h-msgDisable.g-validation-failed-message\\n | Size \\u003E 1GB : Please select a smaller area.\\n a#h-download-area-link.h-download-link.btn.btn-primary\\n i.icon-download\\n | Download\\n a.btn.btn-default(data-dismiss='modal') Cancel\\n\"};\n;var locals_for_with = (locals || {});(function (fileSize, magnification, maxMag, numberOfPixel, scaleHeight, scaleWidth) {;pug_debug_line = 1;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"modal-dialog\\\"\\u003E\";\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"modal-content\\\"\\u003E\";\n;pug_debug_line = 3;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Cform class=\\\"modal-form\\\" role=\\\"form\\\" name=\\\"editArea\\\"\\u003E\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"modal-header\\\"\\u003E\";\n;pug_debug_line = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"close\\\" type=\\\"button\\\" data-dismiss=\\\"modal\\\" aria-label=\\\"Close\\\"\\u003E\";\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Cspan aria-hidden=\\\"true\\\"\\u003E\";\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"×\\u003C\\u002Fspan\\u003E\\u003C\\u002Fbutton\\u003E\";\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Ch4 class=\\\"modal-title\\\"\\u003E\";\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"Edit Area\\u003C\\u002Fh4\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"modal-body\\\"\\u003E\";\n;pug_debug_line = 9;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Clabel for=\\\"h-element-mag\\\"\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"Magnification\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" class=\\\"update-form input-sm form-control\\\"\"+\" id=\\\"h-element-mag\\\" type=\\\"number\\\" min=\\\"1\\\"\"+pug.attr(\"max\", maxMag, true, true)+\" step=\\\"0.1\\\"\"+pug.attr(\"value\", magnification, true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\";\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Clabel for=\\\"h-download-image-format\\\"\\u003E\";\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"Format\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Cselect class=\\\"update-form form-control\\\" id=\\\"h-download-image-format\\\"\\u003E\";\n;pug_debug_line = 16;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Coption\\u003E\";\n;pug_debug_line = 16;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"JPEG\\u003C\\u002Foption\\u003E\";\n;pug_debug_line = 17;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Coption\\u003E\";\n;pug_debug_line = 17;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"PNG\\u003C\\u002Foption\\u003E\";\n;pug_debug_line = 18;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Coption\\u003E\";\n;pug_debug_line = 18;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"TIFF\\u003C\\u002Foption\\u003E\\u003C\\u002Fselect\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 19;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\";\n;pug_debug_line = 20;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Clabel for=\\\"h-element-width\\\"\\u003E\";\n;pug_debug_line = 20;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"Width\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 21;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" class=\\\"update-form form-control\\\"\"+\" id=\\\"h-element-width\\\" type=\\\"text\\\" min=\\\"0\\\" step=\\\"1\\\"\"+pug.attr(\"value\", scaleWidth, true, true)+pug.attr(\"disabled\", true, true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 23;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\";\n;pug_debug_line = 24;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Clabel for=\\\"h-element-height\\\"\\u003E\";\n;pug_debug_line = 24;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"Height\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 25;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" class=\\\"update-form form-control\\\"\"+\" id=\\\"h-element-height\\\" type=\\\"text\\\" min=\\\"0\\\" step=\\\"1\\\"\"+pug.attr(\"value\", scaleHeight, true, true)+pug.attr(\"disabled\", true, true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 27;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\";\n;pug_debug_line = 28;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Clabel for=\\\"nb-pixel\\\"\\u003E\";\n;pug_debug_line = 28;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"Number of Pixels\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 29;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" class=\\\"update-form form-control\\\"\"+\" id=\\\"h-nb-pixel\\\" type=\\\"text\\\"\"+pug.attr(\"value\", numberOfPixel, true, true)+pug.attr(\"disabled\", true, true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 31;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\";\n;pug_debug_line = 32;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Clabel for=\\\"size-file\\\"\\u003E\";\n;pug_debug_line = 32;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"Approximate size of the file\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 33;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" class=\\\"update-form form-control\\\"\"+\" id=\\\"h-size-file\\\" type=\\\"text\\\"\"+pug.attr(\"value\", fileSize, true, true)+pug.attr(\"disabled\", true, true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 34;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"modal-footer\\\"\\u003E\";\n;pug_debug_line = 35;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"g-validation-failed-message\\\" id=\\\"h-msgDisable\\\"\\u003E\";\n;pug_debug_line = 36;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"Size \\u003E 1GB : Please select a smaller area.\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 37;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Ca class=\\\"h-download-link btn btn-primary\\\" id=\\\"h-download-area-link\\\"\\u003E\";\n;pug_debug_line = 38;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-download\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n;pug_debug_line = 39;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \" Download\\u003C\\u002Fa\\u003E\";\n;pug_debug_line = 40;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Ca class=\\\"btn btn-default\\\" data-dismiss=\\\"modal\\\"\\u003E\";\n;pug_debug_line = 40;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"Cancel\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fform\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"fileSize\" in locals_for_with?locals_for_with.fileSize:typeof fileSize!==\"undefined\"?fileSize:undefined,\"magnification\" in locals_for_with?locals_for_with.magnification:typeof magnification!==\"undefined\"?magnification:undefined,\"maxMag\" in locals_for_with?locals_for_with.maxMag:typeof maxMag!==\"undefined\"?maxMag:undefined,\"numberOfPixel\" in locals_for_with?locals_for_with.numberOfPixel:typeof numberOfPixel!==\"undefined\"?numberOfPixel:undefined,\"scaleHeight\" in locals_for_with?locals_for_with.scaleHeight:typeof scaleHeight!==\"undefined\"?scaleHeight:undefined,\"scaleWidth\" in locals_for_with?locals_for_with.scaleWidth:typeof scaleWidth!==\"undefined\"?scaleWidth:undefined));} catch (err) {pug.rethrow(err, pug_debug_filename, pug_debug_line, pug_debug_sources[pug_debug_filename]);};return pug_html;};\nmodule.exports = template;\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/templates/dialogs/editRegionOfInterest.pug","var pug = require(\"!../../../../pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;var pug_debug_filename, pug_debug_line;try {var pug_debug_sources = {\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\":\"extends .\\u002Fpanel.pug\\n\\nblock title\\n | #[span.icon-zoom-in] #{title}\\n\\nblock content\\n .input-group\\n input.h-zoom-slider.form-control(\\n type=\\\"range\\\", min=min, max=max, step=step, value=value, disabled=disabled)\\n span.h-zoom-value.input-group-addon #{value}\\n span.h-zoom-range-controls\\n button#h-zoom-range-increase.btn.btn-sm.btn-default.disabled(title=\\\"Increase maximum zoom\\\")\\n i.icon-plus\\n br\\n button#h-zoom-range-decrease.btn.btn-sm.btn-default.disabled(title=\\\"Decrease maximum zoom\\\")\\n i.icon-minus\\n .btn-group.btn-group-justified.h-zoom-buttons\\n each val in buttons\\n if val\\n - var text = val;\\n else\\n - var text = 'Fit';\\n - val = minMag;\\n .btn-group\\n button.btn.btn-default.h-zoom-button(type=\\\"button\\\", data-value=val, class={'btn-sm': val \\u003E maxNaturalMag}) #{text}\\n .h-download-button-container\\n a#download-view-link.h-download-link\\n button.btn-default.btn-sm.h-download-button.h-download-button-view(type=\\\"button\\\", data-toggle=\\\"tooltip\\\", title=\\\"Download current view\\\")\\n | #{title_download_view}\\n\\n button.btn-default.btn-sm.h-download-button.h-download-button-area(type=\\\"button\\\", data-toggle=\\\"tooltip\\\", title=\\\"Draw the region of interest\\\")\\n | #{title_download_area}\\n\",\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\":\".s-panel-title-container\\n span.s-panel-title.h-panel-title\\n block title\\n | #{title}\\n span.s-panel-controls\\n block controls\\n if collapsed\\n i.icon-down-open\\n else\\n i.icon-up-open\\n if removeButton\\n i.icon-cancel.s-remove-panel(data-target=`#${id}`)\\n\\n- var attrs = {}\\nif !collapsed\\n - attrs.class = 'in'\\n.s-panel-content.collapse&attributes(attrs)\\n block content\\n\"};\n;var locals_for_with = (locals || {});(function (buttons, collapsed, disabled, id, max, maxNaturalMag, min, minMag, removeButton, step, title, title_download_area, title_download_view, value) {;pug_debug_line = 1;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"s-panel-title-container\\\"\\u003E\";\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"s-panel-title h-panel-title\\\"\\u003E\";\n;pug_debug_line = 3;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + \"\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-zoom-in\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + \" \";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = title) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"s-panel-controls\\\"\\u003E\";\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nif (collapsed) {\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-down-open\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n}\nelse {\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-up-open\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n}\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nif (removeButton) {\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Ci\" + (\" class=\\\"icon-cancel s-remove-panel\\\"\"+pug.attr(\"data-target\", `#${id}`, true, true)) + \"\\u003E\\u003C\\u002Fi\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nvar attrs = {}\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nif (!collapsed) {\n;pug_debug_line = 16;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nattrs.class = 'in'\n}\n;pug_debug_line = 17;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Cdiv\" + (pug.attrs(pug.merge([{\"class\": \"s-panel-content collapse\"},attrs]), true)) + \"\\u003E\";\n;pug_debug_line = 18;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"input-group\\\"\\u003E\";\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" class=\\\"h-zoom-slider form-control\\\"\"+\" type=\\\"range\\\"\"+pug.attr(\"min\", min, true, true)+pug.attr(\"max\", max, true, true)+pug.attr(\"step\", step, true, true)+pug.attr(\"value\", value, true, true)+pug.attr(\"disabled\", disabled, true, true)) + \"\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"h-zoom-value input-group-addon\\\"\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = value) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"h-zoom-range-controls\\\"\\u003E\";\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"btn btn-sm btn-default disabled\\\" id=\\\"h-zoom-range-increase\\\" title=\\\"Increase maximum zoom\\\"\\u003E\";\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-plus\\\"\\u003E\\u003C\\u002Fi\\u003E\\u003C\\u002Fbutton\\u003E\";\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + \"\\u003Cbr\\u003E\";\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"btn btn-sm btn-default disabled\\\" id=\\\"h-zoom-range-decrease\\\" title=\\\"Decrease maximum zoom\\\"\\u003E\";\n;pug_debug_line = 16;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-minus\\\"\\u003E\\u003C\\u002Fi\\u003E\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 17;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"btn-group btn-group-justified h-zoom-buttons\\\"\\u003E\";\n;pug_debug_line = 18;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\n// iterate buttons\n;(function(){\n var $$obj = buttons;\n if ('number' == typeof $$obj.length) {\n for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) {\n var val = $$obj[pug_index0];\n;pug_debug_line = 19;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\nif (val) {\n;pug_debug_line = 20;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\nvar text = val;\n}\nelse {\n;pug_debug_line = 22;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\nvar text = 'Fit';\n;pug_debug_line = 23;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\nval = minMag;\n}\n;pug_debug_line = 24;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"btn-group\\\"\\u003E\";\n;pug_debug_line = 25;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + \"\\u003Cbutton\" + (pug.attr(\"class\", pug.classes([\"btn\",\"btn-default\",\"h-zoom-button\",{'btn-sm': val > maxNaturalMag}], [false,false,false,true]), false, true)+\" type=\\\"button\\\"\"+pug.attr(\"data-value\", val, true, true)) + \"\\u003E\";\n;pug_debug_line = 25;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = text) ? \"\" : pug_interp)) + \"\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var pug_index0 in $$obj) {\n $$l++;\n var val = $$obj[pug_index0];\n;pug_debug_line = 19;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\nif (val) {\n;pug_debug_line = 20;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\nvar text = val;\n}\nelse {\n;pug_debug_line = 22;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\nvar text = 'Fit';\n;pug_debug_line = 23;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\nval = minMag;\n}\n;pug_debug_line = 24;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"btn-group\\\"\\u003E\";\n;pug_debug_line = 25;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + \"\\u003Cbutton\" + (pug.attr(\"class\", pug.classes([\"btn\",\"btn-default\",\"h-zoom-button\",{'btn-sm': val > maxNaturalMag}], [false,false,false,true]), false, true)+\" type=\\\"button\\\"\"+pug.attr(\"data-value\", val, true, true)) + \"\\u003E\";\n;pug_debug_line = 25;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = text) ? \"\" : pug_interp)) + \"\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\";\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 26;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-download-button-container\\\"\\u003E\";\n;pug_debug_line = 27;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + \"\\u003Ca class=\\\"h-download-link\\\" id=\\\"download-view-link\\\"\\u003E\";\n;pug_debug_line = 28;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"btn-default btn-sm h-download-button h-download-button-view\\\" type=\\\"button\\\" data-toggle=\\\"tooltip\\\" title=\\\"Download current view\\\"\\u003E\";\n;pug_debug_line = 29;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = title_download_view) ? \"\" : pug_interp)) + \"\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fa\\u003E\";\n;pug_debug_line = 31;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"btn-default btn-sm h-download-button h-download-button-area\\\" type=\\\"button\\\" data-toggle=\\\"tooltip\\\" title=\\\"Draw the region of interest\\\"\\u003E\";\n;pug_debug_line = 32;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = title_download_area) ? \"\" : pug_interp)) + \"\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"buttons\" in locals_for_with?locals_for_with.buttons:typeof buttons!==\"undefined\"?buttons:undefined,\"collapsed\" in locals_for_with?locals_for_with.collapsed:typeof collapsed!==\"undefined\"?collapsed:undefined,\"disabled\" in locals_for_with?locals_for_with.disabled:typeof disabled!==\"undefined\"?disabled:undefined,\"id\" in locals_for_with?locals_for_with.id:typeof id!==\"undefined\"?id:undefined,\"max\" in locals_for_with?locals_for_with.max:typeof max!==\"undefined\"?max:undefined,\"maxNaturalMag\" in locals_for_with?locals_for_with.maxNaturalMag:typeof maxNaturalMag!==\"undefined\"?maxNaturalMag:undefined,\"min\" in locals_for_with?locals_for_with.min:typeof min!==\"undefined\"?min:undefined,\"minMag\" in locals_for_with?locals_for_with.minMag:typeof minMag!==\"undefined\"?minMag:undefined,\"removeButton\" in locals_for_with?locals_for_with.removeButton:typeof removeButton!==\"undefined\"?removeButton:undefined,\"step\" in locals_for_with?locals_for_with.step:typeof step!==\"undefined\"?step:undefined,\"title\" in locals_for_with?locals_for_with.title:typeof title!==\"undefined\"?title:undefined,\"title_download_area\" in locals_for_with?locals_for_with.title_download_area:typeof title_download_area!==\"undefined\"?title_download_area:undefined,\"title_download_view\" in locals_for_with?locals_for_with.title_download_view:typeof title_download_view!==\"undefined\"?title_download_view:undefined,\"value\" in locals_for_with?locals_for_with.value:typeof value!==\"undefined\"?value:undefined));} catch (err) {pug.rethrow(err, pug_debug_filename, pug_debug_line, pug_debug_sources[pug_debug_filename]);};return pug_html;};\nmodule.exports = template;\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/templates/panels/zoomWidget.pug","import _ from 'underscore';\n\nimport Panel from '@girder/slicer_cli_web/views/Panel';\nimport FrameSelector from '@girder/large_image/vue/components/FrameSelector.vue';\n\nimport frameSelectorWidget from '../templates/panels/frameSelectorWidget.pug';\nimport '../stylesheets/panels/frameSelectorWidget.styl';\n\nvar FrameSelectorWidget = Panel.extend({\n render() {\n // if not a multi frame image, don't show (this means we can't do\n // band-only work on hyperspectral data, so we may want to change this\n // to also expose it if there are listed bands and there are more\n // than 3 of them). Maybe instead we should just keep the frame\n // selector collapsed.\n if (!this._tiles || !this._tiles.frames || this._tiles.frames.length <= 1 || !this.viewer) {\n this.$el.html('');\n return this;\n }\n this.$el.html(frameSelectorWidget({\n id: 'frame-selector-panel-container',\n title: 'Frame Selector',\n collapsed: this.$('.s-panel-content.collapse').length && !this.$('.s-panel-content').hasClass('in')\n }));\n const el = this.$('#vue-container').get(0);\n const vm = new FrameSelector({\n el,\n propsData: {\n itemId: this._itemId,\n imageMetadata: this._tiles,\n frameUpdate: (frame, style) => {\n this.viewer.frameUpdate(frame, style);\n }\n }\n });\n this.vueApp = vm;\n return this;\n },\n\n setImage(itemId, tiles) {\n if (!_.isEqual(tiles, this._tiles) || this._itemId !== itemId) {\n this._itemId = itemId;\n this._tiles = tiles;\n this.render();\n }\n return this;\n },\n\n /**\n * Set the viewer instance.\n */\n setViewer(viewer) {\n this.viewer = viewer;\n return this;\n }\n});\n\nexport default FrameSelectorWidget;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/panels/FrameSelectorWidget.js","module.exports = (__webpack_require__(18))(258);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/@girder/large_image/vue/components/FrameSelector.vue from dll-reference girder_plugin_large_image\n// module id = 116\n// module chunks = 0","var pug = require(\"!../../../../pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;var pug_debug_filename, pug_debug_line;try {var pug_debug_sources = {\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FframeSelectorWidget.pug\":\"extends .\\u002Fpanel.pug\\n\\nblock title\\n | #[span.icon-zoom-in] #{title}\\n\\nblock content\\n .input-group\\n #vue-container\\n\",\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\":\".s-panel-title-container\\n span.s-panel-title.h-panel-title\\n block title\\n | #{title}\\n span.s-panel-controls\\n block controls\\n if collapsed\\n i.icon-down-open\\n else\\n i.icon-up-open\\n if removeButton\\n i.icon-cancel.s-remove-panel(data-target=`#${id}`)\\n\\n- var attrs = {}\\nif !collapsed\\n - attrs.class = 'in'\\n.s-panel-content.collapse&attributes(attrs)\\n block content\\n\"};\n;var locals_for_with = (locals || {});(function (collapsed, id, removeButton, title) {;pug_debug_line = 1;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"s-panel-title-container\\\"\\u003E\";\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"s-panel-title h-panel-title\\\"\\u003E\";\n;pug_debug_line = 3;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FframeSelectorWidget.pug\";\npug_html = pug_html + \"\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FframeSelectorWidget.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-zoom-in\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FframeSelectorWidget.pug\";\npug_html = pug_html + \" \";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FframeSelectorWidget.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = title) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"s-panel-controls\\\"\\u003E\";\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nif (collapsed) {\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-down-open\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n}\nelse {\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-up-open\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n}\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nif (removeButton) {\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Ci\" + (\" class=\\\"icon-cancel s-remove-panel\\\"\"+pug.attr(\"data-target\", `#${id}`, true, true)) + \"\\u003E\\u003C\\u002Fi\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nvar attrs = {}\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nif (!collapsed) {\n;pug_debug_line = 16;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nattrs.class = 'in'\n}\n;pug_debug_line = 17;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Cdiv\" + (pug.attrs(pug.merge([{\"class\": \"s-panel-content collapse\"},attrs]), true)) + \"\\u003E\";\n;pug_debug_line = 18;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FframeSelectorWidget.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"input-group\\\"\\u003E\";\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FframeSelectorWidget.pug\";\npug_html = pug_html + \"\\u003Cdiv id=\\\"vue-container\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"collapsed\" in locals_for_with?locals_for_with.collapsed:typeof collapsed!==\"undefined\"?collapsed:undefined,\"id\" in locals_for_with?locals_for_with.id:typeof id!==\"undefined\"?id:undefined,\"removeButton\" in locals_for_with?locals_for_with.removeButton:typeof removeButton!==\"undefined\"?removeButton:undefined,\"title\" in locals_for_with?locals_for_with.title:typeof title!==\"undefined\"?title:undefined));} catch (err) {pug.rethrow(err, pug_debug_filename, pug_debug_line, pug_debug_sources[pug_debug_filename]);};return pug_html;};\nmodule.exports = template;\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/templates/panels/frameSelectorWidget.pug","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@girder/histomicsui/stylesheets/panels/frameSelectorWidget.styl\n// module id = 118\n// module chunks = 0","/* global BUILD_TIMESTAMP */\n\nimport $ from 'jquery';\nimport _ from 'underscore';\n\nimport {restRequest} from '@girder/core/rest';\n\nimport Panel from '@girder/slicer_cli_web/views/Panel';\n// import events from '@girder/core/events';\n\nimport MetadataPlotDialog from '../dialogs/metadataPlot';\nimport metadataPlotTemplate from '../templates/panels/metadataPlot.pug';\nimport '../stylesheets/panels/metadataPlot.styl';\n\nvar MetadataPlot = Panel.extend({\n events: _.extend(Panel.prototype.events, {\n 'click .g-widget-metadata-plot-settings': function (event) {\n const dlg = new MetadataPlotDialog({\n plotOptions: this.getPlotOptions(),\n plotConfig: this.plotConfig,\n plotPanel: this,\n el: $('#g-dialog-container'),\n parentView: this\n }).render();\n dlg.$el.on('hidden.bs.modal', () => {\n if (dlg.result !== undefined) {\n if (!_.isEqual(this.plotConfig, dlg.result)) {\n this.plottableData = null;\n }\n this.plotConfig = dlg.result;\n this.render();\n }\n });\n },\n 'click .h-panel-maximize': function (event) {\n this.$el.html('');\n this.expand(event);\n this.$('.s-panel-content').addClass('in');\n const panelElem = this.$el.closest('.s-panel');\n const maximize = !panelElem.hasClass('h-panel-maximized');\n panelElem.toggleClass('h-panel-maximized', maximize);\n panelElem.toggleClass('s-no-panel-toggle', maximize);\n this.render();\n }\n }),\n\n /**\n * Creates a widget to display a plot of certain metadata, possibly\n * including data from items in the same parent folder.\n */\n initialize: function (settings) {\n this.settings = settings;\n this.plotConfig = {\n folder: true\n };\n },\n\n _refetchPlottable: function () {\n const annotations = [];\n if (this.parentView.annotationSelector && this.parentView.annotationSelector.collection) {\n this.parentView.annotationSelector.collection.each((model) => {\n if (model.get('displayed')) {\n annotations.push(model.id);\n }\n });\n if (!this._listeningForAnnotations) {\n this.listenTo(this.parentView.annotationSelector.collection, 'sync remove update reset change:displayed', this._refetchPlottable);\n this._listeningForAnnotations = true;\n }\n }\n const lastUsed = this.item.id + ',' + annotations.join(',');\n if (lastUsed === this.plottableListUsed && this.plottableListPromise) {\n return;\n }\n this._currentAnnotations = annotations;\n this.plottableListUsed = lastUsed;\n\n this.plottableList = null;\n if (this.plottableListPromise) {\n this.plottableListPromise.abort();\n }\n this.plottableData = null;\n if (this.plottableDataPromise) {\n this.plottableDataPromise.abort();\n }\n const hasPlot = (this.getPlotOptions().filter((v) => v.type === 'number' && v.count).length >= 2);\n\n // redo this when annotations are turned on or off\n this.plottableListPromise = restRequest({\n url: `annotation/item/${this.item.id}/plot/list`,\n method: 'POST',\n error: null,\n data: {\n annotations: JSON.stringify(this._currentAnnotations)\n }\n }).done((result) => {\n this.plottableList = result;\n const plotOptions = this.getPlotOptions();\n if (plotOptions.filter((v) => v.type === 'number' && v.count).length >= 2) {\n if (!hasPlot) {\n this.render();\n }\n }\n });\n },\n\n setItem: function (item) {\n const update = (this.item !== undefined && item !== undefined && this.item.id !== item.id) || !(this.item === undefined && item === undefined);\n this.item = item;\n this.item.on('g:changed', function () {\n this.render();\n }, this);\n if (update) {\n this.parentFolderId = item.get('folderId');\n this._refetchPlottable();\n }\n this.render();\n return this;\n },\n\n /**\n * Check if there is metadata that can be used for a plot. Metadata is\n * structured as a dictionary. If a top-level key contains an array\n * whose first element is an object, then any key in that object is a\n * possible value to plot. These keys are categorized based on if their\n * values are numbers or strings.\n *\n * @returns {object[]} An alphabetized list of available keys. Each entry\n * is an object with 'root', 'key' and 'type'.\n */\n getPlotOptions: function () {\n if (!this.item || !this.item.id || !this.item.get('meta') || !this.plottableList) {\n return [];\n }\n return this.plottableList;\n },\n\n fetchPlottableData: function () {\n if (!this.item) {\n return;\n }\n let keys = [];\n ['x', 'y', 'r', 'c', 's'].forEach((k) => {\n if (this.plotConfig[k] !== undefined) {\n keys.push(this.plotConfig[k]);\n }\n });\n if (!keys.length) {\n return;\n }\n const requiredKeys = [];\n ['x', 'y'].forEach((k) => {\n if (this.plotConfig[k] !== undefined) {\n requiredKeys.push(this.plotConfig[k]);\n }\n });\n keys = keys.concat(['_0_item.name', '_2_item.id', '_bbox.x0', '_bbox.y0', '_bbox.x1', '_bbox.y1']);\n this.plottableDataPromise = restRequest({\n url: `annotation/item/${this.item.id}/plot/data`,\n method: 'POST',\n error: null,\n data: {\n adjacentItems: !!this.plotConfig.folder,\n keys: keys.join(','),\n requiredKeys: requiredKeys.join(','),\n annotations: JSON.stringify(this._currentAnnotations)\n }\n }).done((result) => {\n this.plottableData = result;\n });\n },\n\n /**\n * Collect all plot data into a single array with the current item first.\n * Create a summary of each data field. For numeric values, this is the\n * minimum and maximum. For all fields, this is the number of distinct\n * values. This is done for the current item's data and for all items\n * combined.\n */\n getPlotData: function (plotConfig) {\n if (!this.plottableData || !this.plottableData.columns || !this.plottableData.data) {\n return null;\n }\n const plotData = {\n columns: this.plottableData.columns,\n data: this.plottableData.data,\n colDict: {},\n series: {},\n format: plotConfig.format || 'scatter'\n };\n plotData.columns.forEach((col) => {\n plotData.colDict[col.key] = col;\n });\n ['x', 'y', 'r', 'c', 's'].filter((series) => plotConfig[series] && plotData.colDict[plotConfig[series]]).forEach((series) => {\n plotData.series[series] = plotData.colDict[plotConfig[series]];\n });\n return plotData;\n },\n\n onHover: function (evt) {\n // this is a stub for wrapping.\n },\n\n adjustHoverText: function (d, parts, plotData) {\n },\n\n plotDataToPlotly: function (plotData) {\n const colorBrewerPaired12 = ['#a6cee3', '#1f78b4', '#b2df8a', '#33a02c', '#fb9a99', '#e31a1c', '#fdbf6f', '#ff7f00', '#cab2d6', '#6a3d9a', '#ffff99', '#b15928'];\n const viridis = ['#440154', '#482172', '#423d84', '#38578c', '#2d6f8e', '#24858d', '#1e9a89', '#2ab07e', '#51c468', '#86d449', '#c2df22', '#fde724'];\n let colorScale;\n if (plotData.series.c && (plotData.series.c.type === 'number' || !plotData.series.c.distinctcount)) {\n colorScale = window.d3.scale.linear().domain(viridis.map((_, i) => i / (viridis.length - 1) * ((plotData.series.c.max - plotData.series.c.min) || 0) + plotData.series.c.min)).range(viridis);\n }\n const plotlyData = {\n x: plotData.data.map((d) => d[plotData.series.x.index]),\n y: plotData.data.map((d) => d[plotData.series.y.index]),\n hovertext: plotData.data.map((d) => {\n const parts = [];\n ['x', 'y', 'r', 'c', 's'].forEach((series) => {\n if (plotData.series[series] && d[plotData.series[series].index] !== undefined) {\n parts.push(`${plotData.series[series].title}: ${d[plotData.series[series].index]}`);\n }\n });\n this.adjustHoverText(d, parts, plotData);\n return '' + parts.join('
') + '
';\n }),\n hoverinfo: 'text',\n marker: {\n symbol: plotData.series.s && plotData.series.s.distinct ? plotData.data.map((d) => plotData.series.s.distinct.indexOf(d[plotData.series.s.index])) : 0,\n size: plotData.series.r && (plotData.series.r.type === 'number' || plotData.series.r.distinctcount)\n ? (\n plotData.series.r.type === 'number'\n ? plotData.data.map((d) => (d[plotData.series.r.index] - plotData.series.r.min) / (plotData.series.r.max - plotData.series.r.min) * 10 + 5)\n : plotData.data.map((d) => plotData.series.r.distinct.indexOf(d[plotData.series.r.index]) / plotData.series.r.distinctcount * 10 + 5)\n )\n : 10,\n color: plotData.series.c\n ? (\n !plotData.series.c.distinctcount\n ? plotData.data.map((d) => colorScale(d[plotData.series.c.index]))\n : plotData.data.map((d) => colorBrewerPaired12[plotData.series.c.distinct.indexOf(d[plotData.series.c.index])] || '#000000')\n )\n : '#000000',\n opacity: 0.5\n },\n type: plotData.data.length > 100 ? 'scattergl' : 'scatter',\n mode: 'markers'\n };\n if (plotData.format === 'violin') {\n plotlyData.type = 'violin';\n plotlyData.x = plotlyData.marker.symbol;\n plotlyData.box = {visible: true};\n plotlyData.meanline = {visible: true};\n plotlyData.yaxis = {zeroline: false};\n plotlyData.scalemode = 'width';\n plotlyData.width = 0.9;\n // plotlyData.points = 'outliers';\n plotlyData.points = 'all';\n plotlyData.pointpos = 0;\n plotlyData.jitter = 0;\n // plotlyData.side = 'positive';\n if (plotData.series.c && plotData.series.c.distinct) {\n plotlyData.transforms = [{\n type: 'groupby',\n groups: plotlyData.x,\n styles: Object.keys(plotData.series.c.distinct).map((k, kidx) => ({target: kidx, value: {line: {color: colorBrewerPaired12[kidx]}}}))\n }];\n }\n }\n return [plotlyData];\n },\n\n render: function () {\n if (this.item && this.item.id) {\n const plotOptions = this.getPlotOptions();\n if (plotOptions.filter((v) => v.type === 'number' && v.count).length < 2) {\n this.$el.html('');\n return;\n }\n let root = '/static/built';\n try {\n root = __webpack_public_path__ || root; // eslint-disable-line\n } catch (err) { }\n root = root.replace(/\\/$/, '');\n this.fetchPlottableData();\n $.when(\n this.plottableDataPromise,\n !window.Plotly\n ? $.ajax({ // like $.getScript, but allow caching\n url: root + '/plugins/histomicsui/extra/plotly.js' + (BUILD_TIMESTAMP ? '?_=' + BUILD_TIMESTAMP : ''),\n dataType: 'script',\n cache: true\n })\n : null\n ).done(() => {\n const plotData = this.getPlotData(this.plotConfig);\n this.lastPlotData = plotData;\n this.$el.html(metadataPlotTemplate({}));\n const elem = this.$el.find('.h-metadata-plot-area');\n if (!plotData || !plotData.series.x || !plotData.series.y || plotData.data.length < 2) {\n elem.html('');\n return;\n }\n const maximized = this.$el.closest('.h-panel-maximized').length > 0;\n const plotOptions = {\n margin: {t: 0, l: 40, r: 0, b: 20},\n hovermode: 'closest'\n };\n if (maximized) {\n plotOptions.margin.l += 20;\n plotOptions.margin.b += 40;\n plotOptions.xaxis = {title: {text: plotData.format !== 'violin' ? `${plotData.series.x.title}` : `${plotData.series.s.title}`}};\n plotOptions.yaxis = {title: {text: `${plotData.series.y.title}`}};\n }\n window.Plotly.newPlot(elem[0], this.plotDataToPlotly(plotData), plotOptions);\n elem[0].on('plotly_hover', (evt) => this.onHover(evt));\n });\n }\n return this;\n }\n});\n\nexport default MetadataPlot;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/panels/MetadataPlot.js","var pug = require(\"!../../../../pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;var pug_debug_filename, pug_debug_line;try {var pug_debug_sources = {\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\":\".modal-dialog(role='document')\\n .modal-content\\n form.modal-form(role='form')\\n .modal-header\\n button.close(type='button', data-dismiss='modal', aria-label='Close')\\n span(aria-hidden='true') ×\\n h4.modal-title Metadata Plot\\n .modal-body\\n .form-group\\n label(for='h-plot-format') Format\\n -\\n var plotFormats = [\\n {key: 'scatter', label: 'Scatter'},\\n {key: 'violin', label: 'Violin'}]\\n select#h-plot-format.form-control\\n each opt in plotFormats\\n option(value=opt.key, selected=plotConfig.format === opt.key) #{opt.label}\\n -\\n var seriesList = [\\n {key: 'x', label: 'x-axis', number: true, comment: 'Not used in violin plots'},\\n {key: 'y', label: 'y-axis', number: true},\\n {key: 'r', label: 'Radius'},\\n {key: 'c', label: 'Color'},\\n {key: 's', label: 'Symbol', string: true, comment: 'Grouping for violin plots'}]\\n for series in seriesList\\n .form-group\\n label(for='h-plot-series-' + series.key) #{series.label}\\n if series.comment\\n p.g-hui-description #{series.comment}\\n select.form-control(id='h-plot-series-' + series.key)\\n if !series.number\\n option(value='_none_', selected=plotConfig[series.key] === undefined) None\\n each opt in plotOptions\\n if (!series.number || opt.type === 'number') && (!series.string || opt.type === 'string' || opt.distinct)\\n - var selected = plotConfig[series.key] === opt.key\\n option(value=opt.key, selected=selected) #{opt.title}\\n .form-group\\n label(for='h-plot-folder')\\n input#h-plot-folder(type='checkbox', checked=plotConfig.folder)\\n | Include data from other items in the same folder\\n .modal-footer\\n button.btn.btn-default.h-cancel(type='button', data-dismiss='modal') Cancel\\n button.btn.btn-primary.h-submit(type='submit') Save\\n\"};\n;var locals_for_with = (locals || {});(function (plotConfig, plotOptions) {;pug_debug_line = 1;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"modal-dialog\\\" role=\\\"document\\\"\\u003E\";\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"modal-content\\\"\\u003E\";\n;pug_debug_line = 3;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Cform class=\\\"modal-form\\\" role=\\\"form\\\"\\u003E\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"modal-header\\\"\\u003E\";\n;pug_debug_line = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"close\\\" type=\\\"button\\\" data-dismiss=\\\"modal\\\" aria-label=\\\"Close\\\"\\u003E\";\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Cspan aria-hidden=\\\"true\\\"\\u003E\";\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"×\\u003C\\u002Fspan\\u003E\\u003C\\u002Fbutton\\u003E\";\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Ch4 class=\\\"modal-title\\\"\\u003E\";\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"Metadata Plot\\u003C\\u002Fh4\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"modal-body\\\"\\u003E\";\n;pug_debug_line = 9;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Clabel for=\\\"h-plot-format\\\"\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"Format\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\nvar plotFormats = [\n {key: 'scatter', label: 'Scatter'},\n {key: 'violin', label: 'Violin'}]\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Cselect class=\\\"form-control\\\" id=\\\"h-plot-format\\\"\\u003E\";\n;pug_debug_line = 16;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\n// iterate plotFormats\n;(function(){\n var $$obj = plotFormats;\n if ('number' == typeof $$obj.length) {\n for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) {\n var opt = $$obj[pug_index0];\n;pug_debug_line = 17;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Coption\" + (pug.attr(\"value\", opt.key, true, true)+pug.attr(\"selected\", plotConfig.format === opt.key, true, true)) + \"\\u003E\";\n;pug_debug_line = 17;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = opt.label) ? \"\" : pug_interp)) + \"\\u003C\\u002Foption\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var pug_index0 in $$obj) {\n $$l++;\n var opt = $$obj[pug_index0];\n;pug_debug_line = 17;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Coption\" + (pug.attr(\"value\", opt.key, true, true)+pug.attr(\"selected\", plotConfig.format === opt.key, true, true)) + \"\\u003E\";\n;pug_debug_line = 17;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = opt.label) ? \"\" : pug_interp)) + \"\\u003C\\u002Foption\\u003E\";\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Fselect\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 18;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\nvar seriesList = [\n {key: 'x', label: 'x-axis', number: true, comment: 'Not used in violin plots'},\n {key: 'y', label: 'y-axis', number: true},\n {key: 'r', label: 'Radius'},\n {key: 'c', label: 'Color'},\n {key: 's', label: 'Symbol', string: true, comment: 'Grouping for violin plots'}]\n;pug_debug_line = 25;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\n// iterate seriesList\n;(function(){\n var $$obj = seriesList;\n if ('number' == typeof $$obj.length) {\n for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) {\n var series = $$obj[pug_index1];\n;pug_debug_line = 26;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\";\n;pug_debug_line = 27;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Clabel\" + (pug.attr(\"for\", 'h-plot-series-' + series.key, true, true)) + \"\\u003E\";\n;pug_debug_line = 27;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = series.label) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 28;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\nif (series.comment) {\n;pug_debug_line = 29;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Cp class=\\\"g-hui-description\\\"\\u003E\";\n;pug_debug_line = 29;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = series.comment) ? \"\" : pug_interp)) + \"\\u003C\\u002Fp\\u003E\";\n}\n;pug_debug_line = 30;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Cselect\" + (\" class=\\\"form-control\\\"\"+pug.attr(\"id\", 'h-plot-series-' + series.key, true, true)) + \"\\u003E\";\n;pug_debug_line = 31;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\nif (!series.number) {\n;pug_debug_line = 32;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Coption\" + (\" value=\\\"_none_\\\"\"+pug.attr(\"selected\", plotConfig[series.key] === undefined, true, true)) + \"\\u003E\";\n;pug_debug_line = 32;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"None\\u003C\\u002Foption\\u003E\";\n}\n;pug_debug_line = 33;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\n// iterate plotOptions\n;(function(){\n var $$obj = plotOptions;\n if ('number' == typeof $$obj.length) {\n for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) {\n var opt = $$obj[pug_index2];\n;pug_debug_line = 34;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\nif ((!series.number || opt.type === 'number') && (!series.string || opt.type === 'string' || opt.distinct)) {\n;pug_debug_line = 35;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\nvar selected = plotConfig[series.key] === opt.key\n;pug_debug_line = 36;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Coption\" + (pug.attr(\"value\", opt.key, true, true)+pug.attr(\"selected\", selected, true, true)) + \"\\u003E\";\n;pug_debug_line = 36;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = opt.title) ? \"\" : pug_interp)) + \"\\u003C\\u002Foption\\u003E\";\n}\n }\n } else {\n var $$l = 0;\n for (var pug_index2 in $$obj) {\n $$l++;\n var opt = $$obj[pug_index2];\n;pug_debug_line = 34;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\nif ((!series.number || opt.type === 'number') && (!series.string || opt.type === 'string' || opt.distinct)) {\n;pug_debug_line = 35;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\nvar selected = plotConfig[series.key] === opt.key\n;pug_debug_line = 36;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Coption\" + (pug.attr(\"value\", opt.key, true, true)+pug.attr(\"selected\", selected, true, true)) + \"\\u003E\";\n;pug_debug_line = 36;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = opt.title) ? \"\" : pug_interp)) + \"\\u003C\\u002Foption\\u003E\";\n}\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Fselect\\u003E\\u003C\\u002Fdiv\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var pug_index1 in $$obj) {\n $$l++;\n var series = $$obj[pug_index1];\n;pug_debug_line = 26;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\";\n;pug_debug_line = 27;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Clabel\" + (pug.attr(\"for\", 'h-plot-series-' + series.key, true, true)) + \"\\u003E\";\n;pug_debug_line = 27;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = series.label) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 28;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\nif (series.comment) {\n;pug_debug_line = 29;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Cp class=\\\"g-hui-description\\\"\\u003E\";\n;pug_debug_line = 29;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = series.comment) ? \"\" : pug_interp)) + \"\\u003C\\u002Fp\\u003E\";\n}\n;pug_debug_line = 30;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Cselect\" + (\" class=\\\"form-control\\\"\"+pug.attr(\"id\", 'h-plot-series-' + series.key, true, true)) + \"\\u003E\";\n;pug_debug_line = 31;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\nif (!series.number) {\n;pug_debug_line = 32;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Coption\" + (\" value=\\\"_none_\\\"\"+pug.attr(\"selected\", plotConfig[series.key] === undefined, true, true)) + \"\\u003E\";\n;pug_debug_line = 32;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"None\\u003C\\u002Foption\\u003E\";\n}\n;pug_debug_line = 33;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\n// iterate plotOptions\n;(function(){\n var $$obj = plotOptions;\n if ('number' == typeof $$obj.length) {\n for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) {\n var opt = $$obj[pug_index3];\n;pug_debug_line = 34;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\nif ((!series.number || opt.type === 'number') && (!series.string || opt.type === 'string' || opt.distinct)) {\n;pug_debug_line = 35;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\nvar selected = plotConfig[series.key] === opt.key\n;pug_debug_line = 36;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Coption\" + (pug.attr(\"value\", opt.key, true, true)+pug.attr(\"selected\", selected, true, true)) + \"\\u003E\";\n;pug_debug_line = 36;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = opt.title) ? \"\" : pug_interp)) + \"\\u003C\\u002Foption\\u003E\";\n}\n }\n } else {\n var $$l = 0;\n for (var pug_index3 in $$obj) {\n $$l++;\n var opt = $$obj[pug_index3];\n;pug_debug_line = 34;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\nif ((!series.number || opt.type === 'number') && (!series.string || opt.type === 'string' || opt.distinct)) {\n;pug_debug_line = 35;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\nvar selected = plotConfig[series.key] === opt.key\n;pug_debug_line = 36;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Coption\" + (pug.attr(\"value\", opt.key, true, true)+pug.attr(\"selected\", selected, true, true)) + \"\\u003E\";\n;pug_debug_line = 36;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = opt.title) ? \"\" : pug_interp)) + \"\\u003C\\u002Foption\\u003E\";\n}\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Fselect\\u003E\\u003C\\u002Fdiv\\u003E\";\n }\n }\n}).call(this);\n\n;pug_debug_line = 37;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\";\n;pug_debug_line = 38;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Clabel for=\\\"h-plot-folder\\\"\\u003E\";\n;pug_debug_line = 39;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" id=\\\"h-plot-folder\\\" type=\\\"checkbox\\\"\"+pug.attr(\"checked\", plotConfig.folder, true, true)) + \"\\u003E\";\n;pug_debug_line = 40;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \" Include data from other items in the same folder\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 41;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"modal-footer\\\"\\u003E\";\n;pug_debug_line = 42;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"btn btn-default h-cancel\\\" type=\\\"button\\\" data-dismiss=\\\"modal\\\"\\u003E\";\n;pug_debug_line = 42;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"Cancel\\u003C\\u002Fbutton\\u003E\";\n;pug_debug_line = 43;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"btn btn-primary h-submit\\\" type=\\\"submit\\\"\\u003E\";\n;pug_debug_line = 43;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"Save\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fform\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"plotConfig\" in locals_for_with?locals_for_with.plotConfig:typeof plotConfig!==\"undefined\"?plotConfig:undefined,\"plotOptions\" in locals_for_with?locals_for_with.plotOptions:typeof plotOptions!==\"undefined\"?plotOptions:undefined));} catch (err) {pug.rethrow(err, pug_debug_filename, pug_debug_line, pug_debug_sources[pug_debug_filename]);};return pug_html;};\nmodule.exports = template;\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/templates/dialogs/metadataPlot.pug","var pug = require(\"!../../../../pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;var pug_debug_filename, pug_debug_line;try {var pug_debug_sources = {\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataPlot.pug\":\"extends .\\u002Fpanel.pug\\n\\nblock title\\n | #[span.icon-chart-line] Metadata Plot\\nblock controls\\n span.s-no-panel-toggle\\n button.g-widget-metadata-plot-settings.btn.btn-sm.btn-default(title=\\\"Plot Settings\\\")\\n i.icon-cog\\n span.s-no-panel-toggle.h-panel-maximize\\n i.icon-resize-full(title=\\\"Maximize\\\")\\n\\nblock content\\n .h-metadata-plot-area\\n\",\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\":\".s-panel-title-container\\n span.s-panel-title.h-panel-title\\n block title\\n | #{title}\\n span.s-panel-controls\\n block controls\\n if collapsed\\n i.icon-down-open\\n else\\n i.icon-up-open\\n if removeButton\\n i.icon-cancel.s-remove-panel(data-target=`#${id}`)\\n\\n- var attrs = {}\\nif !collapsed\\n - attrs.class = 'in'\\n.s-panel-content.collapse&attributes(attrs)\\n block content\\n\"};\n;var locals_for_with = (locals || {});(function (collapsed, id, removeButton) {;pug_debug_line = 1;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"s-panel-title-container\\\"\\u003E\";\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"s-panel-title h-panel-title\\\"\\u003E\";\n;pug_debug_line = 3;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-chart-line\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataPlot.pug\";\npug_html = pug_html + \" Metadata Plot\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"s-panel-controls\\\"\\u003E\";\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"s-no-panel-toggle\\\"\\u003E\";\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"g-widget-metadata-plot-settings btn btn-sm btn-default\\\" title=\\\"Plot Settings\\\"\\u003E\";\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-cog\\\"\\u003E\\u003C\\u002Fi\\u003E\\u003C\\u002Fbutton\\u003E\";\n;pug_debug_line = 9;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"s-no-panel-toggle h-panel-maximize\\\"\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-resize-full\\\" title=\\\"Maximize\\\"\\u003E\\u003C\\u002Fi\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nif (collapsed) {\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-down-open\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n}\nelse {\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-up-open\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n}\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nif (removeButton) {\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Ci\" + (\" class=\\\"icon-cancel s-remove-panel\\\"\"+pug.attr(\"data-target\", `#${id}`, true, true)) + \"\\u003E\\u003C\\u002Fi\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nvar attrs = {}\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nif (!collapsed) {\n;pug_debug_line = 16;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nattrs.class = 'in'\n}\n;pug_debug_line = 17;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Cdiv\" + (pug.attrs(pug.merge([{\"class\": \"s-panel-content collapse\"},attrs]), true)) + \"\\u003E\";\n;pug_debug_line = 18;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-metadata-plot-area\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"collapsed\" in locals_for_with?locals_for_with.collapsed:typeof collapsed!==\"undefined\"?collapsed:undefined,\"id\" in locals_for_with?locals_for_with.id:typeof id!==\"undefined\"?id:undefined,\"removeButton\" in locals_for_with?locals_for_with.removeButton:typeof removeButton!==\"undefined\"?removeButton:undefined));} catch (err) {pug.rethrow(err, pug_debug_filename, pug_debug_line, pug_debug_sources[pug_debug_filename]);};return pug_html;};\nmodule.exports = template;\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/templates/panels/metadataPlot.pug","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@girder/histomicsui/stylesheets/panels/metadataPlot.styl\n// module id = 122\n// module chunks = 0","module.exports = (__webpack_require__(5))(29);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/@girder/large_image_annotation/annotations/geojs/convert.js from dll-reference girder_plugin_large_image_annotation\n// module id = 123\n// module chunks = 0","import { render, staticRenderFns } from \"./EditHeatmapOrGridDataContainer.vue?vue&type=template&id=8c11edd6&\"\nimport script from \"./EditHeatmapOrGridDataContainer.vue?vue&type=script&lang=js&\"\nexport * from \"./EditHeatmapOrGridDataContainer.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../HistomicsUI/histomicsui/web_client/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/opt/HistomicsUI/histomicsui/web_client/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('8c11edd6')) {\n api.createRecord('8c11edd6', component.options)\n } else {\n api.reload('8c11edd6', component.options)\n }\n module.hot.accept(\"./EditHeatmapOrGridDataContainer.vue?vue&type=template&id=8c11edd6&\", function () {\n api.rerender('8c11edd6', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"node_modules/@girder/histomicsui/vue/components/EditHeatmapOrGridDataContainer.vue\"\nexport default component.exports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@girder/histomicsui/vue/components/EditHeatmapOrGridDataContainer.vue\n// module id = 124\n// module chunks = 0","export * from \"-!../../../../../../../../HistomicsUI/histomicsui/web_client/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../../../HistomicsUI/histomicsui/web_client/node_modules/vue-loader/lib/index.js??vue-loader-options!./EditHeatmapOrGridDataContainer.vue?vue&type=template&id=8c11edd6&\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@girder/histomicsui/vue/components/EditHeatmapOrGridDataContainer.vue?vue&type=template&id=8c11edd6&\n// module id = 125\n// module chunks = 0","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n [\n _c(\"edit-heatmap-or-grid-data\", {\n attrs: { \"element-data\": _vm.attributes },\n on: { submit: _vm.handleSubmit, cancel: _vm.close },\n }),\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }\n\n\n//////////////////\n// WEBPACK FOOTER\n// /opt/HistomicsUI/histomicsui/web_client/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/opt/HistomicsUI/histomicsui/web_client/node_modules/vue-loader/lib??vue-loader-options!./node_modules/@girder/histomicsui/vue/components/EditHeatmapOrGridDataContainer.vue?vue&type=template&id=8c11edd6&\n// module id = 126\n// module chunks = 0","/*!\n * Vue.js v2.6.14\n * (c) 2014-2021 Evan You\n * Released under the MIT License.\n */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = global || self, global.Vue = factory());\n}(this, function () { 'use strict';\n\n /* */\n\n var emptyObject = Object.freeze({});\n\n // These helpers produce better VM code in JS engines due to their\n // explicitness and function inlining.\n function isUndef (v) {\n return v === undefined || v === null\n }\n\n function isDef (v) {\n return v !== undefined && v !== null\n }\n\n function isTrue (v) {\n return v === true\n }\n\n function isFalse (v) {\n return v === false\n }\n\n /**\n * Check if value is primitive.\n */\n function isPrimitive (value) {\n return (\n typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean'\n )\n }\n\n /**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\n function isObject (obj) {\n return obj !== null && typeof obj === 'object'\n }\n\n /**\n * Get the raw type string of a value, e.g., [object Object].\n */\n var _toString = Object.prototype.toString;\n\n function toRawType (value) {\n return _toString.call(value).slice(8, -1)\n }\n\n /**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\n function isPlainObject (obj) {\n return _toString.call(obj) === '[object Object]'\n }\n\n function isRegExp (v) {\n return _toString.call(v) === '[object RegExp]'\n }\n\n /**\n * Check if val is a valid array index.\n */\n function isValidArrayIndex (val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val)\n }\n\n function isPromise (val) {\n return (\n isDef(val) &&\n typeof val.then === 'function' &&\n typeof val.catch === 'function'\n )\n }\n\n /**\n * Convert a value to a string that is actually rendered.\n */\n function toString (val) {\n return val == null\n ? ''\n : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)\n ? JSON.stringify(val, null, 2)\n : String(val)\n }\n\n /**\n * Convert an input value to a number for persistence.\n * If the conversion fails, return original string.\n */\n function toNumber (val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n\n }\n\n /**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\n function makeMap (\n str,\n expectsLowerCase\n ) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase\n ? function (val) { return map[val.toLowerCase()]; }\n : function (val) { return map[val]; }\n }\n\n /**\n * Check if a tag is a built-in tag.\n */\n var isBuiltInTag = makeMap('slot,component', true);\n\n /**\n * Check if an attribute is a reserved attribute.\n */\n var isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n /**\n * Remove an item from an array.\n */\n function remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n }\n\n /**\n * Check whether an object has the property.\n */\n var hasOwnProperty = Object.prototype.hasOwnProperty;\n function hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n }\n\n /**\n * Create a cached version of a pure function.\n */\n function cached (fn) {\n var cache = Object.create(null);\n return (function cachedFn (str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str))\n })\n }\n\n /**\n * Camelize a hyphen-delimited string.\n */\n var camelizeRE = /-(\\w)/g;\n var camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n });\n\n /**\n * Capitalize a string.\n */\n var capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n });\n\n /**\n * Hyphenate a camelCase string.\n */\n var hyphenateRE = /\\B([A-Z])/g;\n var hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n });\n\n /**\n * Simple bind polyfill for environments that do not support it,\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\n * since native bind is now performant enough in most browsers.\n * But removing it would mean breaking code that was able to run in\n * PhantomJS 1.x, so this must be kept for backward compatibility.\n */\n\n /* istanbul ignore next */\n function polyfillBind (fn, ctx) {\n function boundFn (a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx)\n }\n\n boundFn._length = fn.length;\n return boundFn\n }\n\n function nativeBind (fn, ctx) {\n return fn.bind(ctx)\n }\n\n var bind = Function.prototype.bind\n ? nativeBind\n : polyfillBind;\n\n /**\n * Convert an Array-like object to a real Array.\n */\n function toArray (list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret\n }\n\n /**\n * Mix properties into target object.\n */\n function extend (to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to\n }\n\n /**\n * Merge an Array of Objects into a single Object.\n */\n function toObject (arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res\n }\n\n /* eslint-disable no-unused-vars */\n\n /**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\n */\n function noop (a, b, c) {}\n\n /**\n * Always return false.\n */\n var no = function (a, b, c) { return false; };\n\n /* eslint-enable no-unused-vars */\n\n /**\n * Return the same value.\n */\n var identity = function (_) { return _; };\n\n /**\n * Generate a string containing static keys from compiler modules.\n */\n function genStaticKeys (modules) {\n return modules.reduce(function (keys, m) {\n return keys.concat(m.staticKeys || [])\n }, []).join(',')\n }\n\n /**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\n function looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime()\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n }\n\n /**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\n */\n function looseIndexOf (arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) { return i }\n }\n return -1\n }\n\n /**\n * Ensure a function is called only once.\n */\n function once (fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n }\n }\n\n var SSR_ATTR = 'data-server-rendered';\n\n var ASSET_TYPES = [\n 'component',\n 'directive',\n 'filter'\n ];\n\n var LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured',\n 'serverPrefetch'\n ];\n\n /* */\n\n\n\n var config = ({\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: \"development\" !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: \"development\" !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Perform updates asynchronously. Intended to be used by Vue Test Utils\n * This will significantly reduce performance if set to false.\n */\n async: true,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n });\n\n /* */\n\n /**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\n var unicodeRegExp = /a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;\n\n /**\n * Check if a string starts with $ or _\n */\n function isReserved (str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n }\n\n /**\n * Define a property.\n */\n function def (obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n }\n\n /**\n * Parse simple path.\n */\n var bailRE = new RegExp((\"[^\" + (unicodeRegExp.source) + \".$_\\\\d]\"));\n function parsePath (path) {\n if (bailRE.test(path)) {\n return\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) { return }\n obj = obj[segments[i]];\n }\n return obj\n }\n }\n\n /* */\n\n // can we use __proto__?\n var hasProto = '__proto__' in {};\n\n // Browser environment sniffing\n var inBrowser = typeof window !== 'undefined';\n var inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\n var weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\n var UA = inBrowser && window.navigator.userAgent.toLowerCase();\n var isIE = UA && /msie|trident/.test(UA);\n var isIE9 = UA && UA.indexOf('msie 9.0') > 0;\n var isEdge = UA && UA.indexOf('edge/') > 0;\n var isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\n var isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\n var isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\n var isPhantomJS = UA && /phantomjs/.test(UA);\n var isFF = UA && UA.match(/firefox\\/(\\d+)/);\n\n // Firefox has a \"watch\" function on Object.prototype...\n var nativeWatch = ({}).watch;\n\n var supportsPassive = false;\n if (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', ({\n get: function get () {\n /* istanbul ignore next */\n supportsPassive = true;\n }\n })); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n }\n\n // this needs to be lazy-evaled because vue may be required before\n // vue-server-renderer can set VUE_ENV\n var _isServer;\n var isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'] && global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n };\n\n // detect devtools\n var devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n /* istanbul ignore next */\n function isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n }\n\n var hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\n var _Set;\n /* istanbul ignore if */ // $flow-disable-line\n if (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n } else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = /*@__PURE__*/(function () {\n function Set () {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has (key) {\n return this.set[key] === true\n };\n Set.prototype.add = function add (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear () {\n this.set = Object.create(null);\n };\n\n return Set;\n }());\n }\n\n /* */\n\n var warn = noop;\n var tip = noop;\n var generateComponentTrace = (noop); // work around flow check\n var formatComponentName = (noop);\n\n {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function (str) { return str\n .replace(classifyRE, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, ''); };\n\n warn = function (msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && (!config.silent)) {\n console.error((\"[Vue warn]: \" + msg + trace));\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.warn(\"[Vue tip]: \" + msg + (\n vm ? generateComponentTrace(vm) : ''\n ));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n if (vm.$root === vm) {\n return ''\n }\n var options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm;\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? (\"<\" + (classify(name)) + \">\") : \"\") +\n (file && includeFile !== false ? (\" at \" + file) : '')\n )\n };\n\n var repeat = function (str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1) { res += str; }\n if (n > 1) { str += str; }\n n >>= 1;\n }\n return res\n };\n\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm) {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n : formatComponentName(vm))); })\n .join('\\n')\n } else {\n return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n }\n };\n }\n\n /* */\n\n var uid = 0;\n\n /**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\n var Dep = function Dep () {\n this.id = uid++;\n this.subs = [];\n };\n\n Dep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n };\n\n Dep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n };\n\n Dep.prototype.depend = function depend () {\n if (Dep.target) {\n Dep.target.addDep(this);\n }\n };\n\n Dep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n if (!config.async) {\n // subs aren't sorted in scheduler if not running async\n // we need to sort them now to make sure they fire in correct\n // order\n subs.sort(function (a, b) { return a.id - b.id; });\n }\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n };\n\n // The current target watcher being evaluated.\n // This is globally unique because only one watcher\n // can be evaluated at a time.\n Dep.target = null;\n var targetStack = [];\n\n function pushTarget (target) {\n targetStack.push(target);\n Dep.target = target;\n }\n\n function popTarget () {\n targetStack.pop();\n Dep.target = targetStack[targetStack.length - 1];\n }\n\n /* */\n\n var VNode = function VNode (\n tag,\n data,\n children,\n text,\n elm,\n context,\n componentOptions,\n asyncFactory\n ) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n };\n\n var prototypeAccessors = { child: { configurable: true } };\n\n // DEPRECATED: alias for componentInstance for backwards compat.\n /* istanbul ignore next */\n prototypeAccessors.child.get = function () {\n return this.componentInstance\n };\n\n Object.defineProperties( VNode.prototype, prototypeAccessors );\n\n var createEmptyVNode = function (text) {\n if ( text === void 0 ) text = '';\n\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node\n };\n\n function createTextVNode (val) {\n return new VNode(undefined, undefined, undefined, String(val))\n }\n\n // optimized shallow clone\n // used for static nodes and slot nodes because they may be reused across\n // multiple renders, cloning them avoids errors when DOM manipulations rely\n // on their elm reference.\n function cloneVNode (vnode) {\n var cloned = new VNode(\n vnode.tag,\n vnode.data,\n // #7975\n // clone children array to avoid mutating original in case of cloning\n // a child.\n vnode.children && vnode.children.slice(),\n vnode.text,\n vnode.elm,\n vnode.context,\n vnode.componentOptions,\n vnode.asyncFactory\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.asyncMeta = vnode.asyncMeta;\n cloned.isCloned = true;\n return cloned\n }\n\n /*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\n var arrayProto = Array.prototype;\n var arrayMethods = Object.create(arrayProto);\n\n var methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n ];\n\n /**\n * Intercept mutating methods and emit events\n */\n methodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break\n case 'splice':\n inserted = args.slice(2);\n break\n }\n if (inserted) { ob.observeArray(inserted); }\n // notify change\n ob.dep.notify();\n return result\n });\n });\n\n /* */\n\n var arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n /**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\n var shouldObserve = true;\n\n function toggleObserving (value) {\n shouldObserve = value;\n }\n\n /**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\n var Observer = function Observer (value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n if (hasProto) {\n protoAugment(value, arrayMethods);\n } else {\n copyAugment(value, arrayMethods, arrayKeys);\n }\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n };\n\n /**\n * Walk through all properties and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\n Observer.prototype.walk = function walk (obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n defineReactive$$1(obj, keys[i]);\n }\n };\n\n /**\n * Observe a list of Array items.\n */\n Observer.prototype.observeArray = function observeArray (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n };\n\n // helpers\n\n /**\n * Augment a target Object or Array by intercepting\n * the prototype chain using __proto__\n */\n function protoAugment (target, src) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n }\n\n /**\n * Augment a target Object or Array by defining\n * hidden properties.\n */\n /* istanbul ignore next */\n function copyAugment (target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n }\n\n /**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\n function observe (value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (\n shouldObserve &&\n !isServerRendering() &&\n (Array.isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value._isVue\n ) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob\n }\n\n /**\n * Define a reactive property on an Object.\n */\n function defineReactive$$1 (\n obj,\n key,\n val,\n customSetter,\n shallow\n ) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n var setter = property && property.set;\n if ((!getter || setter) && arguments.length === 2) {\n val = obj[key];\n }\n\n var childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter () {\n var value = getter ? getter.call(obj) : val;\n if (Dep.target) {\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n return value\n },\n set: function reactiveSetter (newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || (newVal !== newVal && value !== value)) {\n return\n }\n /* eslint-enable no-self-compare */\n if (customSetter) {\n customSetter();\n }\n // #7981: for accessor properties without setter\n if (getter && !setter) { return }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n }\n\n /**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\n function set (target, key, val) {\n if (isUndef(target) || isPrimitive(target)\n ) {\n warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n warn(\n 'Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.'\n );\n return val\n }\n if (!ob) {\n target[key] = val;\n return val\n }\n defineReactive$$1(ob.value, key, val);\n ob.dep.notify();\n return val\n }\n\n /**\n * Delete a property and trigger change if necessary.\n */\n function del (target, key) {\n if (isUndef(target) || isPrimitive(target)\n ) {\n warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n warn(\n 'Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.'\n );\n return\n }\n if (!hasOwn(target, key)) {\n return\n }\n delete target[key];\n if (!ob) {\n return\n }\n ob.dep.notify();\n }\n\n /**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\n function dependArray (value) {\n for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n }\n\n /* */\n\n /**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\n var strats = config.optionMergeStrategies;\n\n /**\n * Options with restrictions\n */\n {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\n \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n 'creation with the `new` keyword.'\n );\n }\n return defaultStrat(parent, child)\n };\n }\n\n /**\n * Helper that recursively merges two data objects together.\n */\n function mergeData (to, from) {\n if (!from) { return to }\n var key, toVal, fromVal;\n\n var keys = hasSymbol\n ? Reflect.ownKeys(from)\n : Object.keys(from);\n\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n // in case the object is already observed...\n if (key === '__ob__') { continue }\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (\n toVal !== fromVal &&\n isPlainObject(toVal) &&\n isPlainObject(fromVal)\n ) {\n mergeData(toVal, fromVal);\n }\n }\n return to\n }\n\n /**\n * Data\n */\n function mergeDataOrFn (\n parentVal,\n childVal,\n vm\n ) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal\n }\n if (!parentVal) {\n return childVal\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn () {\n return mergeData(\n typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n )\n }\n } else {\n return function mergedInstanceDataFn () {\n // instance merge\n var instanceData = typeof childVal === 'function'\n ? childVal.call(vm, vm)\n : childVal;\n var defaultData = typeof parentVal === 'function'\n ? parentVal.call(vm, vm)\n : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData)\n } else {\n return defaultData\n }\n }\n }\n }\n\n strats.data = function (\n parentVal,\n childVal,\n vm\n ) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n warn(\n 'The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.',\n vm\n );\n\n return parentVal\n }\n return mergeDataOrFn(parentVal, childVal)\n }\n\n return mergeDataOrFn(parentVal, childVal, vm)\n };\n\n /**\n * Hooks and props are merged as arrays.\n */\n function mergeHook (\n parentVal,\n childVal\n ) {\n var res = childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal;\n return res\n ? dedupeHooks(res)\n : res\n }\n\n function dedupeHooks (hooks) {\n var res = [];\n for (var i = 0; i < hooks.length; i++) {\n if (res.indexOf(hooks[i]) === -1) {\n res.push(hooks[i]);\n }\n }\n return res\n }\n\n LIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeHook;\n });\n\n /**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\n function mergeAssets (\n parentVal,\n childVal,\n vm,\n key\n ) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n assertObjectType(key, childVal, vm);\n return extend(res, childVal)\n } else {\n return res\n }\n }\n\n ASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n });\n\n /**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\n strats.watch = function (\n parentVal,\n childVal,\n vm,\n key\n ) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) { parentVal = undefined; }\n if (childVal === nativeWatch) { childVal = undefined; }\n /* istanbul ignore if */\n if (!childVal) { return Object.create(parentVal || null) }\n {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = {};\n extend(ret, parentVal);\n for (var key$1 in childVal) {\n var parent = ret[key$1];\n var child = childVal[key$1];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key$1] = parent\n ? parent.concat(child)\n : Array.isArray(child) ? child : [child];\n }\n return ret\n };\n\n /**\n * Other object hashes.\n */\n strats.props =\n strats.methods =\n strats.inject =\n strats.computed = function (\n parentVal,\n childVal,\n vm,\n key\n ) {\n if (childVal && \"development\" !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal) { extend(ret, childVal); }\n return ret\n };\n strats.provide = mergeDataOrFn;\n\n /**\n * Default strategy.\n */\n var defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n };\n\n /**\n * Validate component names\n */\n function checkComponents (options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n }\n\n function validateComponentName (name) {\n if (!new RegExp((\"^[a-zA-Z][\\\\-\\\\.0-9_\" + (unicodeRegExp.source) + \"]*$\")).test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'should conform to valid custom element name in html5 specification.'\n );\n }\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn(\n 'Do not use built-in or reserved HTML elements as component ' +\n 'id: ' + name\n );\n }\n }\n\n /**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\n function normalizeProps (options, vm) {\n var props = options.props;\n if (!props) { return }\n var res = {};\n var i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val)\n ? val\n : { type: val };\n }\n } else {\n warn(\n \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(props)) + \".\",\n vm\n );\n }\n options.props = res;\n }\n\n /**\n * Normalize all injections into Object-based format\n */\n function normalizeInject (options, vm) {\n var inject = options.inject;\n if (!inject) { return }\n var normalized = options.inject = {};\n if (Array.isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n } else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val)\n ? extend({ from: key }, val)\n : { from: val };\n }\n } else {\n warn(\n \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(inject)) + \".\",\n vm\n );\n }\n }\n\n /**\n * Normalize raw function directives into object format.\n */\n function normalizeDirectives (options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def$$1 = dirs[key];\n if (typeof def$$1 === 'function') {\n dirs[key] = { bind: def$$1, update: def$$1 };\n }\n }\n }\n }\n\n function assertObjectType (name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\n \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n \"but got \" + (toRawType(value)) + \".\",\n vm\n );\n }\n }\n\n /**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\n function mergeOptions (\n parent,\n child,\n vm\n ) {\n {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child);\n\n // Apply extends and mixins on the child options,\n // but only if it is a raw options object that isn't\n // the result of another mergeOptions call.\n // Only merged options has the _base property.\n if (!child._base) {\n if (child.extends) {\n parent = mergeOptions(parent, child.extends, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n }\n\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField (key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options\n }\n\n /**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\n function resolveAsset (\n options,\n type,\n id,\n warnMissing\n ) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) { return assets[id] }\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if (warnMissing && !res) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n }\n\n /* */\n\n\n\n function validateProp (\n key,\n propOptions,\n propsData,\n vm\n ) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // boolean casting\n var booleanIndex = getTypeIndex(Boolean, prop.type);\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n var stringIndex = getTypeIndex(String, prop.type);\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n }\n\n /**\n * Get the default value of a prop.\n */\n function getPropDefaultValue (vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if (isObject(def)) {\n warn(\n 'Invalid default value for prop \"' + key + '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.',\n vm\n );\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined\n ) {\n return vm._props[key]\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def\n }\n\n /**\n * Assert whether a prop is valid.\n */\n function assertProp (\n prop,\n name,\n value,\n vm,\n absent\n ) {\n if (prop.required && absent) {\n warn(\n 'Missing required prop: \"' + name + '\"',\n vm\n );\n return\n }\n if (value == null && !prop.required) {\n return\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i], vm);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n\n var haveExpectedTypes = expectedTypes.some(function (t) { return t; });\n if (!valid && haveExpectedTypes) {\n warn(\n getInvalidTypeMessage(name, value, expectedTypes),\n vm\n );\n return\n }\n var validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn(\n 'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n vm\n );\n }\n }\n }\n\n var simpleCheckRE = /^(String|Number|Boolean|Function|Symbol|BigInt)$/;\n\n function assertType (value, type, vm) {\n var valid;\n var expectedType = getType(type);\n if (simpleCheckRE.test(expectedType)) {\n var t = typeof value;\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n try {\n valid = value instanceof type;\n } catch (e) {\n warn('Invalid prop type: \"' + String(type) + '\" is not a constructor', vm);\n valid = false;\n }\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n }\n\n var functionTypeCheckRE = /^\\s*function (\\w+)/;\n\n /**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\n function getType (fn) {\n var match = fn && fn.toString().match(functionTypeCheckRE);\n return match ? match[1] : ''\n }\n\n function isSameType (a, b) {\n return getType(a) === getType(b)\n }\n\n function getTypeIndex (type, expectedTypes) {\n if (!Array.isArray(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1\n }\n for (var i = 0, len = expectedTypes.length; i < len; i++) {\n if (isSameType(expectedTypes[i], type)) {\n return i\n }\n }\n return -1\n }\n\n function getInvalidTypeMessage (name, value, expectedTypes) {\n var message = \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', '));\n var expectedType = expectedTypes[0];\n var receivedType = toRawType(value);\n // check if we need to specify expected value\n if (\n expectedTypes.length === 1 &&\n isExplicable(expectedType) &&\n isExplicable(typeof value) &&\n !isBoolean(expectedType, receivedType)\n ) {\n message += \" with value \" + (styleValue(value, expectedType));\n }\n message += \", got \" + receivedType + \" \";\n // check if we need to specify received value\n if (isExplicable(receivedType)) {\n message += \"with value \" + (styleValue(value, receivedType)) + \".\";\n }\n return message\n }\n\n function styleValue (value, type) {\n if (type === 'String') {\n return (\"\\\"\" + value + \"\\\"\")\n } else if (type === 'Number') {\n return (\"\" + (Number(value)))\n } else {\n return (\"\" + value)\n }\n }\n\n var EXPLICABLE_TYPES = ['string', 'number', 'boolean'];\n function isExplicable (value) {\n return EXPLICABLE_TYPES.some(function (elem) { return value.toLowerCase() === elem; })\n }\n\n function isBoolean () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; })\n }\n\n /* */\n\n function handleError (err, vm, info) {\n // Deactivate deps tracking while processing error handler to avoid possible infinite rendering.\n // See: https://github.com/vuejs/vuex/issues/1505\n pushTarget();\n try {\n if (vm) {\n var cur = vm;\n while ((cur = cur.$parent)) {\n var hooks = cur.$options.errorCaptured;\n if (hooks) {\n for (var i = 0; i < hooks.length; i++) {\n try {\n var capture = hooks[i].call(cur, err, vm, info) === false;\n if (capture) { return }\n } catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n globalHandleError(err, vm, info);\n } finally {\n popTarget();\n }\n }\n\n function invokeWithErrorHandling (\n handler,\n context,\n args,\n vm,\n info\n ) {\n var res;\n try {\n res = args ? handler.apply(context, args) : handler.call(context);\n if (res && !res._isVue && isPromise(res) && !res._handled) {\n res.catch(function (e) { return handleError(e, vm, info + \" (Promise/async)\"); });\n // issue #9511\n // avoid catch triggering multiple times when nested calls\n res._handled = true;\n }\n } catch (e) {\n handleError(e, vm, info);\n }\n return res\n }\n\n function globalHandleError (err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info)\n } catch (e) {\n // if the user intentionally throws the original error in the handler,\n // do not log it twice\n if (e !== err) {\n logError(e, null, 'config.errorHandler');\n }\n }\n }\n logError(err, vm, info);\n }\n\n function logError (err, vm, info) {\n {\n warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n }\n /* istanbul ignore else */\n if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err\n }\n }\n\n /* */\n\n var isUsingMicroTask = false;\n\n var callbacks = [];\n var pending = false;\n\n function flushCallbacks () {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n }\n\n // Here we have async deferring wrappers using microtasks.\n // In 2.5 we used (macro) tasks (in combination with microtasks).\n // However, it has subtle problems when state is changed right before repaint\n // (e.g. #6813, out-in transitions).\n // Also, using (macro) tasks in event handler would cause some weird behaviors\n // that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).\n // So we now use microtasks everywhere, again.\n // A major drawback of this tradeoff is that there are some scenarios\n // where microtasks have too high a priority and fire in between supposedly\n // sequential events (e.g. #4521, #6690, which have workarounds)\n // or even between bubbling of the same event (#6566).\n var timerFunc;\n\n // The nextTick behavior leverages the microtask queue, which can be accessed\n // via either native Promise.then or MutationObserver.\n // MutationObserver has wider support, however it is seriously bugged in\n // UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It\n // completely stops working after triggering a few times... so, if native\n // Promise is available, we will use it:\n /* istanbul ignore next, $flow-disable-line */\n if (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n timerFunc = function () {\n p.then(flushCallbacks);\n // In problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS) { setTimeout(noop); }\n };\n isUsingMicroTask = true;\n } else if (!isIE && typeof MutationObserver !== 'undefined' && (\n isNative(MutationObserver) ||\n // PhantomJS and iOS 7.x\n MutationObserver.toString() === '[object MutationObserverConstructor]'\n )) {\n // Use MutationObserver where native Promise is not available,\n // e.g. PhantomJS, iOS7, Android 4.4\n // (#6466 MutationObserver is unreliable in IE11)\n var counter = 1;\n var observer = new MutationObserver(flushCallbacks);\n var textNode = document.createTextNode(String(counter));\n observer.observe(textNode, {\n characterData: true\n });\n timerFunc = function () {\n counter = (counter + 1) % 2;\n textNode.data = String(counter);\n };\n isUsingMicroTask = true;\n } else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n // Fallback to setImmediate.\n // Technically it leverages the (macro) task queue,\n // but it is still a better choice than setTimeout.\n timerFunc = function () {\n setImmediate(flushCallbacks);\n };\n } else {\n // Fallback to setTimeout.\n timerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n }\n\n function nextTick (cb, ctx) {\n var _resolve;\n callbacks.push(function () {\n if (cb) {\n try {\n cb.call(ctx);\n } catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n } else if (_resolve) {\n _resolve(ctx);\n }\n });\n if (!pending) {\n pending = true;\n timerFunc();\n }\n // $flow-disable-line\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n })\n }\n }\n\n /* */\n\n var mark;\n var measure;\n\n {\n var perf = inBrowser && window.performance;\n /* istanbul ignore if */\n if (\n perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n perf.clearMeasures\n ) {\n mark = function (tag) { return perf.mark(tag); };\n measure = function (name, startTag, endTag) {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n // perf.clearMeasures(name)\n };\n }\n }\n\n /* not type checking this file because flow doesn't play well with Proxy */\n\n var initProxy;\n\n {\n var allowedGlobals = makeMap(\n 'Infinity,undefined,NaN,isFinite,isNaN,' +\n 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,' +\n 'require' // for Webpack/Browserify\n );\n\n var warnNonPresent = function (target, key) {\n warn(\n \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n 'referenced during render. Make sure that this property is reactive, ' +\n 'either in the data option, or for class-based components, by ' +\n 'initializing the property. ' +\n 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n target\n );\n };\n\n var warnReservedPrefix = function (target, key) {\n warn(\n \"Property \\\"\" + key + \"\\\" must be accessed with \\\"$data.\" + key + \"\\\" because \" +\n 'properties starting with \"$\" or \"_\" are not proxied in the Vue instance to ' +\n 'prevent conflicts with Vue internals. ' +\n 'See: https://vuejs.org/v2/api/#data',\n target\n );\n };\n\n var hasProxy =\n typeof Proxy !== 'undefined' && isNative(Proxy);\n\n if (hasProxy) {\n var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function set (target, key, value) {\n if (isBuiltInModifier(key)) {\n warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n return false\n } else {\n target[key] = value;\n return true\n }\n }\n });\n }\n\n var hasHandler = {\n has: function has (target, key) {\n var has = key in target;\n var isAllowed = allowedGlobals(key) ||\n (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data));\n if (!has && !isAllowed) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return has || !isAllowed\n }\n };\n\n var getHandler = {\n get: function get (target, key) {\n if (typeof key === 'string' && !(key in target)) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return target[key]\n }\n };\n\n initProxy = function initProxy (vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped\n ? getHandler\n : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n }\n\n /* */\n\n var seenObjects = new _Set();\n\n /**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\n function traverse (val) {\n _traverse(val, seenObjects);\n seenObjects.clear();\n }\n\n function _traverse (val, seen) {\n var i, keys;\n var isA = Array.isArray(val);\n if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n return\n }\n if (val.__ob__) {\n var depId = val.__ob__.dep.id;\n if (seen.has(depId)) {\n return\n }\n seen.add(depId);\n }\n if (isA) {\n i = val.length;\n while (i--) { _traverse(val[i], seen); }\n } else {\n keys = Object.keys(val);\n i = keys.length;\n while (i--) { _traverse(val[keys[i]], seen); }\n }\n }\n\n /* */\n\n var normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture,\n passive: passive\n }\n });\n\n function createFnInvoker (fns, vm) {\n function invoker () {\n var arguments$1 = arguments;\n\n var fns = invoker.fns;\n if (Array.isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n invokeWithErrorHandling(cloned[i], null, arguments$1, vm, \"v-on handler\");\n }\n } else {\n // return handler return value for single handlers\n return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\")\n }\n }\n invoker.fns = fns;\n return invoker\n }\n\n function updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n createOnceHandler,\n vm\n ) {\n var name, def$$1, cur, old, event;\n for (name in on) {\n def$$1 = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n if (isUndef(cur)) {\n warn(\n \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n vm\n );\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur, vm);\n }\n if (isTrue(event.once)) {\n cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n }\n add(event.name, cur, event.capture, event.passive, event.params);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n }\n\n /* */\n\n function mergeVNodeHook (def, hookKey, hook) {\n if (def instanceof VNode) {\n def = def.data.hook || (def.data.hook = {});\n }\n var invoker;\n var oldHook = def[hookKey];\n\n function wrappedHook () {\n hook.apply(this, arguments);\n // important: remove merged hook to ensure it's called only once\n // and prevent memory leak\n remove(invoker.fns, wrappedHook);\n }\n\n if (isUndef(oldHook)) {\n // no existing hook\n invoker = createFnInvoker([wrappedHook]);\n } else {\n /* istanbul ignore if */\n if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {\n // already a merged invoker\n invoker = oldHook;\n invoker.fns.push(wrappedHook);\n } else {\n // existing plain hook\n invoker = createFnInvoker([oldHook, wrappedHook]);\n }\n }\n\n invoker.merged = true;\n def[hookKey] = invoker;\n }\n\n /* */\n\n function extractPropsFromVNodeData (\n data,\n Ctor,\n tag\n ) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n return\n }\n var res = {};\n var attrs = data.attrs;\n var props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n {\n var keyInLowerCase = key.toLowerCase();\n if (\n key !== keyInLowerCase &&\n attrs && hasOwn(attrs, keyInLowerCase)\n ) {\n tip(\n \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n \" \\\"\" + key + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n );\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n return res\n }\n\n function checkProp (\n res,\n hash,\n key,\n altKey,\n preserve\n ) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true\n }\n }\n return false\n }\n\n /* */\n\n // The template compiler attempts to minimize the need for normalization by\n // statically analyzing the template at compile time.\n //\n // For plain HTML markup, normalization can be completely skipped because the\n // generated render function is guaranteed to return Array. There are\n // two cases where extra normalization is needed:\n\n // 1. When the children contains components - because a functional component\n // may return an Array instead of a single root. In this case, just a simple\n // normalization is needed - if any child is an Array, we flatten the whole\n // thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n // because functional components already normalize their own children.\n function simpleNormalizeChildren (children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children)\n }\n }\n return children\n }\n\n // 2. When the children contains constructs that always generated nested Arrays,\n // e.g.