{"version":3,"sources":["webpack:///webpack/bootstrap 8b8bb2e02804475188ae","webpack:///external \"girder_lib\"","webpack:///delegated ./node_modules/pug-runtime/index.js from dll-reference girder_lib","webpack:///delegated ./node_modules/jquery/dist/jquery.js from dll-reference girder_lib","webpack:///delegated ./node_modules/underscore/underscore.js from dll-reference girder_lib","webpack:///delegated ./src/rest.js from dll-reference girder_lib","webpack:///./~/@girder/histomicsui/events.js","webpack:///external \"girder_plugin_large_image_annotation\"","webpack:///./~/@girder/histomicsui/router.js","webpack:///delegated ./src/views/View.js from dll-reference girder_lib","webpack:///./~/@girder/histomicsui/views/View.js","webpack:///delegated ./src/events.js from dll-reference girder_lib","webpack:///delegated ./node_modules/backbone/backbone.js from dll-reference girder_lib","webpack:///delegated ./node_modules/@girder/slicer_cli_web/views/Panel.js from dll-reference girder_plugin_slicer_cli_web","webpack:///delegated ./src/auth.js from dll-reference girder_lib","webpack:///./~/@girder/histomicsui/collections/StyleCollection.js","webpack:///./~/@girder/histomicsui/models/StyleModel.js","webpack:///delegated ./src/utilities/jquery/girderModal.js from dll-reference girder_lib","webpack:///delegated ./src/constants.js from dll-reference girder_lib","webpack:///./~/@girder/histomicsui/views/utils.js","webpack:///delegated ./src/misc.js from dll-reference girder_lib","webpack:///delegated ./src/utilities/PluginUtils.js from dll-reference girder_lib","webpack:///./~/@girder/histomicsui/~/tinycolor2/tinycolor.js","webpack:///./~/@girder/histomicsui/dialogs/editElement.js","webpack:///./~/@girder/histomicsui/dialogs/editRegionOfInterest.js","webpack:///./~/@girder/histomicsui/dialogs/metadataPlot.js","webpack:///./~/@girder/histomicsui/dialogs/saveAnnotation.js","webpack:///./~/@girder/histomicsui/panels/AnnotationSelector.js","webpack:///./~/@girder/histomicsui/panels/DrawWidget.js","webpack:///./~/@girder/histomicsui/views/body/ConfigView.js","webpack:///./~/@girder/histomicsui/views/body/ImageView.js","webpack:///./~/@girder/histomicsui/views/layout/HeaderUserView.js","webpack:///./~/@girder/histomicsui/views/layout/HeaderView.js","webpack:///./~/@girder/histomicsui/views/popover/AnnotationContextMenu.js","webpack:///./~/@girder/histomicsui/views/popover/AnnotationPopover.js","webpack:///./~/@girder/histomicsui/stylesheets/panels/zoomWidget.styl","webpack:///./~/@girder/histomicsui/stylesheets/popover/annotationContextMenu.styl","webpack:///./~/@girder/histomicsui/stylesheets/views/itemList.styl","webpack:///delegated ./node_modules/@girder/large_image_annotation/models/AnnotationModel.js from dll-reference girder_plugin_large_image_annotation","webpack:///delegated ./src/models/ItemModel.js from dll-reference girder_lib","webpack:///delegated ./src/utilities/EventStream.js from dll-reference girder_lib","webpack:///delegated ./src/views/widgets/BrowserWidget.js from dll-reference girder_lib","webpack:///delegated ./src/router.js from dll-reference girder_lib","webpack:///delegated ./src/collections/ItemCollection.js from dll-reference girder_lib","webpack:///external \"girder_plugin_large_image\"","webpack:///external \"girder_plugin_slicer_cli_web\"","webpack:///./~/@girder/histomicsui/main.js","webpack:///./~/@girder/histomicsui/~/backbone.localstorage/build/backbone.localStorage.js","webpack:///./~/@girder/histomicsui/~/bootstrap-submenu/dist/js/bootstrap-submenu.js","webpack:///./~/@girder/histomicsui/~/url-search-params-polyfill/index.js","webpack:///./~/@girder/histomicsui/app.js","webpack:///./~/@girder/histomicsui/collections/index.js","webpack:///./~/@girder/histomicsui/dialogs/confirmDialog.js","webpack:///./~/@girder/histomicsui/dialogs/editStyleGroups.js","webpack:///./~/@girder/histomicsui/dialogs/index.js","webpack:///./~/@girder/histomicsui/dialogs/openAnnotatedImage.js","webpack:///./~/@girder/histomicsui/dialogs/openImage.js","webpack:///./~/@girder/histomicsui/index.js","webpack:///./~/@girder/histomicsui/models/index.js","webpack:///./~/@girder/histomicsui/panels/MetadataPlot.js","webpack:///./~/@girder/histomicsui/panels/MetadataWidget.js","webpack:///./~/@girder/histomicsui/panels/OverviewWidget.js","webpack:///./~/@girder/histomicsui/panels/ZoomWidget.js","webpack:///./~/@girder/histomicsui/panels/index.js","webpack:///./~/@girder/histomicsui/routes.js","webpack:///./~/@girder/histomicsui/views/HierarchyWidget.js","webpack:///./~/@girder/histomicsui/views/body/FrontPageView.js","webpack:///./~/@girder/histomicsui/views/body/index.js","webpack:///./~/@girder/histomicsui/views/index.js","webpack:///./~/@girder/histomicsui/views/itemList.js","webpack:///./~/@girder/histomicsui/views/itemPage.js","webpack:///./~/@girder/histomicsui/views/layout/HeaderAnalysesView.js","webpack:///./~/@girder/histomicsui/views/layout/HeaderImageView.js","webpack:///./~/@girder/histomicsui/views/layout/index.js","webpack:///./~/@girder/histomicsui/views/popover/PixelmapContextMenu.js","webpack:///./~/@girder/histomicsui/views/popover/index.js","webpack:///./~/@girder/histomicsui/templates/body/configView.pug","webpack:///./~/@girder/histomicsui/templates/body/frontPage.pug","webpack:///./~/@girder/histomicsui/templates/body/image.pug","webpack:///./~/@girder/histomicsui/templates/dialogs/annotatedImageList.pug","webpack:///./~/@girder/histomicsui/templates/dialogs/confirmDialog.pug","webpack:///./~/@girder/histomicsui/templates/dialogs/editElement.pug","webpack:///./~/@girder/histomicsui/templates/dialogs/editRegionOfInterest.pug","webpack:///./~/@girder/histomicsui/templates/dialogs/editStyleGroups.pug","webpack:///./~/@girder/histomicsui/templates/dialogs/metadataPlot.pug","webpack:///./~/@girder/histomicsui/templates/dialogs/openAnnotatedImage.pug","webpack:///./~/@girder/histomicsui/templates/dialogs/saveAnnotation.pug","webpack:///./~/@girder/histomicsui/templates/layout/header.pug","webpack:///./~/@girder/histomicsui/templates/layout/headerAnalyses.pug","webpack:///./~/@girder/histomicsui/templates/layout/headerImage.pug","webpack:///./~/@girder/histomicsui/templates/layout/headerUser.pug","webpack:///./~/@girder/histomicsui/templates/layout/layout.pug","webpack:///./~/@girder/histomicsui/templates/panels/annotationSelector.pug","webpack:///./~/@girder/histomicsui/templates/panels/drawWidget.pug","webpack:///./~/@girder/histomicsui/templates/panels/metadataPlot.pug","webpack:///./~/@girder/histomicsui/templates/panels/metadataWidget.pug","webpack:///./~/@girder/histomicsui/templates/panels/overviewWidget.pug","webpack:///./~/@girder/histomicsui/templates/panels/zoomWidget.pug","webpack:///./~/@girder/histomicsui/templates/popover/annotationContextMenu.pug","webpack:///./~/@girder/histomicsui/templates/popover/annotationPopover.pug","webpack:///./~/@girder/histomicsui/templates/popover/pixelmapContextMenu.pug","webpack:///./~/@girder/histomicsui/stylesheets/body/configView.styl","webpack:///./~/@girder/histomicsui/stylesheets/body/frontPage.styl","webpack:///./~/@girder/histomicsui/stylesheets/body/image.styl","webpack:///./~/@girder/histomicsui/stylesheets/dialogs/editStyleGroups.styl","webpack:///./~/@girder/histomicsui/stylesheets/dialogs/openAnnotatedImage.styl","webpack:///./~/@girder/histomicsui/stylesheets/dialogs/saveAnnotation.styl","webpack:///./~/@girder/histomicsui/stylesheets/layout/header.styl","webpack:///./~/@girder/histomicsui/stylesheets/layout/headerAnalyses.styl","webpack:///./~/@girder/histomicsui/stylesheets/layout/headerImage.styl","webpack:///./~/@girder/histomicsui/stylesheets/layout/layout.styl","webpack:///./~/@girder/histomicsui/stylesheets/panels/annotationSelector.styl","webpack:///./~/@girder/histomicsui/stylesheets/panels/drawWidget.styl","webpack:///./~/@girder/histomicsui/stylesheets/panels/metadataPlot.styl","webpack:///./~/@girder/histomicsui/stylesheets/panels/metadataWidget.styl","webpack:///./~/@girder/histomicsui/stylesheets/panels/overviewWidget.styl","webpack:///./~/@girder/histomicsui/stylesheets/popover/annotationPopover.styl","webpack:///./~/@girder/histomicsui/~/bootstrap-submenu/dist/css/bootstrap-submenu.css","webpack:///delegated ./src/views/layout/HeaderUserView.js from dll-reference girder_lib","webpack:///delegated ./src/views/widgets/ItemListWidget.js from dll-reference girder_lib","webpack:///delegated ./src/index.js from dll-reference girder_lib","webpack:///delegated ./src/views/App.js from dll-reference girder_lib","webpack:///delegated ./src/views/widgets/PluginConfigBreadcrumbWidget.js from dll-reference girder_lib","webpack:///delegated ./node_modules/bootstrap/js/dropdown.js from dll-reference girder_lib","webpack:///delegated ./node_modules/@girder/large_image_annotation/annotations/convert.js from dll-reference girder_plugin_large_image_annotation","webpack:///delegated ./src/models/FolderModel.js from dll-reference girder_lib","webpack:///delegated ./node_modules/@girder/large_image_annotation/collections/AnnotationCollection.js from dll-reference girder_plugin_large_image_annotation","webpack:///delegated ./src/templates/widgets/jsonMetadatumEditWidget.pug from dll-reference girder_lib","webpack:///delegated ./src/templates/widgets/jsonMetadatumView.pug from dll-reference girder_lib","webpack:///delegated ./src/templates/widgets/metadatumEditWidget.pug from dll-reference girder_lib","webpack:///delegated ./src/templates/widgets/metadatumView.pug from dll-reference girder_lib","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 ./node_modules/jsoneditor/dist/jsoneditor.css from dll-reference girder_lib","webpack:///delegated ./node_modules/jsoneditor/dist/jsoneditor.js from dll-reference girder_lib","webpack:///delegated ./node_modules/@girder/slicer_cli_web/views/PanelGroup.js from dll-reference girder_plugin_slicer_cli_web","webpack:///delegated ./src/views/widgets/HierarchyWidget.js from dll-reference girder_lib","webpack:///delegated ./src/collections/UserCollection.js from dll-reference girder_lib","webpack:///delegated ./node_modules/@girder/large_image_annotation/annotations/geojs/index.js from dll-reference girder_plugin_large_image_annotation","webpack:///delegated ./src/models/FileModel.js from dll-reference girder_lib","webpack:///delegated ./node_modules/@girder/large_image_annotation/annotations/geometry/circle.js from dll-reference girder_plugin_large_image_annotation","webpack:///delegated ./src/views/widgets/AccessWidget.js from dll-reference girder_lib","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/rectangle.js from dll-reference girder_plugin_large_image_annotation","webpack:///delegated ./node_modules/webpack/buildin/global.js from dll-reference girder_lib","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/collections/ElementCollection.js from dll-reference girder_plugin_large_image_annotation","webpack:///delegated ./src/pluginUtils.js from dll-reference girder_plugin_large_image","webpack:///delegated ./node_modules/@girder/large_image/views/imageViewerWidget/setFrameQuad.js from dll-reference girder_plugin_large_image","webpack:///delegated ./node_modules/@girder/large_image_annotation/views/index.js from dll-reference girder_plugin_large_image_annotation","webpack:///delegated ./src/dialog.js from dll-reference girder_lib","webpack:///delegated ./src/collections/FolderCollection.js from dll-reference girder_lib","webpack:///delegated ./src/version.js from dll-reference girder_lib","webpack:///delegated ./src/views/body/FrontPageView.js from dll-reference girder_lib","webpack:///delegated ./src/views/body/ItemView.js from dll-reference girder_lib"],"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","View","extend","initialize","document","on","evt","dialogContainer","off","target","closest","modal","prop","StyleCollection","Collection","model","StyleModel","localStorage","LocalStorage","Model","defaults","lineWidth","lineColor","fillColor","HuiSettings","_hui_settings","_hui_settings_result","type","url","then","resp","Deferred","resolve","EditElement","render","$el","html","element","annotationElement","toJSON","girderModal","colorpicker","getData","preventDefault","data","validation","label","val","group","parseFloat","isFinite","parent","addClass","convertColor","text","removeClass","set","toRgbString","dialog","parentView","show","setElement","EditRegionOfInterest","_sizeCte","_format","_compressionRatio","_magnification","areaElement","maxMag","bounds","scaleBounds","magnification","scaleWidth","width","scaleHeight","height","numberOfPixel","getNumberPixels","fileSize","getConvertFileSize","updateform","zoomToMagnification","zoom","Math","round","pow","maxZoom","magnificationToZoom","log2","factor","pixelNumber","getFileSize","bytesNumber","convertedSize","downloadDisable","bool","unbind","attr","bind","ev","removeAttr","selectedOption","getUrl","left","top","right","bottom","params","regionWidth","regionHeight","encoding","contentDisposition","urlView","frameAndUrl","replace","URLSearchParams","MetadataPlotDialog","settings","plotConfig","plotOptions","_submit","configOptions","folder","is","forEach","series","result","SaveAnnotation","elementTypes","annotation","get","elements","map","filter","index","types","indexOf","styleEditableElementTypes","annotationHasEditableElements","includes","showStyleEditor","_pageElements","defaultStyles","console","assert","firstElement","every","d","title","hasAdmin","AccessType","ADMIN","access","AccessWidget","el","hideRecurseOption","fetch","cancel","save","setFillColor","setLineColor","setLineWidth","trim","silent","annotationData","description","destroy","prototype","call","MAX_ELEMENTS_LIST_LENGTH","AnnotationSelector","Panel","_expandedGroups","Set","_opacity","opacity","_fillOpacity","fillOpacity","_showAllAnnotationsState","listenTo","collection","_debounceRender","_changeAnnotationHighlight","eventStream","debounce","_onJobUpdate","_refreshAnnotations","_saveAnnotation","reset","_parentId","_debounceRenderRequest","parentItem","id","getAccessLevel","imageAccessLevel","annotationGroups","_getAnnotationGroups","tooltip","viewer","empty","activeAnnotation","_activeAnnotation","showLabels","_showLabels","user","accessLevel","writeAccessLevel","WRITE","writeAccess","_writeAccess","interactiveMode","_interactiveMode","expandedGroups","collapsed","hasClass","container","_changeGlobalOpacity","_changeGlobalFillOpacity","showAllAnnotations","window","requestAnimationFrame","setItem","item","offset","itemId","setViewer","toggleAnnotation","currentTarget","parents","unset","deleteAnnotation","message","submitButton","onSubmit","remove","_saving","_saveAgain","editAnnotationMetadata","listenToOnce","done","status","refresh","Object","keys","models","indexBy","property","activeId","_centroids","attributes","displayed","_setActiveAnnotation","removeAnnotation","toggleLabels","toggleInteractiveMode","_editAnnotation","editAnnotation","timeout","icon","_setActiveAnnotationWithoutLoad","always","numElements","createAnnotation","AnnotationModel","add","_inFetch","lastSaveAgain","fail","min","setTimeout","hideAllAnnotations","selectAnnotationByRegion","btn","keyCode","_highlightAnnotation","_unhighlightAnnotation","toggleClass","toFixed","_toggleExpandGroup","delete","a","groups","groupObject","union","groupList","contains","sortBy","_triggerGroupCountChange","groupCount","annotations","default","DrawWidget","image","_drawingType","drawingType","_highlighted","_groups","_style","_handleStyleGroupsUpdate","_recalculateGroupAggregation","updatedElement","_skipRenderHTML","style","highlighted","drawElement","annotationLayer","_boundHUIModeChange","geoOn","geo","event","mode","modes","edit","oldmode","_widgetDrawRegion","stopListening","drawRegion","editElement","_getId","obj","elemType","deleteElement","geoOff","state","removeAllAnnotations","startDrawMode","omit","cancelDrawMode","_setStyleGroup","_setToSelectedStyleGroup","setToNextStyleGroup","nextGroup","next","setToPrevStyleGroup","prevGroup","prev","getStyleGroup","_styleGroupEditor","dlg","_highlightElement","_unhighlightElement","invoke","ConfigView","settingsKeys","split","_saveSettings","breadcrumb","PluginConfigBreadcrumbWidget","pluginName","when","method","list","JSON","stringify","_browserWidgetView","BrowserWidget","titleText","helpText","submitText","validate","isValid","reject","promise","error","clearSettingsCache","responseJSON","_openBrowser","ImageView","viewerWidget","_mouseClickQueue","_openId","_displayedRegion","_currentMousePosition","_selectElementsByRegionCanceled","_debounceUpdatePixelmapValues","_updatePixelmapValues","_overlayLayers","selectedAnnotation","_id","selectedElements","_increaseZoom2x","_increaseZoom2xRange","max","ItemModel","_setImageInput","_allowRootSelection","_setDefaultFileOutputs","_resetRegion","_redrawSelection","openImage","AnnotationCollection","controlPanel","SlicerPanelGroup","closeButton","overviewWidget","OverviewWidget","zoomWidget","ZoomWidget","metadataWidget","MetadataWidget","metadataPlot","MetadataPlot","annotationSelector","popover","AnnotationPopover","contextMenu","AnnotationContextMenu","pixelmapContextMenu","PixelmapContextMenu","refetchStyles","setGroupCount","click","showRegion","_toggleInteractiveMode","_deleteAnnotation","_setAnnotationOpacity","_setAnnotationFillOpacity","_redrawAnnotation","_highlightAnnotationForInteractiveMode","_selectElementsByRegion","_selectElementsByRegionCancel","_editElement","_editElementShape","_closeContextMenu","_handlePixelmapContextMenu","_closePixelmapContextMenu","_saveSelection","_removeSelection","widgetRegion","_knownPanels","mouseResetAnnotation","_removeDrawWidget","_orderPanels","ViewerWidget","geojs","hoverEvents","highlightFeatureSizeLimit","scale","position","setUnclampBoundsForOverlay","mouseOverAnnotation","mouseOutAnnotation","mouseOnAnnotation","mouseOffAnnotation","mouseClickAnnotation","mouseClickOverlay","mouseOverOverlay","overlayLayerDrawn","overlayLayerRemoved","interactor","removeAction","geo_action","zoomselect","imageWidth","maxBounds","imageHeight","extraPanWidth","extraPanHeight","setImageBounds","setBoundsQuery","_originalZoomRange","zoomRange","pan","mousemove","showCoordinates","drawWidget","arguments","clear","getItemFile","limit","files","Error","FileModel","getTilesDef","tiles","setMaxMagnification","setImage","getFileModel","fileId","file","largeImage","originalId","b","_getDefaultOutputFolder","userFolders","FolderCollection","parentId","parentType","isEmpty","at","chain","_panelViews","pluck","flatten","entry","_rootPath","analysis","last","find","extension","path","folderId","_clearTooltips","_closeAnalysis","rotation","PI","join","_updatePixelmapElements","pixelmapElements","defaultStyle","pixelmap","_reconcilePixelmapCategories","drawAnnotation","_updatePixelmapsWithCategories","pixelmapId","existingCategories","newCategories","newStyleGroups","category","correspondingStyle","newStyle","strokeColor","correspondingCategory","originalDefaultIndex","findIndex","updatedCategories","where","concat","originalData","newData","setView","once","highlightAnnotation","slice","points","idx","pts","closed","hasRegionParameter","region","center","pt","x","y","annotationId","_lastMouseOnElement","elementModel","getPixelmapElements","allPixelmaps","pixelmaps","_getCategoryIndexFromStyleGroup","styleGroup","categories","groupId","newIndex","pixelmapElementModel","layer","i","_pixelmapContextMenuActive","updatePixelmap","dataIndex","categoryIndex","pixelmapLayer","layers","layerDataIndex","newValue","indexModified","draw","overlayElement","overlayLayer","overlayAnnotationIsSelected","mouse","buttonsDown","_queueMouseClickAction","_processMouseClickQueue","_canOpenContextMenu","$window","menu","page","belowWindow","windowWidth","menuWidth","css","buttons","modifiers","shift","geometry","_openContextMenu","ctrl","_toggleSelectElement","toggle","minimumDistance","Number","POSITIVE_INFINITY","coordinates","point","dx","dy","distance","sorted","interactive","_lastDrawingType","appendTo","setGlobalAnnotationOpacity","setGlobalAnnotationFillOpacity","_onKeyDown","test","activeElement","tagName","toLowerCase","_showOrHideAnnotations","modified","_trackMousePosition","pageX","pageY","client","clientX","clientY","any","coord","boundingBox","_resetSelection","found","getElementsInBox","_selectElement","lowerLeft","upperRight","results","featureLayer","features","feature","r","boxSearch","partial","properties","_contextMenuActive","originalAnnotation","geojson","_currentAnnotationEditShape","hideAnnotation","count","annot","_editElementShapeFinishBound","_editElementShapeFinish","update","_unselectElement","groupedAnnotations","groupBy","elementsCollection","getSettings","layout","parse","panels","panel","info","substr","spec","reverse","prependTo","processed","HeaderUserView","GirderHeaderUserView","HeaderView","brandName","brandColor","bannerColor","placement","delay","HeaderImageView","HeaderAnalysesView","_cachedGroupCount","styles","numberSelected","_removeElements","stopPropagation","_editElements","_setStyleDefinition","styleAttrs","assign","sort","countA","countB","_setGroup","_removeGroup","p","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","_visible","_height","_popover","setIf","func","v","Array","props","geogeom","area","edge","lens","j","v0","v1","len","abs","annotationType","h","_scale","_distanceToElement","_lastCenter","lastElement","e","histomicsui","configRoute","route","App","GirderApp","huiHeader","plv","progressListView","_origHandleProgress","_handleProgress","progress","_map","resourceName","login","close","open","navigateTo","view","bodyView","bindRoutes","defaultOptions","noop","ConfirmDialog","_options","setOptions","EditStyleGroups","_newStyle","_setStyle","_updateStyle","_createNewStyle","_saveNewStyle","create","_deleteStyle","_resetDefaults","styleJSON","oldid","styleModels","first","_setDefaults","_exportGroups","merge","Blob","URL","createObjectURL","_selectImportGroups","_toggleImportReplace","_importGroups","girderEnable","fr","FileReader","onload","err","some","onerror","readAsText","EditStyleGroupsDialog","originalCollectionData","originalModelData","originalModelId","form","_cancelChanges","confirmDialog","openAnnotatedImage","saveAnnotation","editRegionOfInterest","paths","AnnotatedImageList","items","inFetch","OpenAnnotatedImage","ItemCollection","comparator","_query","backbone","imageName","creator","_nextQuery","UserCollection","sortField","pageLimit","_usersIsFetched","_fetchImages","_queueFetchImages","_items","promises","_getResourcePath","creatorId","_updateQuery","createDialog","itemParent","widget","showItems","selectItem","root","rootSelectorSettings","selectByResource","highlightItem","paginated","defaultSelectedResource","isVirtual","FolderModel","collections","dialogs","views","getPlotOptions","plotPanel","expand","panelElem","maximize","getSiblingItems","chunk","parentFolderId","siblingItems","siblingItemsPromise","siblingItemPromise","abort","collectedPlotData","meta","entries","isArray","isObject","isString","localeCompare","getPlotData","optDict","opt","plotData","fieldToPlot","plotToOpt","ranges","usedFields","usedOptions","expected","unshift","itemIdx","end","distinct","plotDataToPlotly","colorBrewerPaired12","viridis","colorScale","c","d3","linear","domain","range","plotlyData","hovertext","parts","hoverinfo","marker","symbol","size","color","ajax","dataType","cache","elem","maximized","margin","t","l","hovermode","xaxis","yaxis","Plotly","newPlot","MetadatumWidget","className","fieldName","apiPath","onMetadataEdited","onMetadataAdded","_validate","from","to","newMode","msg","toggleEditor","newEditorMode","existingEditor","overrides","fromEditorMode","JsonMetadatumEditWidget","row","opts","newDatum","editor","editMetadata","jsonValue","displayValue","template","MetadatumEditWidget","editorType","getCurrentValue","editTemplate","MetadatumEditWidgetTemplate","deleteMetadatum","stopImmediatePropagation","metadataList","escape","escapedHtml","yesText","confirmCallback","removeMetadata","field","cancelEdit","curRow","tempKey","tempValue","saveCallback","errorCallback","out","addMetadata","JsonMetadatumEditWidgetTemplate","getText","jsonEditorEl","JSONEditor","onError","setText","expandAll","log","renderMetadataWidgetHeader","simple","MetadatumViewTemplate","json","JsonMetadatumViewTemplate","getModeFromValue","EditWidget","collapse","imageId","metaDict","metaKeys","localeSort","firstKey","firstValue","_accessLevel","metaKey","append","_createOverview","parentViewer","_boundOnParentPan","isEqual","_tiles","exit","util","pixelCoordinateParams","sizeX","sizeY","tileWidth","tileHeight","useCredentials","getFrameAndUrl","renderer","mapInteractor","actions","action","input","owner","selectionRectangle","keyboard","ResizeObserver","_observer","node","observe","autoshareRenderer","_tileLayer","createLayer","_layer","setFrameQuad","tileinfo","_featureLayer","_outlineFeature","createFeature","stroke","strokeWidth","fill","_panOutlineDistance","mouseclick","actiondown","_downState","rotate","distanceToOutline","distanceToPolygon2d","unitsPerPixel","actionmove","delta","actionselection","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","_zoomButton","_downloadView","innerWidth","innerHeight","href","_downloadArea","mag","areaParams","_increaseZoomRange","oldmax","_decreaseZoomRange","HierarchyWidget","version","FrontPageView","GirderFrontPageView","apiRoot","staticRoot","currentUser","body","ItemListWidget","adjustView","quarantine","cid","setCurrentModel","parentModel","setRoute","delegateEvents","ItemView","success","webrootPath","after","prepend","analyses","submenupicker","_setAnalysis","api","imageModel","parentChain","_setNextPreviousImage","getRootPath","nextImageLink","_nextImage","previousImageLink","_previousImage","previousImageName","_previousName","nextImageName","_nextName","previous","dtaIndex","pixelmapElement","_setCategory","pug","require","locals","pug_html","pug_mixins","pug_interp","pug_debug_filename","pug_debug_line","pug_debug_sources","locals_for_with","rethrow","module","exports","$$obj","pug_index0","$$l","selected","seriesList","number","string","pug_index1","pug_index2","moment","timestamp","format","defaultName","versionName","cliName","cli","run","object","titlePre","titleNext","removeButton","attrs","class","groupName","expanded","expandedClass","classes","admin","loading","downloadUrl","annotationCount","firstName","lastName","elementCount","pug_index4"],"mappings":"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,iBAFD;AAAA;AAAA;AAD2B;AAI3B,uBAAOF,YAAYC,aAAnB;AACH,aALD,MAKO;AAAA;AAAA;;AACHD,4BAAYC,aAAZ,GAA4B,uBAAY;AACpCE,0BAAM,KAD8B;AAEpCC,yBAAK;AAF+B,iBAAZ,EAGzBC,IAHyB,CAGpB,UAACC,IAAD,EAAU;AAAA;AAAA;;AACdN,gCAAYC,aAAZ,GAA4B5C,iBAAEkD,QAAF,GAAaC,OAAb,CAAqBF,IAArB,CAA5B;AADc;AAEd,2BAAOA,IAAP;AACH,iBAN2B,CAA5B;AAOH;AAdgB;AAejB,mBAAON,YAAYC,aAAnB;AACH;;;6CAE2B;AAAA;AAAA;;AACxB,mBAAOD,YAAYC,aAAnB;AACH;;;;;;QAGID,W,GAAAA,W;;;;;;ACnCT,8C;;;;;;ACAA,8C;;;;;;ACAA;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;AACA;AACA;AACA;AACA;AACA,+BAA+B,EAAE,cAAc,EAAE,cAAc,EAAE;AACjE,+BAA+B,EAAE,cAAc,EAAE,cAAc,EAAE;AACjE,+BAA+B,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE;AACjF,+BAA+B,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE;AACjF;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wCAAwC,UAAU,OAAO,UAAU,OAAO,SAAS;AACnF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;;AAEA;AACA;AACA,2CAA2C;AAC3C;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS,IAA0C;AACnD,IAAI,kCAAO,aAAa,kBAAkB;AAAA,oGAAC;AAC3C;AACA;AACA;AACA;AACA;;AAEA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1qCD;;;;AAEA;;;;AAEA;;;;AACA;;;;AAEA;;;;AAIA,IAAIS,sCAAchC,eAAKC,MAAL,CAAY;AAC1BH,YAAQ;AACJ,2BAAmB,SADf;AAEJ,uBAAe;AAFX,KADkB;;AAM1BmC,UAN0B,oBAMjB;AAAA;;AACL,aAAKC,GAAL,CAASC,IAAT,CACI,2BAAY;AACRC,qBAAS,KAAKC,iBAAL,CAAuBC,MAAvB;AADD,SAAZ,CADJ,EAIEC,WAJF,CAIc,IAJd;AADK;AAML,aAAK3D,CAAL,CAAO,gBAAP,EAAyB4D,WAAzB;AANK;AAOL,eAAO,IAAP;AACH,KAdyB;;;AAgB1B;;;;AAIAC,WApB0B,mBAoBlBpC,GApBkB,EAoBb;AAAA;;AACTA,YAAIqC,cAAJ;;AAEA,YAAIC,+BAAO,EAAP,CAAJ;AACA,YAAIC,qCAAa,EAAb,CAAJ;;AAEA,YAAIC,gCAAQ,KAAKjE,CAAL,CAAO,kBAAP,EAA2BkE,GAA3B,EAAR,CAAJ;AANS;AAOTH,aAAKE,KAAL,GAAaA,mCAAQ,EAAE1E,OAAO0E,KAAT,EAAR,+BAA2B,EAA3B,CAAb;AACA,YAAIE,gCAAQ,KAAKnE,CAAL,CAAO,eAAP,EAAwBkE,GAAxB,EAAR,CAAJ;AARS;AASTH,aAAKI,KAAL,GAAa,gEAASA,UAAU,SAAnB,+BAA+BA,KAA/B,+BAAuCrE,SAAvC,CAAb;;AAEA,YAAI0C,qCAAY,KAAKxC,CAAL,CAAO,uBAAP,EAAgCkE,GAAhC,EAAZ,CAAJ;AAXS;AAYT,YAAI1B,SAAJ,EAAe;AAAA;AAAA;;AACXuB,iBAAKvB,SAAL,GAAiB4B,WAAW5B,SAAX,CAAjB;AADW;AAEX,gBAAI,gCAAKA,SAAL,GAAiB,CAAjB,gCAAsB,CAAC6B,SAASN,KAAKvB,SAAd,CAAvB,CAAJ,EAAqD;AAAA;AAAA;;AACjDwB,8BAAc,sBAAd;AADiD;AAEjD,qBAAKhE,CAAL,CAAO,uBAAP,EAAgCsE,MAAhC,GAAyCC,QAAzC,CAAkD,WAAlD;AACH,aAHD;AAAA;AAAA;AAIH,SAND;AAAA;AAAA;;AAQA,YAAI9B,qCAAY,KAAKzC,CAAL,CAAO,uBAAP,EAAgCkE,GAAhC,EAAZ,CAAJ;AApBS;AAqBT,YAAIzB,SAAJ,EAAe;AAAA;AAAA;;AACXsB,iBAAKtB,SAAL,GAAiB,KAAK+B,YAAL,CAAkB/B,SAAlB,CAAjB;AACH,SAFD;AAAA;AAAA;;AAIA,YAAIC,qCAAY,KAAK1C,CAAL,CAAO,uBAAP,EAAgCkE,GAAhC,EAAZ,CAAJ;AAzBS;AA0BT,YAAIxB,SAAJ,EAAe;AAAA;AAAA;;AACXqB,iBAAKrB,SAAL,GAAiB,KAAK8B,YAAL,CAAkB9B,SAAlB,CAAjB;AACH,SAFD;AAAA;AAAA;;AA1BS;AA8BT,YAAIsB,UAAJ,EAAgB;AAAA;AAAA;;AACZ,iBAAKhE,CAAL,CAAO,8BAAP,EAAuCyE,IAAvC,CAA4CT,UAA5C,EACKU,WADL,CACiB,QADjB;AADY;AAGZ;AACH,SAJD;AAAA;AAAA;;AA9BS;AAoCT,aAAKvD,OAAL,CAAa,eAAb,EAA8B,EAACqC,SAAS,KAAKC,iBAAf,EAAkCM,MAAMA,IAAxC,EAA9B;AApCS;AAqCT,aAAKN,iBAAL,CAAuBkB,GAAvB,CAA2BZ,IAA3B;AArCS;AAsCT,aAAKT,GAAL,CAASxB,KAAT,CAAe,MAAf;AACH,KA3DyB;;;AA6D1B;;;;;AAKA0C,gBAlE0B,wBAkEbN,GAlEa,EAkER;AAAA;;AACd,YAAI,CAACA,GAAL,EAAU;AAAA;AAAA;;AACN,mBAAO,eAAP;AACH,SAFD;AAAA;AAAA;AADc;AAId,eAAO,yBAAUA,GAAV,EAAeU,WAAf,EAAP;AACH;AAvEyB,CAAZ,CAAd,CAAJ;;AA0EA;;;;AAIA,IAAIC,kCAAS,IAAIzB,WAAJ,CAAgB;AACzB0B,gBAAY;AADa,CAAhB,CAAT,CAAJ;;AAIA;;;;;;;AAOA,SAASC,IAAT,CAActB,iBAAd,EAAiC;AAAA;AAAA;;AAC7BoB,WAAOpB,iBAAP,GAA2BA,iBAA3B;AAD6B;AAE7BoB,WAAOG,UAAP,CAAkB,qBAAlB,EAAyC3B,MAAzC;AAF6B;AAG7B,WAAOwB,MAAP;AACH;;kBAEcE,I;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1Gf;;;;AACA;;AAEA;;;;AACA;;AAEA;;;;AACA;;;;AAEA,IAAIE,+CAAuB7D,eAAKC,MAAL,CAAY;AACnCH,YAAQ;AACJ,+BAAuB;AADnB,KAD2B;;AAKnCI,cALmC,wBAKtB;AAAA;;AACT,aAAK4D,QAAL,GAAgB,IAAhB,CADS,CACa;AADb;AAET,aAAKC,OAAL,GAAe,MAAf,CAFS,CAEc;AAFd;AAGT,aAAKC,iBAAL,GAAyB,IAAzB,CAHS,CAGsB;AAHtB;AAIT,aAAKC,cAAL,GAAsB,CAAtB;AACH,KAVkC;AAYnChC,UAZmC,oBAY1B;AAAA;;AACL,YAAI,KAAKgC,cAAL,IAAuB,CAA3B,EAA8B;AAAA;AAAA;;AAC1B,iBAAKA,cAAL,GAAsB,CAAtB;AACH,SAFD,MAEO;AAAA;AAAA;AAAA,oBAAI,KAAKA,cAAL,IAAuB,KAAKC,WAAL,CAAiBC,MAA5C,EAAoD;AAAA;AAAA;;AACvD,yBAAKF,cAAL,GAAsB,KAAKC,WAAL,CAAiBC,MAAvC;AACH,iBAFM;AAAA;AAAA;AAEN,aACD,IAAIC,iCAAS,KAAKC,WAAL,EAAT,CAAJ;AANK;AAOL,aAAKnC,GAAL,CAASC,IAAT,CACI,oCAAqB;AACjBmC,2BAAe,KAAKL,cADH;AAEjBM,wBAAYH,OAAOI,KAFF;AAGjBC,yBAAaL,OAAOM,MAHH;AAIjBP,oBAAQ,KAAKD,WAAL,CAAiBC,MAJR;AAKjBQ,2BAAe,KAAKC,eAAL,EALE;AAMjBC,sBAAU,KAAKC,kBAAL;AANO,SAArB,CADJ,EASEvC,WATF,CASc,IATd;AAPK;AAiBL,aAAKwC,UAAL;AAjBK;AAkBL,eAAO,IAAP;AACH,KA/BkC;;;AAiCnC;;;AAGAC,uBApCmC,+BAoCfC,IApCe,EAoCT;AAAA;;AACtB,eAAOC,KAAKC,KAAL,CAAWnC,WAAW,KAAKkB,WAAL,CAAiBC,MAA5B,IACde,KAAKE,GAAL,CAAS,CAAT,EAAYH,OAAOjC,WAAW,KAAKkB,WAAL,CAAiBmB,OAA5B,CAAnB,CADc,GAC6C,EADxD,IAC8D,EADrE;AAEH,KAvCkC;;;AAyCnC;;;AAGAC,uBA5CmC,+BA4CfhB,aA5Ce,EA4CA;AAAA;;AAC/B,eAAOtB,WAAW,KAAKkB,WAAL,CAAiBmB,OAA5B,IACHH,KAAKK,IAAL,CAAU,KAAKrB,WAAL,CAAiBC,MAAjB,GAA0BG,aAApC,CADJ;AAEH,KA/CkC;;;AAiDnC;;;AAGAD,eApDmC,yBAoDrB;AACV,YAAIY,gCAAO,KAAKK,mBAAL,CAAyB,KAAKrB,cAA9B,CAAP,CAAJ;AACA,YAAIuB,kCAASN,KAAKE,GAAL,CAAS,CAAT,EAAYH,OAAO,KAAKf,WAAL,CAAiBmB,OAApC,CAAT,CAAJ;AACA,YAAId,sCAAaW,KAAKC,KAAL,CAAWK,SAAS,KAAKtB,WAAL,CAAiBM,KAArC,CAAb,CAAJ;AACA,YAAIC,uCAAcS,KAAKC,KAAL,CAAWK,SAAS,KAAKtB,WAAL,CAAiBQ,MAArC,CAAd,CAAJ;AAJU;AAKV,eAAO,EAAE,SAASH,UAAX,EAAuB,UAAUE,WAAjC,EAAP;AACH,KA1DkC;;;AA4DnC;;;AAGAG,mBA/DmC,6BA+DjB;AACd,YAAIR,kCAAS,KAAKC,WAAL,EAAT,CAAJ;AACA,YAAIoB,uCAAcrB,OAAOI,KAAP,GAAeJ,OAAOM,MAApC,CAAJ;AAFc;AAGd,eAAOe,WAAP;AACH,KAnEkC;;;AAqEnC;;;AAGAC,eAxEmC,yBAwErB;AACV,YAAIb,oCAAW,CAAC,KAAKD,eAAL,KAAyB,CAAzB,GAA6B,KAAKd,QAAnC,IAA+C,KAAKE,iBAA/D,CAAJ;AADU;AAEV,eAAOa,QAAP;AACH,KA3EkC;;;AA6EnC;;;AAGAC,sBAhFmC,gCAgFd;AACjB,YAAIa,uCAAc,KAAKD,WAAL,EAAd,CAAJ;AACA,YAAIE,yCAAgB,sBAAWD,WAAX,CAAhB,CAAJ;AAFiB;AAGjB,aAAKE,eAAL,CAAqBF,eAAeT,KAAKE,GAAL,CAAS,CAAT,EAAY,EAAZ,CAApC;AAHiB;AAIjB,eAAOQ,aAAP;AACH,KArFkC;;;AAuFnC;;;AAGAC,mBA1FmC,2BA0FnBC,IA1FmB,EA0Fb;AAAA;;AAAA;;AAClB,aAAKlH,CAAL,CAAO,uBAAP,EAAgCmH,MAAhC,CAAuC,OAAvC;AADkB;AAElB,YAAID,IAAJ,EAAU;AAAA;AAAA;;AACN,iBAAKlH,CAAL,CAAO,uBAAP,EAAgCoH,IAAhC,CAAqC,UAArC,EAAiD,UAAjD;AADM;AAEN,iBAAKpH,CAAL,CAAO,eAAP,EAAwB0E,WAAxB,CAAoC,QAApC;AAFM;AAGN,iBAAK1E,CAAL,CAAO,uBAAP,EAAgCqH,IAAhC,CAAqC,OAArC,EAA8C,UAACC,EAAD,EAAQ;AAAA;AAAA;AAAA,0BAAGxD,cAAH;AAAmB,aAAzE;AACH,SAJD,MAIO;AAAA;AAAA;;AACH,iBAAK9D,CAAL,CAAO,uBAAP,EAAgCuH,UAAhC,CAA2C,UAA3C;AADG;AAEH,iBAAKvH,CAAL,CAAO,eAAP,EAAwBuE,QAAxB,CAAiC,QAAjC;AAFG;AAGH,iBAAKvE,CAAL,CAAO,uBAAP,EAAgCqH,IAAhC,CAAqC,OAArC,EAA8C,YAAM;AAAA;AAAA;AAAE,sBAAK/D,GAAL,CAASK,WAAT,CAAqB,OAArB;AAAgC,aAAtF;AACH;AACJ,KArGkC;;;AAuGnC;;;;AAIAwC,cA3GmC,sBA2GxB1E,GA3GwB,EA2GnB;AACZ,YAAM+F,0CAAiB,sBAAE,0CAAF,EAA8C/C,IAA9C,EAAjB,CAAN;AADY;AAEZ,gBAAQ+C,cAAR;AACI,iBAAK,KAAL;AAAA;AAAA;;AACI,qBAAKrC,OAAL,GAAe,KAAf;AADJ;AAEI,qBAAKC,iBAAL,GAAyB,GAAzB;AAFJ;AAGI;AACJ,iBAAK,MAAL;AAAA;AAAA;;AACI,qBAAKD,OAAL,GAAe,MAAf;AADJ;AAEI,qBAAKC,iBAAL,GAAyB,GAAzB;AAFJ;AAGI;AACJ,iBAAK,MAAL;AAAA;;AACA;AAAA;AAAA;;AACI;AACA,qBAAKD,OAAL,GAAe,MAAf;AAFJ;AAGI,qBAAKC,iBAAL,GAAyB,IAAzB;AAHJ;AAII;AAdR;AAFY;AAkBZ,aAAKC,cAAL,GAAsBjB,WAAW,sBAAE,gBAAF,EAAoBF,GAApB,EAAX,CAAtB;AACA,YAAMsB,kCAAS,KAAKC,WAAL,EAAT,CAAN;AAnBY;AAoBZ,aAAKzF,CAAL,CAAO,kBAAP,EAA2BkE,GAA3B,CAA+BsB,OAAOI,KAAtC;AApBY;AAqBZ,aAAK5F,CAAL,CAAO,mBAAP,EAA4BkE,GAA5B,CAAgCsB,OAAOM,MAAvC;AArBY;AAsBZ,aAAK9F,CAAL,CAAO,aAAP,EAAsBkE,GAAtB,CAA0B,KAAK8B,eAAL,EAA1B;AAtBY;AAuBZ,aAAKhG,CAAL,CAAO,cAAP,EAAuBkE,GAAvB,CAA2B,KAAKgC,kBAAL,EAA3B;AAvBY;AAwBZ,aAAKlG,CAAL,CAAO,uBAAP,EAAgCoH,IAAhC,CAAqC,MAArC,EAA6C,KAAKK,MAAL,EAA7C;AACH,KApIkC;;;AAsInC;;;;;AAKAA,UA3ImC,oBA2I1B;AACL,YAAMC,gCAAO,KAAKpC,WAAL,CAAiBoC,IAAxB,CAAN;AACA,YAAMC,+BAAM,KAAKrC,WAAL,CAAiBqC,GAAvB,CAAN;AACA,YAAMC,iCAAQF,OAAO,KAAKpC,WAAL,CAAiBM,KAAhC,CAAN;AACA,YAAMiC,kCAASF,MAAM,KAAKrC,WAAL,CAAiBQ,MAAhC,CAAN;AACA,YAAMJ,yCAAgBtB,WAAW,sBAAE,gBAAF,EAAoBF,GAApB,EAAX,CAAhB,CAAN;AACA,YAAM4D,kCAAS;AACXC,yBAAa,KAAKzC,WAAL,CAAiBM,KADnB;AAEXoC,0BAAc,KAAK1C,WAAL,CAAiBQ,MAFpB;AAGX4B,kBAAMA,IAHK;AAIXC,iBAAKA,GAJM;AAKXC,mBAAOA,KALI;AAMXC,oBAAQA,MANG;AAOXI,sBAAU,KAAK9C,OAPJ;AAQX+C,gCAAoB,YART;AASXxC,2BAAeA;AATJ,SAAT,CAAN;AAWA,YAAIyC,mCAAU,KAAK7C,WAAL,CAAiB8C,WAAjB,CAA6BrF,GAA7B,CAAiCsF,OAAjC,CAAyC,kBAAzC,EAA6D,SAA7D,CAAV,CAAJ;AAjBK;AAAA;AAAA;AAAA;;AAAA;AAkBL,iCAAyB,IAAIC,eAAJ,CAAoBH,QAAQE,OAAR,CAAgB,aAAhB,EAA+B,EAA/B,CAApB,CAAzB,8HAAkF;AAAA;;AAAA;;AAAA,oBAAxErH,GAAwE;AAAA,oBAAnEzB,KAAmE;AAAA;;AAC9E,oBAAIuI,OAAO9G,GAAP,MAAgBlB,SAApB,EAA+B;AAAA;AAAA;;AAC3BgI,2BAAO9G,GAAP,IAAczB,KAAd;AACH,iBAFD;AAAA;AAAA;AAGH;AAtBI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAuBL4I,kBAAUA,QAAQE,OAAR,CAAgB,OAAhB,EAAyB,EAAzB,IAA+B,GAA/B,GAAqCrI,iBAAEC,KAAF,CAAQ6H,MAAR,CAA/C;AAvBK;AAwBL,eAAOK,OAAP;AACH;AApKkC,CAAZ,CAAvB,CAAJ;;AAuKA;;;;AAIA,IAAItD,kCAAS,IAAII,oBAAJ,CAAyB;AAClCH,gBAAY;AADsB,CAAzB,CAAT,CAAJ;;AAIA;;;;;;;AAOA,SAASC,IAAT,CAAcO,WAAd,EAA2B;AAAA;AAAA;;AACvBT,WAAOS,WAAP,GAAqBA,WAArB;AADuB;AAEvBT,WAAOQ,cAAP,GAAwBjB,WAAWkB,YAAYI,aAAvB,CAAxB;AAFuB;AAGvBb,WAAOG,UAAP,CAAkB,qBAAlB,EAAyC3B,MAAzC;AAHuB;AAIvB,WAAOwB,MAAP;AACH;;kBAEcE,I;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtMf;;;;AAEA;;;;AACA;;;;AAEA,IAAMwD,4CAAqBnH,eAAKC,MAAL,CAAY;AACnCH,YAAQ;AACJ,2BAAmB;AADf,KAD2B;;AAKnCI,cALmC,sBAKxBkH,QALwB,EAKd;AAAA;;AACjB,aAAKC,UAAL,GAAkBD,SAASC,UAA3B;AADiB;AAEjB,aAAKC,WAAL,GAAmBF,SAASE,WAA5B;AACH,KARkC;AAUnCrF,UAVmC,oBAU1B;AAAA;;AACL,aAAKC,GAAL,CAASC,IAAT,CACI,4BAAmB;AACfkF,wBAAY,KAAKA,UADF;AAEfC,yBAAa,KAAKA;AAFH,SAAnB,CADJ,EAKE/E,WALF,CAKc,IALd;AADK;AAOL,eAAO,IAAP;AACH,KAlBkC;AAoBnCgF,WApBmC,mBAoB3BlH,GApB2B,EAoBtB;AAAA;;AAAA;;AACTA,YAAIqC,cAAJ;AACA,YAAM8E,uCAAgB;AAClBC,oBAAQ,KAAK7I,CAAL,CAAO,gBAAP,EAAyB8I,EAAzB,CAA4B,UAA5B;AADU,SAAhB,CAAN;AAFS;AAKT,SAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,GAAhB,EAAqB,GAArB,EAA0BC,OAA1B,CAAkC,UAACC,MAAD,EAAY;AAAA;;AAC1C,gBAAI9E,6BAAM,MAAKlE,CAAL,CAAO,oBAAoBgJ,MAA3B,EAAmC9E,GAAnC,EAAN,CAAJ;AAD0C;AAE1C,gBAAI,kCAAQ,QAAR,+BAAoBA,QAAQpE,SAA5B,CAAJ,EAA2C;AAAA;AAAA;;AACvC8I,8BAAcI,MAAd,IAAwB9E,GAAxB;AACH,aAFD;AAAA;AAAA;AAGH,SALD;AALS;AAWT,aAAK+E,MAAL,GAAcL,aAAd;AAXS;AAYT,aAAKtF,GAAL,CAASxB,KAAT,CAAe,MAAf;AACH;AAjCkC,CAAZ,CAArB,CAAN;;kBAoCeyG,kB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KC/Jf;;;;;;;AACA;;;;AACA;;;;AAEA;;AACA;;AACA;;AACA;;;;AACA;;;;AACA;;;;AACA;;AAEA;;;;AACA;;;;AACA;;;;AAEA;;AACA;;AAEA;;;;AACA;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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EA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,eAAe,OAAO;AACtB;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;AACjB;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA,eAAe,MAAM;AACrB,iBAAiB,MAAM;AACvB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;AAGA,OAAO;AACP;AACA;;AAEA;;;AAGA,OAAO;AACP;AACA,CAAC,E;;;;;;;AC9jBD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEa;;AAEb;AACA,MAAM,IAAyC;AAC/C;AACA,IAAI,iCAAO,CAAC,sBAAQ,CAAC,oCAAE,OAAO;AAAA;AAAA;AAAA,oGAAC;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;AClMD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT,0FAA0F,KAAK;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA,eAAe,8BAA8B;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB;AACjB;AACA;AACA;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,kB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,iBAAiB;AACpC;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;;AAGA;AACA;AACA;;;AAGA;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;AACA;AACA,+BAA+B,mBAAmB;AAClD;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;;AAEA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA,2BAA2B,kBAAkB;AAC7C;AACA;;AAEA;AACA;;AAEA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;A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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGJ;;AANA;;;;AACA;;;;AAEA;;AAEA;;;;AAGA;;;;AACA;;;;AACA;;;;AAEA,IAAIiY,uCAAetO,gBAAMzK,MAAN,CAAa;AAC5BH,YAAQJ,qBAAEO,MAAF,CAASyK,gBAAMJ,SAAN,CAAgBxK,MAAzB,EAAiC;AACrC,kDAA0C,0CAAUsT,KAAV,EAAiB;AAAA;;AAAA;;AACvD,gBAAM6B,8BAAM,IAAI9N,sBAAJ,CAAuB;AAC/BG,6BAAa,KAAKktB,cAAL,EADkB;AAE/BntB,4BAAY,KAAKA,UAFc;AAG/BotB,2BAAW,IAHoB;AAI/BhrB,oBAAI,sBAAE,qBAAF,CAJ2B;AAK/B/F,4BAAY;AALmB,aAAvB,EAMTzB,MANS,EAAN,CAAN;AADuD;AAQvDgT,gBAAI/S,GAAJ,CAAQ9B,EAAR,CAAW,iBAAX,EAA8B,YAAM;AAAA;AAAA;;AAChC,oBAAI6U,IAAIpN,MAAJ,KAAenJ,SAAnB,EAA8B;AAAA;AAAA;;AAC1B,0BAAK2I,UAAL,GAAkB4N,IAAIpN,MAAtB;AAD0B;AAE1B,0BAAK5F,MAAL;AACH,iBAHD;AAAA;AAAA;AAIH,aALD;AAMH,SAfoC;AAgBrC,mCAA2B,6BAAUmR,KAAV,EAAiB;AAAA;AAAA;;AACxC,iBAAKlR,GAAL,CAASC,IAAT,CAAc,EAAd;AADwC;AAExC,iBAAKuyB,MAAL;AAFwC;AAGxC,iBAAK91B,CAAL,CAAO,kBAAP,EAA2BuE,QAA3B,CAAoC,IAApC;AACA,gBAAIwxB,oCAAY,KAAKzyB,GAAL,CAASzB,OAAT,CAAiB,UAAjB,CAAZ,CAAJ;AACA,gBAAIm0B,oCAAW,CAACD,UAAUtnB,QAAV,CAAmB,mBAAnB,CAAZ,CAAJ;AALwC;AAMxCsnB,sBAAUxjB,WAAV,CAAsB,mBAAtB,EAA2CyjB,QAA3C;AANwC;AAOxCD,sBAAUxjB,WAAV,CAAsB,mBAAtB,EAA2CyjB,QAA3C;AAPwC;AAQxC,iBAAK3yB,MAAL;AACH;AAzBoC,KAAjC,CADoB;;AA6B5B;;;;AAIA/B,gBAAY,oBAAUkH,QAAV,EAAoB;AAAA;AAAA;;AAC5B,aAAKA,QAAL,GAAgBA,QAAhB;AAD4B;AAE5B,aAAKC,UAAL,GAAkB;AACdI,oBAAQ;AADM,SAAlB;AAGH,KAtC2B;;AAwC5BotB,mBAxC4B,2BAwCZzV,QAxCY,EAwCF;AAAA;;AACtB,YAAI0V,iCAAQ,GAAR,CAAJ;AADsB;AAEtB,YAAI1V,aAAa,KAAK2V,cAAtB,EAAsC;AAAA;AAAA;;AAClC,mBAAO,IAAP;AACH,SAFD;AAAA;AAAA;AAFsB;AAKtB,eAAO,uBAAY,EAACpzB,KAAK,MAAN,EAAcgB,MAAM,EAACyc,UAAUA,QAAX,EAAqBtR,QAAQ,KAAKknB,YAAL,CAAkBl2B,MAA/C,EAAuDse,OAAO0X,QAAQ,CAAtE,EAApB,EAAZ,EAA2GhmB,IAA3G,CAAgH,UAACjH,MAAD,EAAY;AAAA;AAAA;;AAC/H,gBAAIuX,aAAa,OAAK2V,cAAtB,EAAsC;AAAA;AAAA;;AAClC,uBAAO,IAAP;AACH,aAFD;AAAA;AAAA;AAD+H;AAI/H,mBAAKC,YAAL,GAAoB,OAAKA,YAAL,CAAkBlU,MAAlB,CAAyBjZ,OAAOuZ,KAAP,CAAa,CAAb,EAAgB0T,KAAhB,CAAzB,CAApB;AAJ+H;AAK/H,gBAAIjtB,OAAO/I,MAAP,GAAgBg2B,KAApB,EAA2B;AAAA;AAAA;;AACvB,uBAAO,OAAKD,eAAL,CAAqBzV,QAArB,CAAP;AACH,aAFD;AAAA;AAAA;AAL+H;AAQ/H,mBAAK6V,mBAAL,CAAyBlzB,OAAzB,CAAiC,OAAKizB,YAAtC;AAR+H;AAS/H,mBAAO,IAAP;AACH,SAVM,CAAP;AAWH,KAxD2B;;;AA0D5BpnB,aAAS,iBAAUC,IAAV,EAAgB;AAAA;AAAA;;AACrB,aAAKA,IAAL,GAAYA,IAAZ;AADqB;AAErB,aAAKA,IAAL,CAAUzN,EAAV,CAAa,WAAb,EAA0B,YAAY;AAAA;AAAA;;AAClC,iBAAK6B,MAAL;AACH,SAFD,EAEG,IAFH;AAFqB;AAKrB,YAAI,KAAK8yB,cAAL,KAAwBlnB,KAAK5F,GAAL,CAAS,UAAT,CAA5B,EAAkD;AAAA;AAAA;;AAC9C,iBAAK8sB,cAAL,GAAsB,IAAtB;AAD8C;AAE9C,gBAAI,KAAKG,kBAAT,EAA6B;AAAA;AAAA;;AACzB,qBAAKA,kBAAL,CAAwBC,KAAxB;AACH,aAFD;AAAA;AAAA;AAGA,gBAAM7tB,uCAAc,KAAKktB,cAAL,EAAd,CAAN;AAL8C;AAM9C,iBAAKQ,YAAL,GAAoB,EAApB;AAN8C;AAO9C,iBAAKI,iBAAL,GAAyB,IAAzB;AAP8C;AAQ9C,gBAAI9tB,YAAYc,MAAZ,CAAmB,UAACykB,CAAD,EAAO;AAAA;AAAA;AAAA,yBAAEnrB,IAAF,KAAW,QAAX;AAAmB,aAA7C,EAA+C5C,MAA/C,IAAyD,CAA7D,EAAgE;AAAA;AAAA;;AAC5D,qBAAKi2B,cAAL,GAAsBlnB,KAAK5F,GAAL,CAAS,UAAT,CAAtB;AAD4D;AAE5D,qBAAKgtB,mBAAL,GAA2Br2B,iBAAEkD,QAAF,EAA3B;AAF4D;AAG5D,qBAAK+yB,eAAL,CAAqBhnB,KAAK5F,GAAL,CAAS,UAAT,CAArB;AACH,aAJD;AAAA;AAAA;AAKH,SAbD;AAAA;AAAA;AALqB;AAmBrB,aAAKhG,MAAL;AAnBqB;AAoBrB,eAAO,IAAP;AACH,KA/E2B;;AAiF5B;;;;;;;;;;AAUAuyB,oBAAgB,0BAAY;AAAA;AAAA;;AACxB,YAAI,4BAAC,KAAK3mB,IAAN,gCAAc,CAAC,KAAKA,IAAL,CAAU9B,EAAzB,gCAA+B,CAAC,KAAK8B,IAAL,CAAU5F,GAAV,CAAc,MAAd,CAAhC,CAAJ,EAA2D;AAAA;AAAA;;AACvD,mBAAO,EAAP;AACH,SAFD;AAAA;AAAA;AAGA,YAAIotB,gCAAO,KAAKxnB,IAAL,CAAU5F,GAAV,CAAc,MAAd,CAAP,CAAJ;AACA,YAAIif,mCAAU,CAAC,EAAC2M,MAAM,MAAP,EAAej0B,KAAK,MAApB,EAA4B8B,MAAM,QAAlC,EAA4C4oB,MAAM,OAAlD,EAAD,CAAV,CAAJ;AALwB;AAAA;AAAA;AAAA;;AAAA;AAMxB,iCAA4Brb,OAAOqmB,OAAP,CAAeD,IAAf,CAA5B,8HAAkD;AAAA;;AAAA;;AAAA,oBAAtCxB,IAAsC;AAAA,oBAAhChV,KAAgC;AAAA;;AAC9C,oBAAI,iDAAE0W,OAAF,CAAU1W,KAAV,kCAAoBA,MAAM/f,MAAN,IAAgB,CAApC,iCAAyCY,qBAAE81B,QAAF,CAAW3W,MAAM,CAAN,CAAX,CAAzC,CAAJ,EAAmE;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAC/D,8CAA2B5P,OAAOqmB,OAAP,CAAezW,MAAM,CAAN,CAAf,CAA3B,mIAAqD;AAAA;;AAAA;;AAAA,gCAAzCjf,GAAyC;AAAA,gCAApCzB,KAAoC;;AACjD,gCAAIuD,aAAJ;AADiD;AAEjD,gCAAIhC,qBAAEuD,QAAF,CAAW9E,KAAX,CAAJ,EAAuB;AAAA;AAAA;;AACnBuD,uCAAO,QAAP;AACH,6BAFD,MAEO;AAAA;AAAA;AAAA,wCAAIhC,qBAAE+1B,QAAF,CAAWt3B,KAAX,CAAJ,EAAuB;AAAA;AAAA;;AAC1BuD,+CAAO,QAAP;AACH,qCAFM;AAAA;AAAA;AAEN,iCANgD;AAOjD,gCAAIA,IAAJ,EAAU;AAAA;AAAA;;AACNwlB,wCAAQ1nB,IAAR,CAAa,EAACq0B,MAAMA,IAAP,EAAaj0B,KAAKA,GAAlB,EAAuB8B,MAAMA,IAA7B,EAAmC4oB,MAAM,CAAGuJ,IAAH,SAAWj0B,GAAX,EAAiBomB,WAAjB,EAAzC,EAAb;AACH,6BAFD;AAAA;AAAA;AAGH;AAX8D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYlE,iBAZD;AAAA;AAAA;AAaH;AApBuB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAqBxB,eAAOkB,QAAQoD,IAAR,CAAa,UAAC/Y,CAAD,EAAI0M,CAAJ,EAAU;AAAA;AAAA;AAAA,qBAAEqM,IAAF,CAAOoL,aAAP,CAAqBzX,EAAEqM,IAAvB;AAA4B,SAAnD,CAAP;AACH,KAjH2B;;AAmH5B;;;;;;;AAOAqL,iBAAa,qBAAUtuB,UAAV,EAAsB;AAAA;;AAAA;;AAC/B,YAAMC,uCAAc,KAAKktB,cAAL,EAAd,CAAN;AACA,YAAMoB,mCAAU,EAAV,CAAN;AAF+B;AAG/BtuB,oBAAYK,OAAZ,CAAoB,UAACkuB,GAAD,EAAS;AAAA;AAAA;AAAED,oBAAQC,IAAIvL,IAAZ,IAAoBuL,GAApB;AAA0B,SAAzD;AACA,YAAIC,oCAAW,EAACnzB,MAAM,EAAP,EAAWozB,aAAa,EAAxB,EAA4BC,WAAW,EAAvC,EAA2CC,QAAQ,EAAnD,EAAX,CAAJ;AACA,YAAMC,sCAAa,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,GAAhB,EAAqB,GAArB,EAA0B9tB,MAA1B,CAAiC,UAACR,MAAD,EAAY;AAAA;AAAA;AAAA,0DAAWA,MAAX,kCAAsBguB,QAAQvuB,WAAWO,MAAX,CAAR,CAAtB;AAAiD,SAA9F,EAAgGO,GAAhG,CAAoG,UAACP,MAAD,EAAY;AAAA;AAAA;;AAC/H,gBAAI,CAACkuB,SAASC,WAAT,CAAqB1uB,WAAWO,MAAX,CAArB,CAAL,EAA+C;AAAA;AAAA;;AAC3CkuB,yBAASC,WAAT,CAAqB1uB,WAAWO,MAAX,CAArB,IAA2C,EAA3C;AACH,aAFD;AAAA;AAAA;AAD+H;AAI/HkuB,qBAASC,WAAT,CAAqB1uB,WAAWO,MAAX,CAArB,EAAyCpI,IAAzC,CAA8CoI,MAA9C;AAJ+H;AAK/HkuB,qBAASE,SAAT,CAAmBpuB,MAAnB,IAA6BguB,QAAQvuB,WAAWO,MAAX,CAAR,CAA7B;AAL+H;AAM/H,mBAAOP,WAAWO,MAAX,CAAP;AACH,SAPkB,CAAb,CAAN;AAQA,YAAMuuB,uCAAc7uB,YAAYc,MAAZ,CAAmB,UAACytB,GAAD,EAAS;AAAA;AAAA;AAAA,8BAAWntB,QAAX,CAAoBmtB,IAAIvL,IAAxB;AAA6B,SAAzD,CAAd,CAAN;AAb+B;AAc/B,YAAI,CAAC6L,YAAYr3B,MAAjB,EAAyB;AAAA;AAAA;;AACrB,mBAAOg3B,QAAP;AACH,SAFD;AAAA;AAAA;AAGA,YAAI3D,iCAAQ,EAAR,CAAJ;AAjB+B;AAkB/B,YAAI9qB,WAAWI,MAAf,EAAuB;AAAA;AAAA;;AACnB0qB,oBAAQ,KAAK6C,YAAL,CAAkB5sB,MAAlB,CAAyB,UAACc,CAAD,EAAO;AAAA;AAAA;AAAA,qDAAE6U,UAAF,iCAAgB,CAAC7U,EAAE6U,UAAF,CAAaqY,QAA9B,iCAA0CltB,EAAEmsB,IAA5C,iCAAoDnsB,EAAEuO,GAAF,KAAU,OAAK5J,IAAL,CAAU9B,EAAxE;AAA0E,aAA1G,CAAR;AACH,SAFD;AAAA;AAAA;AAlB+B;AAqB/BomB,cAAMkE,OAAN,CAAc,KAAKxoB,IAAL,CAAUvL,MAAV,EAAd;AArB+B;AAsB/B6vB,cAAMxqB,OAAN,CAAc,UAACkG,IAAD,EAAOyoB,OAAP,EAAmB;AAAA;;AAC7B,gBAAIjB,gCAAOxnB,KAAKwnB,IAAZ,CAAJ;AACA,gBAAIkB,+BAAM,KAAN,CAAJ;AAF6B;;AAAA,uCAGpBjV,GAHoB;AAIzB,oBAAIzC,iCAAQ,EAAR,CAAJ;AAJyB;AAKzBsX,4BAAYxuB,OAAZ,CAAoB,UAACkuB,GAAD,EAAS;AAAA;AAAA;;AACzBC,6BAASC,WAAT,CAAqBF,IAAIvL,IAAzB,EAA+B3iB,OAA/B,CAAuC,UAAC/H,GAAD,EAAS;AAAA;;AAC5C,4BAAIzB,cAAJ;AAD4C;AAE5C,4BAAI03B,IAAIvL,IAAJ,KAAa,OAAjB,EAA0B;AAAA;AAAA;;AACtBnsB,oCAAQ0P,KAAK3P,IAAb;AACH,yBAFD,MAEO;AAAA;AAAA;AAAA,oCAAI,iCAAK23B,IAAIhC,IAAT,kCAAkBwB,KAAKQ,IAAIhC,IAAT,EAAevS,GAAf,CAAlB,CAAJ,EAA2C;AAAA;AAAA;;AAC9CnjB,4CAAQk3B,KAAKQ,IAAIhC,IAAT,EAAevS,GAAf,EAAoBuU,IAAIj2B,GAAxB,CAAR;AACH,iCAFM;AAAA;AAAA;AAEN,6BAN2C;AAO5C,4BAAI,sCAAUlB,SAAV,KAAwB,gCAAIgD,IAAJ,KAAa,QAAb,iCAAyB,CAAChC,qBAAEuD,QAAF,CAAW9E,KAAX,CAA1B,CAA5B,EAA0E;AAAA;AAAA;;AACtEo4B,kCAAM,IAAN;AACH,yBAFD;AAAA;AAAA;AAP4C;AAU5C,4BAAIV,IAAIn0B,IAAJ,KAAa,QAAjB,EAA2B;AAAA;AAAA;;AACvBvD,oCAAQ,KAAKA,KAAb;AACH,yBAFD;AAAA;AAAA;AAV4C;AAa5C0gB,8BAAMjf,GAAN,IAAazB,KAAb;AACH,qBAdD;AAeH,iBAhBD;AALyB;AAsBzB,oBAAI,CAACo4B,GAAL,EAAU;AAAA;AAAA;;AACNT,6BAASnzB,IAAT,CAAcnD,IAAd,CAAmBqf,KAAnB;AACH,iBAFD;AAAA;AAAA;AAtByB;;AAG7B,iBAAK,IAAIyC,MAAM,CAAf,EAAkB,CAACiV,GAAnB,EAAwBjV,OAAO,CAA/B,EAAkC;AAAA,sBAAzBA,GAAyB;AAsBjC;AACJ,SA1BD;AAtB+B;AAiD/BwU,iBAASnzB,IAAT,CAAcgF,OAAd,CAAsB,UAACkX,KAAD,EAAQyC,GAAR,EAAgB;AAAA;AAAA;;AAClCrS,mBAAOqmB,OAAP,CAAezW,KAAf,EAAsBlX,OAAtB,CAA8B,iBAAkB;AAAA;AAAA,oBAAhB/H,GAAgB;AAAA,oBAAXzB,KAAW;;AAAA;AAAA;;AAC5C,oBAAI,CAAC23B,SAASG,MAAT,CAAgBr2B,GAAhB,CAAL,EAA2B;AAAA;AAAA;;AACvB,wBAAIF,qBAAEuD,QAAF,CAAW9E,KAAX,CAAJ,EAAuB;AAAA;AAAA;;AACnB23B,iCAASG,MAAT,CAAgBr2B,GAAhB,IAAuB,EAAC+Q,KAAKxS,KAAN,EAAa0Z,KAAK1Z,KAAlB,EAAvB;AACH,qBAFD,MAEO;AAAA;AAAA;;AACH23B,iCAASG,MAAT,CAAgBr2B,GAAhB,IAAuB,EAAC42B,UAAU,EAAX,EAAvB;AACH;AACJ,iBAND;AAAA;AAAA;AAD4C;AAQ5C,oBAAI92B,qBAAEuD,QAAF,CAAW9E,KAAX,CAAJ,EAAuB;AAAA;AAAA;;AACnB,wBAAIA,QAAQ23B,SAASG,MAAT,CAAgBr2B,GAAhB,EAAqB+Q,GAAjC,EAAsC;AAAA;AAAA;;AAClCmlB,iCAASG,MAAT,CAAgBr2B,GAAhB,EAAqB+Q,GAArB,GAA2BxS,KAA3B;AACH,qBAFD;AAAA;AAAA;AADmB;AAInB,wBAAIA,QAAQ23B,SAASG,MAAT,CAAgBr2B,GAAhB,EAAqBiY,GAAjC,EAAsC;AAAA;AAAA;;AAClCie,iCAASG,MAAT,CAAgBr2B,GAAhB,EAAqBiY,GAArB,GAA2B1Z,KAA3B;AACH,qBAFD;AAAA;AAAA;AAGH,iBAPD,MAOO;AAAA;AAAA;;AACH23B,6BAASG,MAAT,CAAgBr2B,GAAhB,EAAqB42B,QAArB,CAA8Br4B,KAA9B,IAAuC,IAAvC;AADG;AAEH23B,6BAASG,MAAT,CAAgBr2B,GAAhB,EAAqBkW,IAArB,GAA4B7G,OAAOC,IAAP,CAAY4mB,SAASG,MAAT,CAAgBr2B,GAAhB,EAAqB42B,QAAjC,EAA2ClM,IAA3C,EAA5B;AAFG;AAGHwL,6BAASG,MAAT,CAAgBr2B,GAAhB,EAAqBmoB,KAArB,GAA6B+N,SAASG,MAAT,CAAgBr2B,GAAhB,EAAqBkW,IAArB,CAA0BhX,MAAvD;AACH;AACJ,aApBD;AAqBH,SAtBD;AAjD+B;AAwE/B,eAAOg3B,QAAP;AACH,KAnM2B;;AAqM5BW,sBAAkB,0BAAUX,QAAV,EAAoB;AAAA;;AAClC,YAAIY,gDAAsB,CAAC,SAAD,EAAY,SAAZ,EAAuB,SAAvB,EAAkC,SAAlC,EAA6C,SAA7C,EAAwD,SAAxD,EAAmE,SAAnE,EAA8E,SAA9E,EAAyF,SAAzF,EAAoG,SAApG,EAA+G,SAA/G,EAA0H,SAA1H,CAAtB,CAAJ;AACA,YAAIC,oCAAU,CAAC,SAAD,EAAY,SAAZ,EAAuB,SAAvB,EAAkC,SAAlC,EAA6C,SAA7C,EAAwD,SAAxD,EAAmE,SAAnE,EAA8E,SAA9E,EAAyF,SAAzF,EAAoG,SAApG,EAA+G,SAA/G,EAA0H,SAA1H,CAAV,CAAJ;AACA,YAAIC,mBAAJ;AAHkC;AAIlC,YAAI,qCAASX,MAAT,CAAgBY,CAAhB,iCAAqB,CAACf,SAASG,MAAT,CAAgBY,CAAhB,CAAkB9O,KAAxC,CAAJ,EAAmD;AAAA;AAAA;;AAC/C6O,yBAAalpB,OAAOopB,EAAP,CAAU1b,KAAV,CAAgB2b,MAAhB,GAAyBC,MAAzB,CAAgCL,QAAQxuB,GAAR,CAAY,UAACzI,CAAD,EAAIkjB,CAAJ,EAAU;AAAA;AAAA;AAAA,4BAAK+T,QAAQ73B,MAAR,GAAiB,CAAtB,KAA4Bg3B,SAASG,MAAT,CAAgBY,CAAhB,CAAkBhf,GAAlB,GAAwBie,SAASG,MAAT,CAAgBY,CAAhB,CAAkBlmB,GAAtE,IAA6EmlB,SAASG,MAAT,CAAgBY,CAAhB,CAAkBlmB,GAA/F;AAAkG,aAAxH,CAAhC,EAA2JsmB,KAA3J,CAAiKN,OAAjK,CAAb;AACH,SAFD;AAAA;AAAA;AAGA,YAAIO,uCAAa;AACbrV,eAAGiU,SAASnzB,IAAT,CAAcwF,GAAd,CAAkB,UAACe,CAAD,EAAO;AAAA;AAAA;AAAA,yBAAE2Y,CAAF;AAAG,aAA5B,CADU;AAEbC,eAAGgU,SAASnzB,IAAT,CAAcwF,GAAd,CAAkB,UAACe,CAAD,EAAO;AAAA;AAAA;AAAA,yBAAE4Y,CAAF;AAAG,aAA5B,CAFU;AAGbqV,uBAAWrB,SAASnzB,IAAT,CAAcwF,GAAd,CAAkB,UAACe,CAAD,EAAO;AAAA;;AAChC,oBAAIkuB,kCAAQ,EAAR,CAAJ;AADgC;AAEhC,iBAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,GAAhB,EAAqB,GAArB,EAA0BzvB,OAA1B,CAAkC,UAACC,MAAD,EAAY;AAAA;AAAA;;AAC1C,wBAAIsB,EAAEtB,MAAF,MAAclJ,SAAlB,EAA6B;AAAA;AAAA;;AACzB04B,8BAAM53B,IAAN,CAAcs2B,SAASE,SAAT,CAAmBpuB,MAAnB,EAA2BisB,IAAzC,WAAmDiC,SAASE,SAAT,CAAmBpuB,MAAnB,EAA2BhI,GAA9E,UAAsFsJ,EAAEtB,MAAF,CAAtF;AACH,qBAFD;AAAA;AAAA;AAGH,iBAJD;AAFgC;AAOhC,uBAAO,kCAAkCwvB,MAAM3X,IAAN,CAAW,MAAX,CAAlC,GAAuD,SAA9D;AACH,aARU,CAHE;AAYb4X,uBAAW,MAZE;AAabC,oBAAQ;AACJC,wBAAQ,qCAAStB,MAAT,CAAgB5K,CAAhB,iCAAqByK,SAASG,MAAT,CAAgB5K,CAAhB,CAAkBtD,KAAvC,gCAA+C+N,SAASnzB,IAAT,CAAcwF,GAAd,CAAkB,UAACe,CAAD,EAAO;AAAA;AAAA;AAAA,oCAAS+sB,MAAT,CAAgB5K,CAAhB,CAAkBvV,IAAlB,CAAuBvN,OAAvB,CAA+BW,EAAEmiB,CAAjC;AAAmC,iBAA5D,CAA/C,gCAA+G,CAA/G,CADJ;AAEJmM,sBAAM1B,SAASG,MAAT,CAAgB3O,CAAhB,+BACF,CAACwO,SAASG,MAAT,CAAgB3O,CAAhB,CAAkBS,KAAnB,+BACM+N,SAASnzB,IAAT,CAAcwF,GAAd,CAAkB,UAACe,CAAD,EAAO;AAAA;AAAA;AAAA,4BAACA,EAAEoe,CAAF,GAAMwO,SAASG,MAAT,CAAgB3O,CAAhB,CAAkB3W,GAAzB,KAAiCmlB,SAASG,MAAT,CAAgB3O,CAAhB,CAAkBzP,GAAlB,GAAwBie,SAASG,MAAT,CAAgB3O,CAAhB,CAAkB3W,GAA3E,IAAkF,EAAlF,GAAuF,CAAvF;AAAwF,iBAAjH,CADN,gCAEMmlB,SAASnzB,IAAT,CAAcwF,GAAd,CAAkB,UAACe,CAAD,EAAO;AAAA;AAAA;AAAA,oCAAS+sB,MAAT,CAAgB3O,CAAhB,CAAkBxR,IAAlB,CAAuBvN,OAAvB,CAA+BW,EAAEoe,CAAjC,IAAsCwO,SAASG,MAAT,CAAgB3O,CAAhB,CAAkBS,KAAxD,GAAgE,EAAhE,GAAqE,CAArE;AAAsE,iBAA/F,CAFN,CADE,gCAIF,EAJE,CAFF;AAOJ0P,uBAAO3B,SAASG,MAAT,CAAgBY,CAAhB,+BACH,CAACf,SAASG,MAAT,CAAgBY,CAAhB,CAAkB9O,KAAnB,+BACM+N,SAASnzB,IAAT,CAAcwF,GAAd,CAAkB,UAACe,CAAD,EAAO;AAAA;AAAA;AAAA,sCAAWA,EAAE2tB,CAAb;AAAe,iBAAxC,CADN,gCAEMf,SAASnzB,IAAT,CAAcwF,GAAd,CAAkB,UAACe,CAAD,EAAO;AAAA;AAAA;AAAA,2EAAoB4sB,SAASG,MAAT,CAAgBY,CAAhB,CAAkB/gB,IAAlB,CAAuBvN,OAAvB,CAA+BW,EAAE2tB,CAAjC,CAApB,kCAA4D,SAA5D;AAAqE,iBAA9F,CAFN,CADG,gCAIH,SAJG,CAPH;AAYJ/rB,yBAAS;AAZL,aAbK;AA2BbpJ,kBAAMo0B,SAASnzB,IAAT,CAAc7D,MAAd,GAAuB,GAAvB,+BAA6B,WAA7B,gCAA2C,SAA3C,CA3BO;AA4BbuU,kBAAM;AA5BO,SAAb,CAAJ;AAPkC;AAqClC,eAAO,CAAC6jB,UAAD,CAAP;AACH,KA3O2B;;AA6O5Bj1B,YAAQ,kBAAY;AAAA;;AAAA;AAAA;;AAChB,YAAI,iCAAK4L,IAAL,iCAAa,KAAKA,IAAL,CAAU9B,EAAvB,CAAJ,EAA+B;AAAA;;AAC3B,gBAAMzE,wCAAc,KAAKktB,cAAL,EAAd,CAAN;AAD2B;AAE3B,gBAAIltB,YAAYc,MAAZ,CAAmB,UAACykB,CAAD,EAAO;AAAA;AAAA;AAAA,yBAAEnrB,IAAF,KAAW,QAAX;AAAmB,aAA7C,EAA+C5C,MAA/C,GAAwD,CAA5D,EAA+D;AAAA;AAAA;;AAC3D,qBAAKoD,GAAL,CAASC,IAAT,CAAc,EAAd;AAD2D;AAE3D;AACH,aAHD;AAAA;AAAA;AAF2B;AAM3BvD,6BAAEgX,IAAF,CACI,KAAKqf,mBADT,EAEIr2B,iBAAE84B,IAAF,CAAO,EAAE;AACL/1B,qBAAK,0CADF;AAEHg2B,0BAAU,QAFP;AAGHC,uBAAO;AAHJ,aAAP,CAFJ,EAOE9oB,IAPF,CAOO,YAAM;AAAA;;AACT,oBAAIgnB,qCAAW,OAAKH,WAAL,CAAiB,OAAKtuB,UAAtB,CAAX,CAAJ;AADS;AAET,uBAAKnF,GAAL,CAASC,IAAT,CAAc,4BAAqB,EAArB,CAAd;AACA,oBAAM01B,iCAAO,OAAK31B,GAAL,CAAS+c,IAAT,CAAc,uBAAd,CAAP,CAAN;AAHS;AAIT,oBAAI,6BAAC6W,SAASG,MAAT,CAAgBpU,CAAjB,iCAAsB,CAACiU,SAASG,MAAT,CAAgBnU,CAAvC,iCAA4CgU,SAASnzB,IAAT,CAAc7D,MAAd,GAAuB,CAAnE,CAAJ,EAA0E;AAAA;AAAA;;AACtE+4B,yBAAK11B,IAAL,CAAU,EAAV;AADsE;AAEtE;AACH,iBAHD;AAAA;AAAA;AAIA,oBAAM21B,sCAAY,OAAK51B,GAAL,CAASzB,OAAT,CAAiB,oBAAjB,EAAuC3B,MAAvC,GAAgD,CAA5D,CAAN;AACA,oBAAIwI,wCAAc;AACdywB,4BAAQ,EAACC,GAAG,CAAJ,EAAOC,GAAG,EAAV,EAAc3Q,GAAG,CAAjB,EAAoBrJ,GAAG,EAAvB,EADM;AAEdia,+BAAW;AAFG,iBAAd,CAAJ;AATS;AAaT,oBAAIJ,SAAJ,EAAe;AAAA;AAAA;;AACXxwB,gCAAYywB,MAAZ,CAAmBE,CAAnB,IAAwB,EAAxB;AADW;AAEX3wB,gCAAYywB,MAAZ,CAAmB9Z,CAAnB,IAAwB,EAAxB;AAFW;AAGX3W,gCAAY6wB,KAAZ,GAAoB,EAAChvB,OAAO,EAAC9F,MAASyyB,SAASE,SAAT,CAAmBnU,CAAnB,CAAqBgS,IAA9B,WAAwCiC,SAASE,SAAT,CAAmBnU,CAAnB,CAAqBjiB,GAA9D,EAAR,EAApB;AAHW;AAIX0H,gCAAY8wB,KAAZ,GAAoB,EAACjvB,OAAO,EAAC9F,MAASyyB,SAASE,SAAT,CAAmBlU,CAAnB,CAAqB+R,IAA9B,WAAwCiC,SAASE,SAAT,CAAmBlU,CAAnB,CAAqBliB,GAA9D,EAAR,EAApB;AACH,iBALD;AAAA;AAAA;AAbS;AAmBT8N,uBAAO2qB,MAAP,CAAcC,OAAd,CAAsBT,KAAK,CAAL,CAAtB,EAA+B,OAAKpB,gBAAL,CAAsBX,QAAtB,CAA/B,EAAgExuB,WAAhE;AACH,aA3BD;AA4BH,SAlCD;AAAA;AAAA;AADgB;AAoChB,eAAO,IAAP;AACH;AAlR2B,CAAb,CAAf,CAAJ;;kBAqRe0R,Y;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KCnRyC;;;;;;;AAdxD;;;;AACA;;;;AAEA;;;;AACA;;AACA;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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AA,yC;;;;;;ACAA,yC;;;;;;ACAA,yC;;;;;;ACAA,yC;;;;;;ACAA,yC;;;;;;ACAA,yC;;;;;;ACAA,yC;;;;;;ACAA,yC;;;;;;ACAA,yC;;;;;;ACAA,yC;;;;;;ACAA,yC;;;;;;ACAA,+C;;;;;;ACAA,+C;;;;;;ACAA,+C;;;;;;ACAA,+C;;;;;;ACAA,+C;;;;;;ACAA,8C;;;;;;ACAA,8C;;;;;;ACAA,8C;;;;;;ACAA,8C;;;;;;ACAA,+C;;;;;;ACAA,+C;;;;;;ACAA,+C;;;;;;ACAA,+C;;;;;;ACAA,+C;;;;;;ACAA,+C;;;;;;ACAA,+C;;;;;;ACAA,+C;;;;;;ACAA,+C;;;;;;ACAA,8C;;;;;;ACAA,8C;;;;;;ACAA,8C;;;;;;ACAA,8C;;;;;;ACAA,8C;;;;;;ACAA,8C;;;;;;ACAA,8C;;;;;;ACAA,8C;;;;;;ACAA,8C;;;;;;ACAA,8C;;;;;;ACAA,8C;;;;;;ACAA,+C;;;;;;ACAA,+C;;;;;;ACAA,8C;;;;;;ACAA,6C;;;;;;ACAA,8C;;;;;;ACAA,8C;;;;;;ACAA,8C;;;;;;ACAA,8C","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// 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 = \"/static/built/\";\n\n \t__webpack_require__(46);\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 155);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 8b8bb2e02804475188ae","module.exports = girder_lib;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"girder_lib\"\n// module id = 0\n// module chunks = 0","module.exports = (__webpack_require__(0))(0);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/pug-runtime/index.js from dll-reference girder_lib\n// module id = 1\n// module chunks = 0","module.exports = (__webpack_require__(0))(2);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/jquery/dist/jquery.js from dll-reference girder_lib\n// module id = 2\n// module chunks = 0","module.exports = (__webpack_require__(0))(3);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/underscore/underscore.js from dll-reference girder_lib\n// module id = 3\n// module chunks = 0","module.exports = (__webpack_require__(0))(4);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/rest.js from dll-reference girder_lib\n// module id = 4\n// module chunks = 0","import girderEvents from '@girder/core/events';\n\nexport default girderEvents;\n\n\n\n// WEBPACK FOOTER //\n// ./~/@girder/histomicsui/events.js","module.exports = girder_plugin_large_image_annotation;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"girder_plugin_large_image_annotation\"\n// module id = 6\n// module chunks = 0","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// ./~/@girder/histomicsui/router.js","module.exports = (__webpack_require__(0))(1);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/views/View.js from dll-reference girder_lib\n// module id = 8\n// module chunks = 0","import $ from 'jquery';\nimport View from '@girder/core/views/View';\n\nexport default View.extend({\n initialize() {\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 // Whenever a new dialog is rendered in the DOM, set the tabindex\n // of its buttons to 0 so they can be selected with the Tab key.\n $(document).on('DOMNodeInserted', '#g-dialog-container', () => {\n $('.btn', '#g-dialog-container').prop('tabindex', '0');\n });\n }\n});\n\n\n\n// WEBPACK FOOTER //\n// ./~/@girder/histomicsui/views/View.js","module.exports = (__webpack_require__(0))(5);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/events.js from dll-reference girder_lib\n// module id = 10\n// module chunks = 0","module.exports = (__webpack_require__(0))(14);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/backbone/backbone.js from dll-reference girder_lib\n// module id = 11\n// module chunks = 0","module.exports = (__webpack_require__(45))(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 = 12\n// module chunks = 0","module.exports = (__webpack_require__(0))(9);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/auth.js from dll-reference girder_lib\n// module id = 13\n// module chunks = 0","import Backbone from 'backbone';\nimport { LocalStorage } from 'backbone.localstorage';\n\nimport StyleModel from '../models/StyleModel';\n\nconst StyleCollection = Backbone.Collection.extend({\n model: StyleModel,\n localStorage: new LocalStorage('histomicsui.draw.style')\n});\n\nexport default StyleCollection;\n\n\n\n// WEBPACK FOOTER //\n// ./~/@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// ./~/@girder/histomicsui/models/StyleModel.js","module.exports = (__webpack_require__(0))(11);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/utilities/jquery/girderModal.js from dll-reference girder_lib\n// module id = 17\n// module chunks = 0","module.exports = (__webpack_require__(0))(7);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/constants.js from dll-reference girder_lib\n// module id = 18\n// module chunks = 0","import $ from 'jquery';\n\nimport { restRequest } from '@girder/core/rest';\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\nexport { HuiSettings };\n\n\n\n// WEBPACK FOOTER //\n// ./~/@girder/histomicsui/views/utils.js","module.exports = (__webpack_require__(0))(10);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/misc.js from dll-reference girder_lib\n// module id = 20\n// module chunks = 0","module.exports = (__webpack_require__(0))(84);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/utilities/PluginUtils.js from dll-reference girder_lib\n// module id = 21\n// module chunks = 0","// 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// ./~/@girder/histomicsui/~/tinycolor2/tinycolor.js\n// module id = 22\n// module chunks = 0","import tinycolor from 'tinycolor2';\n\nimport View from '@girder/core/views/View';\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 },\n\n render() {\n this.$el.html(\n editElement({\n element: this.annotationElement.toJSON()\n })\n ).girderModal(this);\n this.$('.h-colorpicker').colorpicker();\n return this;\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 !== 'default' ? 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: data});\n this.annotationElement.set(data);\n this.$el.modal('hide');\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) {\n dialog.annotationElement = annotationElement;\n dialog.setElement('#g-dialog-container').render();\n return dialog;\n}\n\nexport default show;\n\n\n\n// WEBPACK FOOTER //\n// ./~/@girder/histomicsui/dialogs/editElement.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: left,\n top: top,\n right: right,\n bottom: bottom,\n encoding: this._format,\n contentDisposition: 'attachment',\n magnification: magnification\n };\n let urlView = this.areaElement.frameAndUrl.url.replace('/zxy/{z}/{x}/{y}', '/region');\n for (let [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// ./~/@girder/histomicsui/dialogs/editRegionOfInterest.js","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 };\n ['x', 'y', 'r', 'c', 's'].forEach((series) => {\n let 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// ./~/@girder/histomicsui/dialogs/metadataPlot.js","import _ from 'underscore';\nimport $ from 'jquery';\nimport tinycolor from 'tinycolor2';\n\nimport AccessWidget from '@girder/core/views/widgets/AccessWidget';\nimport View from '@girder/core/views/View';\nimport { AccessType } from '@girder/core/constants';\n\nimport saveAnnotation from '../templates/dialogs/saveAnnotation.pug';\nimport '../stylesheets/dialogs/saveAnnotation.styl';\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 '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)\n .filter((type, index, types) => types.indexOf(type) === index);\n }\n // should be updated when additional shape elements are supported\n const styleEditableElementTypes = ['point', 'polyline', 'rectangle', 'arrow', 'circle', 'ellipse'];\n const annotationHasEditableElements = _.filter(elementTypes, (type) => styleEditableElementTypes.includes(type)).length > 0;\n const showStyleEditor = this.annotation.get('annotation').elements && !this.annotation._pageElements && annotationHasEditableElements;\n\n const defaultStyles = {};\n\n if (showStyleEditor) {\n const elements = this.annotation.get('annotation').elements;\n console.assert(elements.length > 0); // otherwise we wouldn't show the style editor\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\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 showStyleEditor,\n defaultStyles\n })\n ).girderModal(this);\n this.$('.h-colorpicker').colorpicker();\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 }).on('g:accessListSaved', () => {\n this.annotation.fetch();\n });\n },\n\n cancel(evt) {\n evt.preventDefault();\n this.$el.modal('hide');\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 const setFillColor = !!this.$('#h-annotation-fill-color').val();\n const fillColor = tinycolor(this.$('#h-annotation-fill-color').val()).toRgbString();\n const setLineColor = !!this.$('#h-annotation-line-color').val();\n const 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 if (validation) {\n this.$('.g-validation-failed-message').text(validation.trim())\n .removeClass('hidden');\n return;\n }\n\n // all valid\n\n if (setFillColor || setLineColor || setLineWidth) {\n this.annotation.elements().each((element) => { /* eslint-disable backbone/no-silent */\n if (setFillColor) {\n element.set('fillColor', fillColor, {silent: true});\n }\n if (setLineColor) {\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);\n }\n\n _.extend(this.annotation.get('annotation'), {\n name: this.$('#h-annotation-name').val(),\n description: this.$('#h-annotation-description').val()\n });\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 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// ./~/@girder/histomicsui/dialogs/saveAnnotation.js","import _ from 'underscore';\nimport $ from 'jquery';\n\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 annnotations 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(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 render() {\n this._debounceRenderRequest = null;\n if (this.parentItem && this.parentItem.id) {\n this.parentItem.getAccessLevel((imageAccessLevel) => {\n const annotationGroups = this._getAnnotationGroups();\n this.$('[data-toggle=\"tooltip\"]').tooltip('destroy');\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 accessLevel: imageAccessLevel,\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 collapsed: this.$('.s-panel-content.collapse').length && !this.$('.s-panel-content').hasClass('in'),\n _\n }));\n this.$('[data-toggle=\"tooltip\"]').tooltip({container: 'body'});\n this._changeGlobalOpacity();\n this._changeGlobalFillOpacity();\n if (this._showAllAnnotationsState) {\n this.showAllAnnotations();\n }\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\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});\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 }\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'}),\n 'g:submit',\n () => {\n model.save().done(() => {\n if (model.get('displayed')) {\n this.trigger('h:redraw', model);\n }\n });\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.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 model.set('displayed', true);\n } else {\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 } else {\n model._centroids = models[model.id]._centroids;\n }\n }\n // set without triggering a change; a change reloads and\n // rerenders, which is only done if it has changed (above)\n model.attributes.displayed = models[model.id].get('displayed');\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.viewer.removeAnnotation(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;\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) {\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 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._saving) {\n this.viewer._saving = {};\n }\n if (!annotation._saving && !annotation._inFetch && !annotation.get('loading')) {\n this.viewer._saving[annotation.id] = true;\n this.$el.addClass('saving');\n let 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 delete this.viewer._saving[annotation.id];\n annotation._saving = false;\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 this.viewer._saving[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(this.viewer._saving).length === 1 && this.viewer._saving.refresh) {\n this._refreshAnnotations();\n }\n if (!Object.keys(this.viewer._saving).length || (Object.keys(this.viewer._saving).length === 1 && this.viewer._saving.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 } else {\n annotation._saveAgain = false;\n delete this.viewer._saving[annotation.id];\n if (Object.keys(this.viewer._saving).length === 1 && this.viewer._saving.refresh) {\n this._refreshAnnotations();\n }\n if (!Object.keys(this.viewer._saving).length || (Object.keys(this.viewer._saving).length === 1 && this.viewer._saving.refresh)) {\n this.$el.removeClass('saving');\n }\n }\n },\n\n _writeAccess(annotation) {\n return annotation.get('_accessLevel') >= AccessType.ADMIN;\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 });\n },\n\n selectAnnotationByRegion() {\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 btn.removeClass('active');\n $(document).off('keydown.h-annotation-select-by-region');\n this.parentView.trigger('h:selectElementsByRegionCancel');\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');\n } else {\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.default = annotations.length;\n }\n });\n this.trigger('h:groupCount', groupCount);\n }\n});\n\nexport default AnnotationSelector;\n\n\n\n// WEBPACK FOOTER //\n// ./~/@girder/histomicsui/panels/AnnotationSelector.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';\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 '../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-delete-element': 'deleteElement',\n 'click .h-draw': 'drawElement',\n 'change .h-style-group': '_setToSelectedStyleGroup',\n 'click .h-configure-style-group': '_styleGroupEditor',\n 'mouseenter .h-element': '_highlightElement',\n 'mouseleave .h-element': '_unhighlightElement'\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.viewer = settings.viewer;\n this.setViewer(settings.viewer);\n this._drawingType = settings.drawingType || null;\n\n this._highlighted = {};\n this._groups = new StyleCollection();\n this._style = new StyleModel({id: 'default'});\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('default')) {\n this._style.set(this._groups.get('default').toJSON());\n } else {\n this._groups.add(this._style.toJSON());\n this._groups.get(this._style.id).save();\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 this.$('[data-toggle=\"tooltip\"]').tooltip('destroy');\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 highlighted: this._highlighted,\n name,\n collapsed: this.$('.s-panel-content.collapse').length && !this.$('.s-panel-content').hasClass('in')\n }));\n }\n this.$('button.h-draw[data-type]').removeClass('active');\n if (this._drawingType) {\n this.$('button.h-draw[data-type=\"' + this._drawingType + '\"]').addClass('active');\n this.drawElement(undefined, this._drawingType);\n }\n this.$('[data-toggle=\"tooltip\"]').tooltip({container: 'body'});\n if (this.viewer.annotationLayer && this.viewer.annotationLayer._boundHUIModeChange === undefined) {\n this.viewer.annotationLayer._boundHUIModeChange = true;\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 return this;\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 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:widgetDrawRegion', this._widgetDrawRegion);\n if (viewer) {\n this.listenTo(events, 's:widgetDrawRegion', this._widgetDrawRegion);\n viewer.stopListening(events, 's:widgetDrawRegion', viewer.drawRegion);\n viewer.listenTo(events, 's:widgetDrawRegion', viewer.drawRegion);\n }\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 dialog = editElement(this.collection.get(this._getId(evt)));\n this.listenTo(dialog, 'h:editElement', (obj) => {\n // update the html immediately instead of rerendering it\n let id = obj.element.id,\n label = (obj.data.label || {}).value,\n elemType = obj.element.get('type');\n label = label || (elemType === 'polyline' ? (obj.element.get('closed') ? 'polygon' : 'line') : elemType);\n this.$(`.h-element[data-id=\"${id}\"] .h-element-label`).text(label).attr('title', label);\n this._skipRenderHTML = true;\n });\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) {\n let id = this._getId(evt);\n this.$(`.h-element[data-id=\"${id}\"]`).remove();\n this._skipRenderHTML = true;\n this.collection.remove(id);\n },\n\n /**\n * Respond to clicking an element type by putting the image\n * viewer into \"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 */\n drawElement(evt, type) {\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) {\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 this.viewer.annotationLayer.removeAllAnnotations();\n }\n if (type) {\n // always show the active annotation when drawing a new element\n this.annotation.set('displayed', true);\n\n this._drawingType = type;\n this.viewer.startDrawMode(type)\n .then((element) => {\n this.collection.add(\n _.map(element, (el) => _.extend(el, _.omit(this._style.toJSON(), 'id')))\n );\n return undefined;\n });\n }\n this.$('button.h-draw[data-type]').removeClass('active');\n if (this._drawingType) {\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 },\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 _setStyleGroup(group) {\n this._style.set(group);\n if (!this._style.get('group') && this._style.id !== 'default') {\n this._style.set('group', this._style.id);\n }\n this.$('.h-style-group').val(group.id);\n },\n\n _setToSelectedStyleGroup() {\n this._setStyleGroup(this._groups.get(this.$('.h-style-group').val()).toJSON());\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);\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 this.parentView.trigger('h:highlightAnnotation', this.annotation.id, id);\n },\n\n _unhighlightElement() {\n this.parentView.trigger('h:highlightAnnotation');\n },\n\n _recalculateGroupAggregation() {\n const groups = _.invoke(\n this.collection.filter((el) => el.get('group')),\n 'get', 'group'\n );\n this.annotation.set('groups', groups);\n }\n});\n\nexport default DrawWidget;\n\n\n\n// WEBPACK FOOTER //\n// ./~/@girder/histomicsui/panels/DrawWidget.js","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 }\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-cancel': function (event) {\n router.navigate('plugins', { trigger: true });\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 ];\n $.when(\n restRequest({\n method: 'GET',\n url: 'system/setting',\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',\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 let 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.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// ./~/@girder/histomicsui/views/body/ConfigView.js","/* 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 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.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 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.metadataWidget = new MetadataWidget({\n parentView: this\n });\n this.metadataPlot = new MetadataPlot({\n parentView: this\n });\n this.annotationSelector = new AnnotationSelector({\n parentView: this,\n collection: this.annotations,\n image: this.model\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\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._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: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 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.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 .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 .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.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 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 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: 'default' });\n groups.fetch().done(() => {\n if (!groups.has('default')) {\n groups.add(defaultStyle.toJSON());\n groups.get('default').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 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: 'default' });\n const updatedCategories = _.where(newCategories, { label: 'default' })\n .concat(_.reject(newCategories, { label: 'default' }));\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, 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 >= 8) {\n let 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 this.showRegion({\n elements: points.map((pts) => ({\n type: 'polyline',\n closed: true,\n points: pts\n }))\n });\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: element, annotationId: 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 && 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 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: layer,\n element: 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.buttonsDown.right) {\n this._openContextMenu(element.annotation.elements().get(element.id), annotationId, evt);\n } else if (evt.mouse.modifiers.ctrl) {\n this._toggleSelectElement(element.annotation.elements().get(element.id));\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._removeDrawWidget();\n if (model) {\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 }).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 },\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 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 ' ': // pressing space bar creates a new annotation\n this.annotationSelector.createAnnotation();\n break;\n case 'o':\n if (this.activeAnnotation) {\n if (this.drawWidget._drawingType === 'point') {\n this.drawWidget.cancelDrawMode();\n } else {\n this.drawWidget.drawElement(undefined, 'point');\n }\n }\n break;\n case 'r':\n if (this.activeAnnotation) {\n if (this.drawWidget._drawingType === 'rectangle') {\n this.drawWidget.cancelDrawMode();\n } else {\n this.drawWidget.drawElement(undefined, 'rectangle');\n }\n }\n break;\n case 'i':\n if (this.activeAnnotation) {\n if (this.drawWidget._drawingType === 'ellipse') {\n this.drawWidget.cancelDrawMode();\n } else {\n this.drawWidget.drawElement(undefined, 'ellipse');\n }\n }\n break;\n case 'c':\n if (this.activeAnnotation) {\n if (this.drawWidget._drawingType === 'circle') {\n this.drawWidget.cancelDrawMode();\n } else {\n this.drawWidget.drawElement(undefined, 'circle');\n }\n }\n break;\n case 'p':\n if (this.activeAnnotation) {\n if (this.drawWidget._drawingType === 'polygon') {\n this.drawWidget.cancelDrawMode();\n } else {\n this.drawWidget.drawElement(undefined, 'polygon');\n }\n }\n break;\n case 'l':\n if (this.activeAnnotation) {\n if (this.drawWidget._drawingType === 'line') {\n this.drawWidget.cancelDrawMode();\n } else {\n this.drawWidget.drawElement(undefined, 'line');\n }\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 const drawingType = 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 },\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() {\n this._selectElementsByRegionCanceled = false;\n this.viewerWidget.drawRegion().then((coord) => {\n if (this._selectElementsByRegionCanceled) {\n return this;\n }\n const boundingBox = {\n left: coord[0],\n top: coord[1],\n width: coord[2],\n height: coord[3]\n };\n this._resetSelection();\n const found = this.getElementsInBox(boundingBox);\n found.forEach(({ element }) => this._selectElement(element));\n if (this.selectedElements.length > 0 && this._currentMousePosition) {\n // fake an open context menu\n const { element, annotationId } = found[0];\n this._openContextMenu(element, annotationId, {\n mouse: this._currentMousePosition\n });\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 lowerLeft = { x: boundingBox.left, y: boundingBox.top + boundingBox.height };\n const upperRight = { x: boundingBox.left + boundingBox.width, y: boundingBox.top };\n\n const results = [];\n this.viewerWidget.featureLayer.features().forEach((feature) => {\n const r = feature.boxSearch(lowerLeft, upperRight, { 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) {\n if (!this._canOpenContextMenu()) {\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 },\n\n _editElement(element) {\n const annotation = this.annotations.get(element.originalAnnotation);\n this._editAnnotation(annotation);\n editElement(annotation.elements().get(element.id));\n },\n\n _editElementShape(element, annotationId) {\n const annotation = this.annotations.get(element.originalAnnotation || annotationId);\n this._editAnnotation(annotation);\n const geojson = convertToGeojson(element);\n this._currentAnnotationEditShape = {\n annotation: 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 },\n\n _redrawSelection() {\n this.viewerWidget.removeAnnotation(this.selectedAnnotation);\n this.viewerWidget.drawAnnotation(this.selectedAnnotation, {fetch: false});\n },\n\n _selectElement(element) {\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);\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 _toggleSelectElement(element) {\n if (this.selectedElements.get(element.id)) {\n this._unselectElement(element);\n } else {\n this._selectElement(element);\n }\n },\n\n _resetSelection() {\n this.viewerWidget.highlightAnnotation();\n if (this.selectedElements.length) {\n this.selectedElements.reset();\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\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 _orderPanels() {\n if (!this._knownPanels) {\n this._knownPanels = {};\n }\n HuiSettings.getSettings().then((settings) => {\n let layout = settings['histomicsui.panel_layout'];\n if (!layout) {\n return null;\n }\n layout = JSON.parse(layout);\n const panels = this.$('[id^=h-][id$=-panel]');\n panels.each((idx, panel) => {\n panel = $(panel);\n let 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 let panel = this.$(`#h-${spec.name}-panel`);\n let 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});\nexport default ImageView;\n\n\n\n// WEBPACK FOOTER //\n// ./~/@girder/histomicsui/views/body/ImageView.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// ./~/@girder/histomicsui/views/layout/HeaderUserView.js","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 }));\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// ./~/@girder/histomicsui/views/layout/HeaderView.js","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\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: 'default' });\n const styleAttrs = Object.assign({}, style.toJSON());\n delete styleAttrs.id;\n this.collection.each((element) => { /* eslint-disable backbone/no-silent */\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 },\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// ./~/@girder/histomicsui/views/popover/AnnotationContextMenu.js","import _ from 'underscore';\nimport $ from 'jquery';\n\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';\nimport convert from '@girder/large_image_annotation/annotations/convert';\n\nimport events from '../../events';\nimport View from '../View';\nimport annotationPopover from '../../templates/popover/annotationPopover.pug';\nimport '../../stylesheets/popover/annotationPopover.styl';\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 let scaleWidget = window.geo.gui.scaleWidget;\n if (scale && scaleWidget && scaleWidget.formatUnit) {\n let 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 let scaleWidget = window.geo.gui.scaleWidget;\n if (scale && scaleWidget && scaleWidget.formatUnit) {\n let 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 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 })\n );\n }\n this._show();\n if (!this._visible()) {\n this._hide();\n }\n this._height = this.$('.h-annotation-popover').height();\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 },\n\n /**\n * Get an object containing elements that are to be\n * displayed to the user in a popover. This object is\n * cached on the model to avoid recomputing these properties\n * 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 let 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')) {\n props.label = element.get('label').value;\n }\n if (element.get('group')) {\n props.group = element.get('group');\n }\n let geojson = convert(element, {}).features[0];\n let geogeom = geojson.geometry;\n let area, edge, scale;\n if (geogeom.type === 'Polygon') {\n area = edge = 0;\n let 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 let v0 = geogeom.coordinates[j][i];\n let v1 = geogeom.coordinates[j][i + 1];\n area += (v1[1] - v0[1]) * (v0[0] + v1[0]) / 2 * (!j ? 1 : -1);\n let 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 let v0 = geogeom.coordinates[i];\n let v1 = geogeom.coordinates[i + 1];\n edge += ((v1[0] - v0[0]) ** 2 + (v1[1] - v0[1]) ** 2) ** 0.5;\n }\n }\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[geojson.type === 'LineString' ? 'length' : 'perimeter'] = length(edge, scale);\n }\n\n return props;\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 (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// ./~/@girder/histomicsui/views/popover/AnnotationPopover.js","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/histomicsui/stylesheets/panels/zoomWidget.styl\n// module id = 35\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/histomicsui/stylesheets/popover/annotationContextMenu.styl\n// module id = 36\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/histomicsui/stylesheets/views/itemList.styl\n// module id = 37\n// module chunks = 0","module.exports = (__webpack_require__(6))(23);\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 = 38\n// module chunks = 0","module.exports = (__webpack_require__(0))(30);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/models/ItemModel.js from dll-reference girder_lib\n// module id = 39\n// module chunks = 0","module.exports = (__webpack_require__(0))(36);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/utilities/EventStream.js from dll-reference girder_lib\n// module id = 40\n// module chunks = 0","module.exports = (__webpack_require__(0))(58);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/views/widgets/BrowserWidget.js from dll-reference girder_lib\n// module id = 41\n// module chunks = 0","module.exports = (__webpack_require__(0))(8);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/router.js from dll-reference girder_lib\n// module id = 42\n// module chunks = 0","module.exports = (__webpack_require__(0))(82);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/collections/ItemCollection.js from dll-reference girder_lib\n// module id = 43\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 = 44\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 = 45\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';\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// ./~/@girder/histomicsui/main.js","(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// ./~/@girder/histomicsui/~/backbone.localstorage/build/backbone.localStorage.js\n// module id = 47\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// ./~/@girder/histomicsui/~/bootstrap-submenu/dist/js/bootstrap-submenu.js\n// module id = 48\n// module chunks = 0","/**\n *\n *\n * @author Jerry Bendy \n * @licence MIT\n *\n */\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 __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) {\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 forSureUsePolyfill = !decodesPlusesCorrectly;\n var useProxy = (!forSureUsePolyfill && nativeURLSearchParams && !isSupportObjectConstructor && self.Proxy);\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 * Apply polifill 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 /**\n *\n * @param {function} callback\n * @param {object} thisArg\n */\n USPProto.forEach = 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 * Sort all name-value pairs\n */\n USPProto.sort = 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 * 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 USPProto.keys = 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 * 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 USPProto.values = USPProto.values || function() {\n var items = [];\n this.forEach(function(item) {\n items.push(item);\n });\n return makeIterator(items);\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 USPProto.entries = 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\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// ./~/@girder/histomicsui/~/url-search-params-polyfill/index.js\n// module id = 49\n// module chunks = 0","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 } 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\nvar App = GirderApp.extend({\n initialize(settings) {\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 let 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: bindRoutes\n});\n\nexport default App;\n\n\n\n// WEBPACK FOOTER //\n// ./~/@girder/histomicsui/app.js","import StyleCollection from './StyleCollection';\n\nexport {\n StyleCollection\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/@girder/histomicsui/collections/index.js","import $ from 'jquery';\nimport _ from 'underscore';\n\nimport View from '@girder/core/views/View';\nimport '@girder/core/utilities/jquery/girderModal';\n\nimport events from '../events';\n\nimport template from '../templates/dialogs/confirmDialog.pug';\n// import '../stylesheets/dialogs/openAnnotatedImage.styl';\n\nlet dialog = null;\nconst defaultOptions = {\n title: 'Warning',\n message: 'Are you sure?',\n submitButton: 'Yes',\n onSubmit: _.noop\n};\n\nconst ConfirmDialog = View.extend({\n events: {\n 'click .h-submit': '_submit'\n },\n render() {\n this.$el.html(template(this._options)).girderModal(this)\n .on('shown.bs.modal', () => {\n this.$('.h-submit').trigger('focus');\n });\n return this;\n },\n\n setOptions(options) {\n this._options = _.defaults(options, defaultOptions);\n },\n\n _submit() {\n this.trigger('h:submit', this._options);\n this.$el.modal('hide');\n this.off('h:submit');\n }\n});\n\nevents.on('h:confirmDialog', function (options = {}) {\n if (!dialog) {\n dialog = new ConfirmDialog({\n parentView: null\n });\n }\n dialog.off('h:submit');\n dialog.setOptions(options);\n dialog.on('h:submit', options.onSubmit);\n dialog.setElement($('#g-dialog-container')).render();\n});\n\n\n\n// WEBPACK FOOTER //\n// ./~/@girder/histomicsui/dialogs/confirmDialog.js","import tinycolor from 'tinycolor2';\nimport _ from 'underscore';\nimport $ from 'jquery';\n\nimport View from '@girder/core/views/View';\nimport events from '@girder/core/events';\nimport { restRequest } from '@girder/core/rest';\nimport { getCurrentUser } from '@girder/core/auth';\n\nimport StyleModel from '../models/StyleModel';\nimport editStyleGroups from '../templates/dialogs/editStyleGroups.pug';\nimport '@girder/core/utilities/jquery/girderModal';\nimport '../stylesheets/dialogs/editStyleGroups.styl';\n\n/**\n * Create a modal dialog with fields to edit and create annotation\n * style groups.\n */\nconst EditStyleGroups = View.extend({\n events: {\n 'click .h-create-new-style': '_createNewStyle',\n 'click .h-save-new-style': '_saveNewStyle',\n 'click .h-delete-style': '_deleteStyle',\n 'click #h-reset-defaults': '_resetDefaults',\n 'click #h-set-defaults': '_setDefaults',\n 'click #h-export': '_exportGroups',\n 'click #h-import': '_selectImportGroups',\n 'click #h-import-replace': '_toggleImportReplace',\n 'change #h-import-groups': '_importGroups',\n 'change .h-style-def': '_updateStyle',\n 'changeColor .h-colorpicker': '_updateStyle',\n 'change select': '_setStyle'\n },\n\n render() {\n this.$('.h-colorpicker').colorpicker('destroy');\n this.$el.html(\n editStyleGroups({\n collection: this.collection,\n model: this.model,\n newStyle: this._newStyle,\n user: getCurrentUser() || {}\n })\n );\n this.$('.h-colorpicker').colorpicker();\n return this;\n },\n\n _setStyle(evt) {\n evt.preventDefault();\n this.model.set(\n this.collection.get(this.$('.h-group-name').val()).toJSON()\n );\n this.render();\n },\n\n _updateStyle(evt) {\n evt.preventDefault();\n\n const data = {};\n const label = this.$('#h-element-label').val();\n let validation = '';\n\n data.id = this.$('.h-group-name :selected').val() || this.$('.h-new-group-name').val().trim();\n if (!data.id) {\n validation += 'A style name is required';\n this.$('.h-new-group-name').parent().addClass('has-error');\n }\n data.label = label ? {value: label} : {};\n const group = data.id;\n data.group = group && group !== 'default' ? group : undefined;\n\n const 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 const lineColor = this.$('#h-element-line-color').val();\n if (lineColor) {\n data.lineColor = this.convertColor(lineColor);\n }\n\n const 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 }\n\n this.model.set(data);\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 _createNewStyle(evt) {\n evt.preventDefault();\n this._newStyle = true;\n this.render();\n },\n\n _saveNewStyle(evt) {\n this._updateStyle(evt);\n this._newStyle = false;\n this.collection.create(this.model.toJSON());\n this.render();\n },\n\n _deleteStyle(evt) {\n evt.preventDefault();\n // if we are creating a new style, cancel that and go back to a\n // previous style.\n if (this._newStyle) {\n this._newStyle = false;\n } else {\n const id = this.$('.h-group-name :selected').val();\n var model = this.collection.get(id);\n model.destroy();\n this.collection.remove(model);\n }\n this.model.set(this.collection.at(0).toJSON());\n this.render();\n },\n\n _resetDefaults(evt) {\n restRequest({\n method: 'GET',\n url: 'histomicsui/settings'\n }).done((resp) => {\n var styleJSON = resp['histomicsui.default_draw_styles'],\n oldid = this.model && this.model.id,\n styles = [], styleModels;\n styles = styleJSON ? JSON.parse(styleJSON) : [];\n styleModels = _.map(styles, function (style) {\n return new StyleModel(style);\n });\n while (this.collection.length) {\n this.collection.first().destroy();\n }\n this.collection.reset(styleModels);\n // make sure we have at least a default style\n if (!this.collection.get('default')) {\n this.collection.push(new StyleModel({id: 'default'}));\n }\n this.model.set(this.collection.at(0).toJSON());\n if (oldid && this.collection.get(oldid)) {\n this.model.set(this.collection.get(oldid).toJSON());\n }\n this.collection.each((model) => { model.save(); });\n this._newStyle = false;\n this.render();\n });\n },\n\n _setDefaults(evt) {\n return restRequest({\n method: 'PUT',\n url: 'system/setting',\n data: {\n list: JSON.stringify([{\n key: 'histomicsui.default_draw_styles',\n value: JSON.stringify(this.collection.toJSON())\n }])\n }\n }).done(() => {\n events.trigger('g:alert', {\n icon: 'ok',\n text: 'Settings saved.',\n type: 'success',\n timeout: 4000\n });\n });\n },\n\n _exportGroups(evt) {\n this.collection.add(this.model.toJSON(), {merge: true});\n var data = new Blob([JSON.stringify(this.collection.toJSON(), undefined, 2)], {type: 'text/plain'});\n var url = window.URL.createObjectURL(data);\n this.$el.find('#h-export-link').attr('href', url);\n this.$el.find('#h-export-link')[0].click();\n },\n\n _selectImportGroups(evt) {\n this.$el.find('#h-import-groups').click();\n },\n\n _toggleImportReplace(evt) {\n evt.stopPropagation();\n },\n\n _importGroups(evt) {\n // disable the UI until we succeed or fail\n this.$el.find('input').girderEnable(false);\n var replace = this.$el.find('#h-import-replace').prop('checked');\n var files = evt.target.files;\n if (files.length === 1) {\n var fr = new FileReader();\n fr.onload = (evt) => {\n this.$el.find('input').girderEnable(true);\n try {\n var groups = JSON.parse(evt.target.result);\n var styleModels = groups.map((group) => {\n return new StyleModel(group);\n });\n } catch (err) {\n this.$('.g-validation-failed-message').text('Failed to parse style specifications.').removeClass('hidden');\n return;\n }\n if (replace) {\n // remove all if we are replacing\n while (this.collection.length) {\n this.collection.first().destroy();\n }\n this.collection.reset(styleModels);\n } else {\n // For merge, completely replace existing styles\n for (var i = this.collection.length - 1; i >= 0; i -= 1) {\n if (styleModels.some((model) => model.id === this.collection.at(i).id)) {\n this.collection.at(i).destroy();\n }\n }\n this.collection.add(styleModels, {merge: true});\n }\n // make sure we have at least a default style\n if (!this.collection.get('default')) {\n this.collection.push(new StyleModel({id: 'default'}));\n }\n this.model.set(this.collection.at(0).toJSON());\n this.collection.each((model) => { model.save(); });\n this._newStyle = false;\n this.$('.g-validation-failed-message').addClass('hidden');\n this.render();\n };\n fr.onerror = (evt) => {\n this.$el.find('input').girderEnable(true);\n this.$('.g-validation-failed-message').text('Failed to read file').removeClass('hidden');\n };\n fr.readAsText(files[0]);\n }\n }\n});\n\nconst EditStyleGroupsDialog = View.extend({\n events: {\n 'click .h-submit': '_submit',\n 'click .h-cancel': '_cancelChanges'\n },\n\n initialize() {\n // save the collection and current model so we can restore everything\n // when we cancel\n this.originalCollectionData = this.collection.toJSON();\n this.originalModelData = this.model.toJSON();\n this.originalModelId = this.model.id;\n this.form = new EditStyleGroups({\n parentView: this,\n model: new StyleModel(this.model.toJSON()),\n collection: this.collection\n });\n },\n\n render() {\n this.$el.html('
');\n this.form.setElement(this.$('.h-style-editor')).render();\n this.$el.girderModal(this);\n return this;\n },\n\n _submit(evt) {\n evt.preventDefault();\n this.model.set(this.form.model.toJSON());\n this.collection.add(this.form.model.toJSON(), {merge: true});\n this.collection.get(this.model.id).save();\n this.$el.modal('hide');\n },\n\n _cancelChanges(evt) {\n var styleModels = _.map(this.originalCollectionData, function (style) {\n return new StyleModel(style);\n });\n while (this.collection.length) {\n this.collection.first().destroy();\n }\n this.collection.reset(styleModels, {merge: true});\n this.model.set(this.originalModelData);\n this.collection.each((model) => { model.save(); });\n }\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 {StyleGroupCollection} collection\n * @returns {EditStyleGroup} The dialog's view\n */\nfunction show(style, groups) {\n const dialog = new EditStyleGroupsDialog({\n parentView: null,\n collection: groups,\n model: style,\n el: $('#g-dialog-container')\n });\n return dialog.render();\n}\n\nexport default show;\n\n\n\n// WEBPACK FOOTER //\n// ./~/@girder/histomicsui/dialogs/editStyleGroups.js","import confirmDialog from './confirmDialog';\nimport openAnnotatedImage from './openAnnotatedImage';\nimport openImage from './openImage';\nimport editElement from './editElement';\nimport saveAnnotation from './saveAnnotation';\nimport editRegionOfInterest from './editRegionOfInterest';\nimport metadataPlot from './metadataPlot';\n\nexport {\n confirmDialog,\n openAnnotatedImage,\n openImage,\n editElement,\n saveAnnotation,\n editRegionOfInterest,\n metadataPlot\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/@girder/histomicsui/dialogs/index.js","import $ from 'jquery';\nimport _ from 'underscore';\nimport backbone from 'backbone';\n\nimport { restRequest } from '@girder/core/rest';\nimport ItemCollection from '@girder/core/collections/ItemCollection';\nimport UserCollection from '@girder/core/collections/UserCollection';\nimport View from '@girder/core/views/View';\nimport '@girder/core/utilities/jquery/girderModal';\n\nimport events from '../events';\nimport router from '../router';\n\nimport listTemplate from '../templates/dialogs/annotatedImageList.pug';\nimport template from '../templates/dialogs/openAnnotatedImage.pug';\nimport '../stylesheets/dialogs/openAnnotatedImage.styl';\n\nlet dialog;\nconst paths = {};\n\nconst AnnotatedImageList = View.extend({\n initialize() {\n this.listenTo(this.collection, 'reset', this.render);\n },\n\n render() {\n this.$el.html(listTemplate({\n items: this.collection.toJSON(),\n paths,\n inFetch: this.collection._inFetch\n }));\n return this;\n }\n});\n\nconst OpenAnnotatedImage = View.extend({\n events: {\n 'click .h-annotated-image': '_submit',\n 'keyup input': '_updateQuery',\n 'change select': '_updateQuery'\n },\n\n initialize() {\n this.collection = new ItemCollection();\n // disable automatic sorting of this collection\n this.collection.comparator = null;\n\n // This is a view model used to store the form state of the dialog.\n this._query = new backbone.Model({\n imageName: '',\n creator: ''\n });\n\n // These properties are used to debounce rest calls, preventing a new\n // rest call from occurring until the previous one has finished.\n this._nextQuery = {};\n this.collection._inFetch = false;\n\n this._users = new UserCollection();\n this._users.sortField = 'login';\n this._users.pageLimit = 0;\n this._usersIsFetched = false;\n this._users.fetch().done(() => {\n this._usersIsFetched = true;\n this._fetchImages();\n this.render();\n });\n this.listenTo(this._query, 'change', this._queueFetchImages);\n },\n\n render() {\n if (!this._usersIsFetched) {\n return this;\n }\n this.$el.html(template({\n imageName: this._query.get('imageName'),\n creator: this._query.get('creator'),\n users: this._users\n })).girderModal(this);\n this.$el.tooltip();\n\n new AnnotatedImageList({\n parentView: this,\n collection: this.collection,\n el: this.$('.h-annotated-images-list-container')\n }).render();\n return this;\n },\n\n _fetchImages() {\n const data = this._nextQuery;\n let items;\n\n if (!this._nextQuery || this.collection._inFetch) {\n return;\n }\n this.collection._inFetch = true;\n delete this._nextQuery;\n\n data.limit = 10;\n restRequest({\n url: 'annotation/images',\n data\n }).then((_items) => {\n items = _items;\n const promises = _.map(items, (item) => {\n return this._getResourcePath(item);\n });\n return $.when(...promises);\n }).done(() => {\n this.collection._inFetch = false;\n this.collection.reset(items);\n this._fetchImages();\n });\n },\n\n _queueFetchImages() {\n const imageName = this._query.get('imageName');\n const creator = this._query.get('creator');\n this._nextQuery = {};\n\n if (imageName) {\n this._nextQuery.imageName = imageName;\n }\n if (creator) {\n this._nextQuery.creatorId = creator;\n }\n\n this._fetchImages();\n },\n\n _updateQuery() {\n this._query.set({\n creator: this.$('#h-annotation-creator').val(),\n imageName: (this.$('#h-image-name').val() || '').trim()\n });\n },\n\n _submit(evt) {\n const id = this.$(evt.currentTarget).data('id');\n router.setQuery('bounds', null, {trigger: false});\n router.setQuery('folder', null, {trigger: false});\n router.setQuery('image', id, {trigger: true});\n this.$el.modal('hide');\n },\n\n _getResourcePath(item) {\n if (_.has(paths, item._id)) {\n return $.Deferred().resolve(paths[item._id]).promise();\n }\n\n return restRequest({\n url: `resource/${item._id}/path`,\n data: {\n type: 'item'\n }\n }).done((path) => {\n paths[item._id] = path;\n });\n }\n});\n\nfunction createDialog() {\n return new OpenAnnotatedImage({\n parentView: null\n });\n}\n\nevents.on('h:openAnnotatedImageUi', function () {\n if (!dialog) {\n dialog = createDialog();\n }\n dialog.setElement($('#g-dialog-container')).render();\n});\n\nexport default createDialog;\n\n\n\n// WEBPACK FOOTER //\n// ./~/@girder/histomicsui/dialogs/openAnnotatedImage.js","import $ from 'jquery';\n\nimport BrowserWidget from '@girder/core/views/widgets/BrowserWidget';\nimport ItemModel from '@girder/core/models/ItemModel';\nimport FolderModel from '@girder/core/models/FolderModel';\n\nimport events from '../events';\nimport router from '../router';\n\nvar dialog;\n\nfunction createDialog(item, itemParent) {\n var widget = new BrowserWidget({\n parentView: null,\n titleText: 'Select a slide...',\n submitText: 'Open',\n showItems: true,\n selectItem: true,\n helpText: 'Click on a slide item to open.',\n root: itemParent,\n rootSelectorSettings: {\n pageLimit: 0,\n selectByResource: itemParent\n },\n validate: function (item) {\n if (!item.has('largeImage')) {\n return $.Deferred().reject('Please select a \"large image\" item.').promise();\n }\n return $.Deferred().resolve().promise();\n },\n highlightItem: true,\n paginated: true,\n defaultSelectedResource: item\n });\n widget.on('g:saved', (model) => {\n if (!model) {\n return;\n }\n let folderId = null;\n if (widget.root && widget.root.attributes.isVirtual) {\n // in case of a virtual parent folder keep the folder in the loop\n folderId = widget.root.id;\n }\n // reset image bounds when opening a new image\n router.setQuery('bounds', null, { trigger: false });\n router.setQuery('folder', folderId, { trigger: false });\n router.setQuery('image', model.id, {trigger: true});\n $('.modal').girderModal('close');\n });\n return widget;\n}\n\nevents.on('h:openImageUi', function () {\n var itemId = router.getQuery('image');\n if (itemId) {\n var item = new ItemModel();\n item.set({ _id: router.getQuery('image') }).once('g:fetched', () => {\n if (router.getQuery('folder')) {\n var folder = new FolderModel();\n var folderId = router.getQuery('folder');\n folder.set({ _id: folderId }).once('g:fetched', () => {\n dialog = createDialog(item, folder);\n dialog.setElement($('#g-dialog-container')).render();\n }).fetch();\n } else {\n dialog = createDialog(item);\n dialog.setElement($('#g-dialog-container')).render();\n }\n }).fetch();\n } else {\n if (!dialog) {\n dialog = createDialog();\n }\n dialog.setElement($('#g-dialog-container')).render();\n }\n});\n\n\n\n// WEBPACK FOOTER //\n// ./~/@girder/histomicsui/dialogs/openImage.js","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// ./~/@girder/histomicsui/index.js","import StyleModel from './StyleModel';\n\nexport {\n StyleModel\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/@girder/histomicsui/models/index.js","import $ 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 this.plotConfig = dlg.result;\n this.render();\n }\n });\n },\n 'click .h-panel-maximize': function (event) {\n this.$el.html('');\n this.expand();\n this.$('.s-panel-content').addClass('in');\n let panelElem = this.$el.closest('.s-panel');\n let 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 getSiblingItems(folderId) {\n var chunk = 100;\n if (folderId !== this.parentFolderId) {\n return null;\n }\n return restRequest({url: 'item', data: {folderId: folderId, offset: this.siblingItems.length, limit: chunk + 1}}).done((result) => {\n if (folderId !== this.parentFolderId) {\n return null;\n }\n this.siblingItems = this.siblingItems.concat(result.slice(0, chunk));\n if (result.length > chunk) {\n return this.getSiblingItems(folderId);\n }\n this.siblingItemsPromise.resolve(this.siblingItems);\n return null;\n });\n },\n\n setItem: function (item) {\n this.item = item;\n this.item.on('g:changed', function () {\n this.render();\n }, this);\n if (this.parentFolderId !== item.get('folderId')) {\n this.parentFolderId = null;\n if (this.siblingItemPromise) {\n this.siblingItemPromise.abort();\n }\n const plotOptions = this.getPlotOptions();\n this.siblingItems = [];\n this.collectedPlotData = null;\n if (plotOptions.filter((v) => v.type === 'number').length >= 2) {\n this.parentFolderId = item.get('folderId');\n this.siblingItemsPromise = $.Deferred();\n this.getSiblingItems(item.get('folderId'));\n }\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')) {\n return [];\n }\n var meta = this.item.get('meta');\n var results = [{root: 'Item', key: 'name', type: 'string', sort: '_name'}];\n for (const [root, entry] of Object.entries(meta)) {\n if (_.isArray(entry) && entry.length >= 1 && _.isObject(entry[0])) {\n for (const [key, value] of Object.entries(entry[0])) {\n let type;\n if (_.isFinite(value)) {\n type = 'number';\n } else if (_.isString(value)) {\n type = 'string';\n }\n if (type) {\n results.push({root: root, key: key, type: type, sort: `${root}.${key}`.toLowerCase()});\n }\n }\n }\n }\n return results.sort((a, b) => a.sort.localeCompare(b.sort));\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 const plotOptions = this.getPlotOptions();\n const optDict = {};\n plotOptions.forEach((opt) => { optDict[opt.sort] = opt; });\n let plotData = {data: [], fieldToPlot: {}, plotToOpt: {}, ranges: {}};\n const usedFields = ['x', 'y', 'r', 'c', 's'].filter((series) => plotConfig[series] && optDict[plotConfig[series]]).map((series) => {\n if (!plotData.fieldToPlot[plotConfig[series]]) {\n plotData.fieldToPlot[plotConfig[series]] = [];\n }\n plotData.fieldToPlot[plotConfig[series]].push(series);\n plotData.plotToOpt[series] = optDict[plotConfig[series]];\n return plotConfig[series];\n });\n const usedOptions = plotOptions.filter((opt) => usedFields.includes(opt.sort));\n if (!usedOptions.length) {\n return plotData;\n }\n let items = [];\n if (plotConfig.folder) {\n items = this.siblingItems.filter((d) => d.largeImage && !d.largeImage.expected && d.meta && d._id !== this.item.id);\n }\n items.unshift(this.item.toJSON());\n items.forEach((item, itemIdx) => {\n let meta = item.meta;\n let end = false;\n for (let idx = 0; !end; idx += 1) {\n let entry = {};\n usedOptions.forEach((opt) => {\n plotData.fieldToPlot[opt.sort].forEach((key) => {\n let value;\n if (opt.sort === '_name') {\n value = item.name;\n } else if (meta[opt.root] && meta[opt.root][idx]) {\n value = meta[opt.root][idx][opt.key];\n }\n if (value === undefined || (opt.type === 'number' && !_.isFinite(value))) {\n end = true;\n }\n if (opt.type === 'string') {\n value = '' + value;\n }\n entry[key] = value;\n });\n });\n if (!end) {\n plotData.data.push(entry);\n }\n }\n });\n plotData.data.forEach((entry, idx) => {\n Object.entries(entry).forEach(([key, value]) => {\n if (!plotData.ranges[key]) {\n if (_.isFinite(value)) {\n plotData.ranges[key] = {min: value, max: value};\n } else {\n plotData.ranges[key] = {distinct: {}};\n }\n }\n if (_.isFinite(value)) {\n if (value < plotData.ranges[key].min) {\n plotData.ranges[key].min = value;\n }\n if (value > plotData.ranges[key].max) {\n plotData.ranges[key].max = value;\n }\n } else {\n plotData.ranges[key].distinct[value] = true;\n plotData.ranges[key].list = Object.keys(plotData.ranges[key].distinct).sort();\n plotData.ranges[key].count = plotData.ranges[key].list.length;\n }\n });\n });\n return plotData;\n },\n\n plotDataToPlotly: function (plotData) {\n let colorBrewerPaired12 = ['#a6cee3', '#1f78b4', '#b2df8a', '#33a02c', '#fb9a99', '#e31a1c', '#fdbf6f', '#ff7f00', '#cab2d6', '#6a3d9a', '#ffff99', '#b15928'];\n let viridis = ['#440154', '#482172', '#423d84', '#38578c', '#2d6f8e', '#24858d', '#1e9a89', '#2ab07e', '#51c468', '#86d449', '#c2df22', '#fde724'];\n let colorScale;\n if (plotData.ranges.c && !plotData.ranges.c.count) {\n colorScale = window.d3.scale.linear().domain(viridis.map((_, i) => i / (viridis.length - 1) * (plotData.ranges.c.max - plotData.ranges.c.min) + plotData.ranges.c.min)).range(viridis);\n }\n let plotlyData = {\n x: plotData.data.map((d) => d.x),\n y: plotData.data.map((d) => d.y),\n hovertext: plotData.data.map((d) => {\n let parts = [];\n ['x', 'y', 'r', 'c', 's'].forEach((series) => {\n if (d[series] !== undefined) {\n parts.push(`${plotData.plotToOpt[series].root} - ${plotData.plotToOpt[series].key}: ${d[series]}`);\n }\n });\n return '' + parts.join('
') + '
';\n }),\n hoverinfo: 'text',\n marker: {\n symbol: plotData.ranges.s && plotData.ranges.s.count ? plotData.data.map((d) => plotData.ranges.s.list.indexOf(d.s)) : 0,\n size: plotData.ranges.r ? (\n !plotData.ranges.r.count\n ? plotData.data.map((d) => (d.r - plotData.ranges.r.min) / (plotData.ranges.r.max - plotData.ranges.r.min) * 10 + 5)\n : plotData.data.map((d) => plotData.ranges.r.list.indexOf(d.r) / plotData.ranges.r.count * 10 + 5)\n ) : 10,\n color: plotData.ranges.c ? (\n !plotData.ranges.c.count\n ? plotData.data.map((d) => colorScale(d.c))\n : plotData.data.map((d) => colorBrewerPaired12[plotData.ranges.c.list.indexOf(d.c)] || '#000000')\n ) : '#000000',\n opacity: 0.5\n },\n type: plotData.data.length > 100 ? 'scattergl' : 'scatter',\n mode: 'markers'\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').length < 2) {\n this.$el.html('');\n return;\n }\n $.when(\n this.siblingItemsPromise,\n $.ajax({ // like $.getScript, but allow caching\n url: 'https://cdn.plot.ly/plotly-latest.min.js',\n dataType: 'script',\n cache: true\n })\n ).done(() => {\n let plotData = this.getPlotData(this.plotConfig);\n this.$el.html(metadataPlotTemplate({}));\n const elem = this.$el.find('.h-metadata-plot-area');\n if (!plotData.ranges.x || !plotData.ranges.y || plotData.data.length < 2) {\n elem.html('');\n return;\n }\n const maximized = this.$el.closest('.h-panel-maximized').length > 0;\n let 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.plotToOpt.x.root} - ${plotData.plotToOpt.x.key}`}};\n plotOptions.yaxis = {title: {text: `${plotData.plotToOpt.y.root} - ${plotData.plotToOpt.y.key}`}};\n }\n window.Plotly.newPlot(elem[0], this.plotDataToPlotly(plotData), plotOptions);\n });\n }\n return this;\n }\n});\n\nexport default MetadataPlot;\n\n\n\n// WEBPACK FOOTER //\n// ./~/@girder/histomicsui/panels/MetadataPlot.js","import $ from 'jquery';\nimport _ from 'underscore';\n\nimport Panel from '@girder/slicer_cli_web/views/Panel';\nimport { AccessType } from '@girder/core/constants';\nimport { confirm } from '@girder/core/dialog';\nimport events from '@girder/core/events';\nimport { localeSort } from '@girder/core/misc';\n\nimport JsonMetadatumEditWidgetTemplate from '@girder/core/templates/widgets/jsonMetadatumEditWidget.pug';\nimport JsonMetadatumViewTemplate from '@girder/core/templates/widgets/jsonMetadatumView.pug';\nimport MetadatumEditWidgetTemplate from '@girder/core/templates/widgets/metadatumEditWidget.pug';\nimport MetadatumViewTemplate from '@girder/core/templates/widgets/metadatumView.pug';\n\nimport JSONEditor from 'jsoneditor/dist/jsoneditor.js'; // can't 'jsoneditor'\nimport 'jsoneditor/dist/jsoneditor.css';\n\nimport 'bootstrap/js/dropdown';\n\nimport metadataWidgetTemplate from '../templates/panels/metadataWidget.pug';\nimport '../stylesheets/panels/metadataWidget.styl';\n\nvar MetadatumWidget = Panel.extend({\n className: 'g-widget-metadata-row',\n\n events: {\n 'click .g-widget-metadata-edit-button': 'editMetadata'\n },\n\n initialize: function (settings) {\n if (!_.has(this.parentView.modes, settings.mode)) {\n throw new Error('Unsupported metadatum mode ' + settings.mode + ' detected.');\n }\n this.mode = settings.mode;\n this.key = settings.key;\n this.value = settings.value;\n this.accessLevel = settings.accessLevel;\n this.parentView = settings.parentView;\n this.fieldName = settings.fieldName;\n this.apiPath = settings.apiPath;\n this.onMetadataEdited = settings.onMetadataEdited;\n this.onMetadataAdded = settings.onMetadataAdded;\n },\n\n _validate: function (from, to, value) {\n var newMode = this.parentView.modes[to];\n\n if (_.has(newMode, 'validation') &&\n _.has(newMode.validation, 'from') &&\n _.has(newMode.validation.from, from)) {\n var validate = newMode.validation.from[from][0];\n var msg = newMode.validation.from[from][1];\n\n if (!validate(value)) {\n events.trigger('g:alert', {\n text: msg,\n type: 'warning'\n });\n return false;\n }\n }\n\n return true;\n },\n\n // @todo too much duplication with editMetadata\n toggleEditor: function (event, newEditorMode, existingEditor, overrides) {\n var fromEditorMode = (existingEditor instanceof JsonMetadatumEditWidget) ? 'json' : 'simple';\n var newValue = (overrides || {}).value || existingEditor.$el.attr('g-value');\n if (!this._validate(fromEditorMode, newEditorMode, newValue)) {\n return;\n }\n\n var row = existingEditor.$el;\n existingEditor.destroy();\n row.addClass('editing').empty();\n\n var opts = _.extend({\n el: row,\n item: this.parentView.item,\n key: row.attr('g-key'),\n value: row.attr('g-value'),\n accessLevel: this.accessLevel,\n newDatum: false,\n parentView: this,\n fieldName: this.fieldName,\n apiPath: this.apiPath,\n onMetadataEdited: this.onMetadataEdited,\n onMetadataAdded: this.onMetadataAdded\n }, overrides || {});\n\n this.parentView.modes[newEditorMode].editor(opts).render();\n },\n\n editMetadata: function (event) {\n this.$el.addClass('editing');\n this.$el.empty();\n\n var opts = {\n item: this.parentView.item,\n key: this.$el.attr('g-key'),\n value: this.$el.attr('g-value'),\n accessLevel: this.accessLevel,\n newDatum: false,\n parentView: this,\n fieldName: this.fieldName,\n apiPath: this.apiPath,\n onMetadataEdited: this.onMetadataEdited,\n onMetadataAdded: this.onMetadataAdded\n };\n\n // If they're trying to open false, null, 6, etc which are not stored as strings\n if (this.mode === 'json') {\n try {\n var jsonValue = JSON.parse(this.$el.attr('g-value'));\n\n if (jsonValue !== undefined && !_.isObject(jsonValue)) {\n opts.value = jsonValue;\n }\n } catch (e) {}\n }\n\n this.parentView.modes[this.mode].editor(opts)\n .render()\n .$el.appendTo(this.$el);\n },\n\n render: function () {\n this.$el.attr({\n 'g-key': this.key,\n 'g-value': _.bind(this.parentView.modes[this.mode].displayValue, this)()\n }).empty();\n\n this.$el.html(this.parentView.modes[this.mode].template({\n key: this.key,\n value: _.bind(this.parentView.modes[this.mode].displayValue, this)(),\n accessLevel: this.accessLevel,\n AccessType: AccessType\n }));\n\n return this;\n }\n});\n\nvar MetadatumEditWidget = Panel.extend({\n events: {\n 'click .g-widget-metadata-cancel-button': 'cancelEdit',\n 'click .g-widget-metadata-save-button': 'save',\n 'click .g-widget-metadata-delete-button': 'deleteMetadatum',\n 'click .g-widget-metadata-toggle-button': function (event) {\n var editorType;\n // @todo modal\n // in the future this event will have the new editorType (assuming a dropdown)\n if (this instanceof JsonMetadatumEditWidget) {\n editorType = 'simple';\n } else {\n editorType = 'json';\n }\n this.parentView.toggleEditor(event, editorType, this, {\n // Save state before toggling editor\n key: this.$el.find('.g-widget-metadata-key-input').val(),\n value: this.getCurrentValue()\n });\n }\n },\n\n initialize: function (settings) {\n this.item = settings.item;\n this.key = settings.key || '';\n this.fieldName = settings.fieldName || 'meta';\n this.value = (settings.value !== undefined) ? settings.value : '';\n this.accessLevel = settings.accessLevel;\n this.newDatum = settings.newDatum;\n this.fieldName = settings.fieldName;\n this.apiPath = settings.apiPath;\n this.onMetadataEdited = settings.onMetadataEdited;\n this.onMetadataAdded = settings.onMetadataAdded;\n },\n\n editTemplate: MetadatumEditWidgetTemplate,\n\n getCurrentValue: function () {\n return this.$el.find('.g-widget-metadata-value-input').val();\n },\n\n deleteMetadatum: function (event) {\n event.stopImmediatePropagation();\n const target = $(event.currentTarget);\n var metadataList = target.parent().parent();\n var params = {\n text: 'Are you sure you want to delete the metadatum ' +\n _.escape(this.key) + '?',\n escapedHtml: true,\n yesText: 'Delete',\n confirmCallback: () => {\n this.item.removeMetadata(this.key, () => {\n metadataList.remove();\n // trigger the event\n this.parentView.parentView.trigger('h-metadata-panel-update', {\n });\n }, null, {\n field: this.fieldName,\n path: this.apiPath\n });\n }\n };\n confirm(params);\n },\n\n cancelEdit: function (event) {\n event.stopImmediatePropagation();\n const target = $(event.currentTarget);\n var curRow = target.parent().parent();\n if (this.newDatum) {\n curRow.remove();\n } else {\n this.parentView.render();\n }\n },\n\n save: function (event, value) {\n event.stopImmediatePropagation();\n const target = $(event.currentTarget);\n var curRow = target.parent(),\n tempKey = curRow.find('.g-widget-metadata-key-input').val(),\n tempValue = (value !== undefined) ? value : curRow.find('.g-widget-metadata-value-input').val();\n if (this.newDatum && tempKey === '') {\n events.trigger('g:alert', {\n text: 'A key is required for all metadata.',\n type: 'warning'\n });\n return;\n }\n var saveCallback = () => {\n this.key = tempKey;\n this.value = tempValue;\n\n this.parentView.key = this.key;\n this.parentView.value = this.value;\n if (this instanceof JsonMetadatumEditWidget) {\n this.parentView.mode = 'json';\n } else {\n this.parentView.mode = 'simple';\n }\n // re-render metadata panel header when metadata is edited\n this.parentView.parentView.trigger('h-metadata-panel-update', {\n });\n this.parentView.render();\n this.newDatum = false;\n };\n\n var errorCallback = function (out) {\n events.trigger('g:alert', {\n text: out.message,\n type: 'danger'\n });\n };\n\n if (this.newDatum) {\n if (this.onMetadataAdded) {\n this.onMetadataAdded(tempKey, tempValue, saveCallback, errorCallback);\n } else {\n this.item.addMetadata(tempKey, tempValue, saveCallback, errorCallback, {\n field: this.fieldName,\n path: this.apiPath\n });\n }\n } else {\n if (this.onMetadataEdited) {\n this.onMetadataEdited(tempKey, this.key, tempValue, saveCallback, errorCallback);\n } else {\n this.item.editMetadata(tempKey, this.key, tempValue, saveCallback, errorCallback, {\n field: this.fieldName,\n path: this.apiPath\n });\n }\n }\n },\n\n render: function () {\n this.$el.html(this.editTemplate({\n item: this.item,\n key: this.key,\n value: this.value,\n accessLevel: this.accessLevel,\n newDatum: this.newDatum,\n AccessType: AccessType\n }));\n this.$el.find('.g-widget-metadata-key-input').trigger('focus');\n return this;\n }\n});\n\nvar JsonMetadatumEditWidget = MetadatumEditWidget.extend({\n editTemplate: JsonMetadatumEditWidgetTemplate,\n\n getCurrentValue: function () {\n return this.editor.getText();\n },\n\n save: function (event) {\n try {\n MetadatumEditWidget.prototype.save.call(\n this, event, this.editor.get());\n } catch (err) {\n events.trigger('g:alert', {\n text: 'The field contains invalid JSON and can not be saved.',\n type: 'warning'\n });\n }\n },\n\n render: function () {\n MetadatumEditWidget.prototype.render.apply(this, arguments);\n\n const jsonEditorEl = this.$el.find('.g-json-editor');\n this.editor = new JSONEditor(jsonEditorEl[0], {\n mode: 'tree',\n modes: ['code', 'tree'],\n onError: () => {\n events.trigger('g:alert', {\n text: 'The field contains invalid JSON and can not be viewed in Tree Mode.',\n type: 'warning'\n });\n }\n });\n\n if (this.value !== undefined) {\n this.editor.setText(JSON.stringify(this.value));\n this.editor.expandAll();\n }\n return this;\n }\n});\n\n/**\n * This widget shows a list of metadata in a given item.\n */\nvar MetadataWidget = Panel.extend({\n events: _.extend(Panel.prototype.events, {\n 'click .g-add-json-metadata': function (event) {\n this.addMetadata(event, 'json');\n },\n 'click .g-add-simple-metadata': function (event) {\n this.addMetadata(event, 'simple');\n },\n 'click .h-panel-maximize': function (event) {\n console.log(this);\n this.expand();\n this.$('.s-panel-content').addClass('in');\n let panelElem = this.$el.closest('.s-panel');\n let 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 this.fieldName = settings.fieldName || 'meta';\n this.title = settings.title || 'Metadata';\n this.apiPath = settings.apiPath;\n this.accessLevel = settings.accessLevel;\n this.onMetadataEdited = settings.onMetadataEdited;\n // the event is created\n this.on('h-metadata-panel-update', (event) => {\n this.renderMetadataWidgetHeader(event);\n });\n },\n\n modes: {\n simple: {\n editor: function (args) {\n return new MetadatumEditWidget(args);\n },\n displayValue: function () {\n return this.value;\n },\n template: MetadatumViewTemplate\n },\n json: {\n editor: function (args) {\n if (args.value !== undefined) {\n args.value = JSON.parse(args.value);\n }\n return new JsonMetadatumEditWidget(args);\n },\n displayValue: function () {\n return JSON.stringify(this.value, null, 4);\n },\n validation: {\n from: {\n simple: [\n function (value) {\n try {\n JSON.parse(value);\n return true;\n } catch (e) {}\n\n return false;\n },\n 'The simple field is not valid JSON and can not be converted.'\n ]\n }\n },\n template: JsonMetadatumViewTemplate\n }\n },\n\n setItem: function (item) {\n this.item = item;\n this.item.on('g:changed', function () {\n this.render();\n }, this);\n this.render();\n return this;\n },\n\n // Does not support modal editing\n getModeFromValue: function (value) {\n return _.isString(value) ? 'simple' : 'json';\n },\n\n addMetadata: function (event, mode) {\n var EditWidget = this.modes[mode].editor;\n var value = (mode === 'json') ? '{}' : '';\n // expand the widget when adding new metadata\n this.$('.s-panel-content').collapse('show');\n var widget = new MetadatumWidget({\n className: 'g-widget-metadata-row editing',\n mode: mode,\n key: '',\n value: value,\n item: this.item,\n fieldName: this.fieldName,\n apiPath: this.apiPath,\n accessLevel: this.accessLevel,\n parentView: this,\n onMetadataEdited: this.onMetadataEdited,\n onMetadataAdded: this.onMetadataAdded\n });\n widget.$el.appendTo(this.$('.g-widget-metadata-container'));\n\n new EditWidget({\n item: this.item,\n key: '',\n value: value,\n fieldName: this.fieldName,\n apiPath: this.apiPath,\n accessLevel: this.accessLevel,\n newDatum: true,\n parentView: widget,\n onMetadataEdited: this.onMetadataEdited,\n onMetadataAdded: this.onMetadataAdded\n })\n .render()\n .$el.appendTo(widget.$el);\n },\n\n renderMetadataWidgetHeader: function () {\n // pervent automatically collapse the widget after rendering again\n this.render();\n },\n\n render: function () {\n if (this.item && this.item.id) {\n const imageId = this.item.id;\n const apiPath = `/item/${imageId}/metadata`;\n this.item.getAccessLevel((accessLevel) => {\n var metaDict = this.item.get(this.fieldName) || {};\n var metaKeys = Object.keys(metaDict);\n metaKeys.sort(localeSort);\n var firstKey = (metaKeys)[0];\n var firstValue = metaDict[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(metadataWidgetTemplate({\n item: this.item,\n title: this.title,\n firstKey: firstKey,\n firstValue: firstValue,\n accessLevel: this.item.attributes._accessLevel,\n AccessType: AccessType,\n // if never rendered, the jquery selector will be empty and won't be visible\n collapsed: !this.$('.s-panel-content').hasClass('in')\n }));\n // Append each metadatum\n _.each(metaKeys, function (metaKey) {\n this.$el.find('.g-widget-metadata-container').append(new MetadatumWidget({\n mode: this.getModeFromValue(metaDict[metaKey]),\n key: metaKey,\n value: metaDict[metaKey],\n accessLevel: this.item.attributes._accessLevel,\n parentView: this,\n fieldName: this.fieldName,\n apiPath: apiPath,\n onMetadataEdited: this.onMetadataEdited,\n onMetadataAdded: this.onMetadataAdded\n }).render().$el);\n }, this);\n });\n }\n return this;\n }\n});\n\nexport default MetadataWidget;\n\n\n\n// WEBPACK FOOTER //\n// ./~/@girder/histomicsui/panels/MetadataWidget.js","/* 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 let tiles = this._tiles;\n\n let 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', {style: {\n stroke: true,\n strokeColor: 'black',\n strokeWidth: 2,\n fill: false\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 let 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 let 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 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 let map = this.parentViewer.viewer;\n let mapsize = map.size();\n let lowerLeft = map.gcsToDisplay(this.viewer.displayToGcs(evt.lowerLeft));\n let upperRight = map.gcsToDisplay(this.viewer.displayToGcs(evt.upperRight));\n let scaling = {\n x: Math.abs((upperRight.x - lowerLeft.x) / mapsize.width),\n y: Math.abs((upperRight.y - lowerLeft.y) / mapsize.height)\n };\n let center = map.displayToGcs({\n x: (lowerLeft.x + upperRight.x) / 2,\n y: (lowerLeft.y + upperRight.y) / 2\n }, null);\n let 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 let 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 let 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// ./~/@girder/histomicsui/panels/OverviewWidget.js","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: min,\n max: max,\n maxNaturalMag: this._maxNaturalMag + 0.01,\n minMag: this.zoomToMagnification(this._minZoom),\n step: step,\n value: Math.log2(value) - Math.log2(this._maxMag),\n disabled: !this.renderer,\n buttons: 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.setMagnification(this.zoomToMagnification(this.renderer.zoom()));\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: maxZoom,\n maxMag: 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) {\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// ./~/@girder/histomicsui/panels/ZoomWidget.js","import AnnotationSelector from './AnnotationSelector';\nimport DrawWidget from './DrawWidget';\n\nexport {\n AnnotationSelector,\n DrawWidget\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/@girder/histomicsui/panels/index.js","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// ./~/@girder/histomicsui/routes.js","import { wrap } from '@girder/core/utilities/PluginUtils';\nimport HierarchyWidget from '@girder/core/views/widgets/HierarchyWidget';\nimport ItemCollection from '@girder/core/collections/ItemCollection';\n\nwrap(HierarchyWidget, 'initialize', function (initialize, settings) {\n settings = settings || {};\n if (settings.paginated === undefined) {\n settings.paginated = true;\n }\n return initialize.call(this, settings);\n});\n\nItemCollection.prototype.pageLimit = Math.max(250, ItemCollection.prototype.pageLimit);\n\n\n\n// WEBPACK FOOTER //\n// ./~/@girder/histomicsui/views/HierarchyWidget.js","import { cancelRestRequests, getApiRoot, staticRoot } from '@girder/core/rest';\nimport { getCurrentUser } from '@girder/core/auth';\nimport * as version from '@girder/core/version';\nimport GirderFrontPageView from '@girder/core/views/body/FrontPageView';\n\nimport frontPageTemplate from '../../templates/body/frontPage.pug';\nimport '../../stylesheets/body/frontPage.styl';\n\nvar FrontPageView = GirderFrontPageView.extend({\n events: {},\n\n initialize: function () {\n cancelRestRequests('fetch');\n this.render();\n },\n\n render: function () {\n this.$el.html(frontPageTemplate({\n apiRoot: getApiRoot(),\n staticRoot,\n version,\n currentUser: getCurrentUser()\n }));\n }\n});\n\nexport default FrontPageView;\n\n\n\n// WEBPACK FOOTER //\n// ./~/@girder/histomicsui/views/body/FrontPageView.js","import FrontPageView from './FrontPageView';\nimport ImageView from './ImageView';\nimport ConfigView from './ConfigView';\n\nexport {\n ImageView,\n FrontPageView,\n ConfigView\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/@girder/histomicsui/views/body/index.js","import View from './View';\nimport * as layout from './layout';\nimport * as body from './body';\nimport * as popover from './popover';\n\nexport {\n View,\n body,\n layout,\n popover\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/@girder/histomicsui/views/index.js","import $ from 'jquery';\n\nimport { wrap } from '@girder/core/utilities/PluginUtils';\nimport { AccessType } from '@girder/core/constants';\nimport { restRequest } from '@girder/core/rest';\nimport events from '@girder/core/events';\nimport ItemListWidget from '@girder/core/views/widgets/ItemListWidget';\n\nimport { HuiSettings } from './utils';\n\nimport '../stylesheets/views/itemList.styl';\n\nwrap(ItemListWidget, 'render', function (render) {\n const root = this;\n\n render.call(this);\n\n function adjustView(settings) {\n if (!settings || !settings['histomicsui.quarantine_folder']) {\n return;\n }\n root.$el.find('.g-item-list-entry').each(function () {\n var parent = $(this);\n parent.find('.g-hui-quarantine').remove();\n parent.append($('Q').attr({\n 'g-item-cid': $('[g-item-cid]', parent).attr('g-item-cid'),\n title: 'Move this item to the quarantine folder'\n }));\n });\n }\n\n function quarantine(event) {\n const target = $(event.currentTarget);\n const cid = target.attr('g-item-cid');\n const item = root.collection.get(cid);\n restRequest({\n type: 'PUT',\n url: 'histomicsui/quarantine/' + item.id,\n error: null\n }).done((resp) => {\n events.trigger('g:alert', {\n icon: 'ok',\n text: 'Item quarantined.',\n type: 'success',\n timeout: 4000\n });\n root.trigger('g:changed');\n if (root.parentView && root.parentView.setCurrentModel && root.parentView.parentModel) {\n root.parentView.setCurrentModel(root.parentView.parentModel, { setRoute: false });\n } else {\n target.closest('.g-item-list-entry').remove();\n }\n }).fail((resp) => {\n events.trigger('g:alert', {\n icon: 'cancel',\n text: 'Failed to quarantine item.',\n type: 'danger',\n timeout: 4000\n });\n });\n }\n\n if (this.accessLevel >= AccessType.WRITE) {\n HuiSettings.getSettings().then((settings) => {\n adjustView(settings);\n return settings;\n });\n this.events['click .g-hui-quarantine'] = quarantine;\n this.delegateEvents();\n }\n});\n\n\n\n// WEBPACK FOOTER //\n// ./~/@girder/histomicsui/views/itemList.js","import { wrap } from '@girder/core/utilities/PluginUtils';\nimport { restRequest } from '@girder/core/rest';\nimport events from '@girder/core/events';\nimport ItemView from '@girder/core/views/body/ItemView';\n\nimport { HuiSettings } from './utils';\n\nimport '../stylesheets/views/itemList.styl';\n\nwrap(ItemView, 'render', function (render) {\n function quarantine(event) {\n const item = this.model;\n restRequest({\n type: 'PUT',\n url: 'histomicsui/quarantine/' + item.id,\n error: null\n }).done((resp) => {\n events.trigger('g:alert', {\n icon: 'ok',\n text: 'Item quarantined.',\n type: 'success',\n timeout: 4000\n });\n delete this.model.parent;\n this.model.fetch({ success: () => this.render() });\n }).fail((resp) => {\n events.trigger('g:alert', {\n icon: 'cancel',\n text: 'Failed to quarantine item.',\n type: 'danger',\n timeout: 4000\n });\n });\n }\n this.once('g:rendered', function () {\n HuiSettings.getSettings().then((settings) => {\n const brandName = (settings['histomicsui.brand_name'] || '');\n const webrootPath = (settings['histomicsui.webroot_path'] || '');\n if (this.$el.find('.g-edit-item[role=\"menuitem\"]').length && !this.$el.find('.g-hui-quarantine-item[role=\"menuitem\"]').length) {\n this.$el.find('.g-edit-item[role=\"menuitem\"]').parent('li').after(\n '
  • QQuarantine item
  • '\n );\n }\n if (this.$el.find('.g-item-actions-menu').length && !this.$el.find('.g-hui-open-item[role=\"menuitem\"]').length &&\n this.model.attributes.largeImage) {\n this.$el.find('.g-item-actions-menu').prepend(\n `
  • \n \n Open in ${brandName}\n \n
  • `\n );\n }\n this.events['click .g-hui-quarantine-item'] = quarantine;\n this.delegateEvents();\n return settings;\n });\n });\n render.call(this);\n});\n\n\n\n// WEBPACK FOOTER //\n// ./~/@girder/histomicsui/views/itemPage.js","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// ./~/@girder/histomicsui/views/layout/HeaderAnalysesView.js","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: previousImageLink,\n previousImageName: this._previousName,\n nextImageLink: 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// ./~/@girder/histomicsui/views/layout/HeaderImageView.js","import HeaderView from './HeaderView';\nimport HeaderUserView from './HeaderUserView';\n\nexport {\n HeaderView,\n HeaderUserView\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/@girder/histomicsui/views/layout/index.js","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// ./~/@girder/histomicsui/views/popover/PixelmapContextMenu.js","import AnnotationContextMenu from './AnnotationContextMenu';\nimport AnnotationPopover from './AnnotationPopover';\n\nexport {\n AnnotationContextMenu,\n AnnotationPopover\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/@girder/histomicsui/views/popover/index.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\\u002Fbody\\u002FconfigView.pug\":\".g-config-breadcrumb-container\\np.g-hui-description\\n | Provides a toolkit for analyzing histology images.\\nform#g-hui-form(role=\\\"form\\\")\\n .form-group\\n label(for=\\\"g-hui-webroot-path\\\") Root Path\\n input#g-hui-webroot-path.form-control.input-sm(\\n type=\\\"text\\\", value=settings['histomicsui.webroot_path'] || '',\\n placeholder=`Default: ${defaults['histomicsui.webroot_path'] || 'histomics'}`,\\n title=\\\"The relative URL of the application.\\\")\\n .form-group\\n label(for=\\\"g-hui-brand-name\\\") Brand Name\\n input#g-hui-brand-name.form-control.input-sm(\\n type=\\\"text\\\", value=settings['histomicsui.brand_name'] || '',\\n placeholder=`Default: ${defaults['histomicsui.brand_name'] || 'none'}`,\\n title=\\\"The brand name of the application.\\\")\\n .form-group\\n label(for=\\\"g-hui-brand-color\\\") Brand Color\\n #g-hui-brand-color-container\\n input#g-hui-brand-color.form-control.input-sm(\\n type=\\\"color\\\", value=settings['histomicsui.brand_color'] || defaults['histomicsui.brand_color'],\\n title=\\\"The color of the application brand text.\\\")\\n button#g-hui-brand-default-color.form-control.input-sm(\\n type=\\\"button\\\", title=\\\"Default color\\\") default\\n .form-group\\n label(for=\\\"g-hui-banner-color\\\") Banner Color\\n #g-hui-banner-color-container\\n input#g-hui-banner-color.form-control.input-sm(\\n type=\\\"color\\\", value=settings['histomicsui.banner_color'] || defaults['histomicsui.banner_color'],\\n title=\\\"The banner color of the application.\\\")\\n button#g-hui-banner-default-color.form-control.input-sm(\\n type=\\\"button\\\", title=\\\"Default color\\\") default\\n .form-group\\n label\\n | Default styles for drawing annotations\\n input#g-hui-default-draw-styles.input-sm.form-control(\\n type=\\\"text\\\", value=settings['histomicsui.default_draw_styles'],\\n placeholder='A JSON object listing default annotation drawing styles.',\\n title='A list of dictionaries of drawing styles')\\n .form-group\\n label\\n | Panel layout\\n input#g-hui-panel-layout.input-sm.form-control(\\n type=\\\"text\\\", value=settings['histomicsui.panel_layout'],\\n placeholder='A JSON list of objects for each panel',\\n title='A JSON list of objects for each panel. Each panel has name (the short internal name, such as zoom, draw, or analysis), position (one of default, left, right, hidden), state (one of default, open, closed)')\\n .form-group\\n label(for=\\\"g-hui-quarantine-folder\\\") Quarantine Folder\\n p.g-hui-description\\n | If a quarantine folder is specified, users with write access will see a Quarantine button next to items. When clicked, this moves that item to the quarantine folder and adds metadata to record where it was originally. The quarantine folder should have restricted visibility.\\n .input-group.input-group-sm\\n input#g-hui-quarantine-folder.form-control.input-sm(\\n type=\\\"text\\\", value=settings['histomicsui.quarantine_folder'] || '',\\n title=\\\"A folder to store quarantined items.\\\")\\n .input-group-btn\\n button.g-open-browser.btn.btn-default(type=\\\"button\\\")\\n i.icon-folder-open\\n .form-group\\n label Keep annotation files after ingest\\n p.g-hui-image-description\\n | After an annotation (.anot) file is uploaded and ingested, it can be kept as a new item or removes.\\n .g-hui-delete-annotations-after-ingest-container\\n label.radio-inline\\n input.g-hui-keep-annotations-after-ingest(type=\\\"radio\\\", name=\\\"g-hui-delete-annotations-after-ingest\\\", checked=settings['histomicsui.delete_annotations_after_ingest'] !== true ? 'checked': undefined)\\n | Keep annotation items after ingest\\n label.radio-inline\\n input.g-hui-delete-annotations-after-ingest(type=\\\"radio\\\", name=\\\"g-hui-delete-annotations-after-ingest\\\", checked=settings['histomicsui.delete_annotations_after_ingest'] !== true ? undefined : 'checked')\\n | Remove annotation items after ingest\\n p#g-hui-error-message.g-validation-failed-message\\n.g-hui-buttons\\n button#g-hui-save.btn.btn-sm.btn-primary Save\\n button#g-hui-cancel.btn.btn-sm.btn-default Cancel\\n\"};\n;var locals_for_with = (locals || {});(function (defaults, settings) {;pug_debug_line = 1;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"g-config-breadcrumb-container\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"\\u003Cp class=\\\"g-hui-description\\\"\\u003E\";\n;pug_debug_line = 3;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"Provides a toolkit for analyzing histology images.\\u003C\\u002Fp\\u003E\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"\\u003Cform id=\\\"g-hui-form\\\" role=\\\"form\\\"\\u003E\";\n;pug_debug_line = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\";\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"\\u003Clabel for=\\\"g-hui-webroot-path\\\"\\u003E\";\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"Root Path\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" class=\\\"form-control input-sm\\\"\"+\" id=\\\"g-hui-webroot-path\\\" type=\\\"text\\\"\"+pug.attr(\"value\", settings['histomicsui.webroot_path'] || '', true, true)+pug.attr(\"placeholder\", `Default: ${defaults['histomicsui.webroot_path'] || 'histomics'}`, true, true)+\" title=\\\"The relative URL of the application.\\\"\") + \"\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\";\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"\\u003Clabel for=\\\"g-hui-brand-name\\\"\\u003E\";\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"Brand Name\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" class=\\\"form-control input-sm\\\"\"+\" id=\\\"g-hui-brand-name\\\" type=\\\"text\\\"\"+pug.attr(\"value\", settings['histomicsui.brand_name'] || '', true, true)+pug.attr(\"placeholder\", `Default: ${defaults['histomicsui.brand_name'] || 'none'}`, true, true)+\" title=\\\"The brand name of the application.\\\"\") + \"\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 17;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\";\n;pug_debug_line = 18;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"\\u003Clabel for=\\\"g-hui-brand-color\\\"\\u003E\";\n;pug_debug_line = 18;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"Brand Color\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 19;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"\\u003Cdiv id=\\\"g-hui-brand-color-container\\\"\\u003E\";\n;pug_debug_line = 20;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" class=\\\"form-control input-sm\\\"\"+\" id=\\\"g-hui-brand-color\\\" type=\\\"color\\\"\"+pug.attr(\"value\", settings['histomicsui.brand_color'] || defaults['histomicsui.brand_color'], true, true)+\" title=\\\"The color of the application brand text.\\\"\") + \"\\u003E\";\n;pug_debug_line = 23;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"form-control input-sm\\\" id=\\\"g-hui-brand-default-color\\\" type=\\\"button\\\" title=\\\"Default color\\\"\\u003E\";\n;pug_debug_line = 24;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"default\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 25;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\";\n;pug_debug_line = 26;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"\\u003Clabel for=\\\"g-hui-banner-color\\\"\\u003E\";\n;pug_debug_line = 26;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"Banner Color\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 27;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"\\u003Cdiv id=\\\"g-hui-banner-color-container\\\"\\u003E\";\n;pug_debug_line = 28;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" class=\\\"form-control input-sm\\\"\"+\" id=\\\"g-hui-banner-color\\\" type=\\\"color\\\"\"+pug.attr(\"value\", settings['histomicsui.banner_color'] || defaults['histomicsui.banner_color'], true, true)+\" title=\\\"The banner color of the application.\\\"\") + \"\\u003E\";\n;pug_debug_line = 31;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"form-control input-sm\\\" id=\\\"g-hui-banner-default-color\\\" type=\\\"button\\\" title=\\\"Default color\\\"\\u003E\";\n;pug_debug_line = 32;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"default\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 33;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\";\n;pug_debug_line = 34;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"\\u003Clabel\\u003E\";\n;pug_debug_line = 35;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"Default styles for drawing annotations\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 36;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" class=\\\"input-sm form-control\\\"\"+\" id=\\\"g-hui-default-draw-styles\\\" type=\\\"text\\\"\"+pug.attr(\"value\", settings['histomicsui.default_draw_styles'], true, true)+\" placeholder=\\\"A JSON object listing default annotation drawing styles.\\\" title=\\\"A list of dictionaries of drawing styles\\\"\") + \"\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 40;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\";\n;pug_debug_line = 41;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"\\u003Clabel\\u003E\";\n;pug_debug_line = 42;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"Panel layout\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 43;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" class=\\\"input-sm form-control\\\"\"+\" id=\\\"g-hui-panel-layout\\\" type=\\\"text\\\"\"+pug.attr(\"value\", settings['histomicsui.panel_layout'], true, true)+\" placeholder=\\\"A JSON list of objects for each panel\\\" title=\\\"A JSON list of objects for each panel. Each panel has name (the short internal name, such as zoom, draw, or analysis), position (one of default, left, right, hidden), state (one of default, open, closed)\\\"\") + \"\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 47;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\";\n;pug_debug_line = 48;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"\\u003Clabel for=\\\"g-hui-quarantine-folder\\\"\\u003E\";\n;pug_debug_line = 48;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"Quarantine Folder\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 49;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"\\u003Cp class=\\\"g-hui-description\\\"\\u003E\";\n;pug_debug_line = 50;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"If a quarantine folder is specified, users with write access will see a Quarantine button next to items. When clicked, this moves that item to the quarantine folder and adds metadata to record where it was originally. The quarantine folder should have restricted visibility.\\u003C\\u002Fp\\u003E\";\n;pug_debug_line = 51;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"input-group input-group-sm\\\"\\u003E\";\n;pug_debug_line = 52;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" class=\\\"form-control input-sm\\\"\"+\" id=\\\"g-hui-quarantine-folder\\\" type=\\\"text\\\"\"+pug.attr(\"value\", settings['histomicsui.quarantine_folder'] || '', true, true)+\" title=\\\"A folder to store quarantined items.\\\"\") + \"\\u003E\";\n;pug_debug_line = 55;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"input-group-btn\\\"\\u003E\";\n;pug_debug_line = 56;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"g-open-browser btn btn-default\\\" type=\\\"button\\\"\\u003E\";\n;pug_debug_line = 57;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-folder-open\\\"\\u003E\\u003C\\u002Fi\\u003E\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 58;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\";\n;pug_debug_line = 59;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"\\u003Clabel\\u003E\";\n;pug_debug_line = 59;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"Keep annotation files after ingest\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 60;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"\\u003Cp class=\\\"g-hui-image-description\\\"\\u003E\";\n;pug_debug_line = 61;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"After an annotation (.anot) file is uploaded and ingested, it can be kept as a new item or removes.\\u003C\\u002Fp\\u003E\";\n;pug_debug_line = 62;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"g-hui-delete-annotations-after-ingest-container\\\"\\u003E\";\n;pug_debug_line = 63;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"\\u003Clabel class=\\\"radio-inline\\\"\\u003E\";\n;pug_debug_line = 64;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" class=\\\"g-hui-keep-annotations-after-ingest\\\"\"+\" type=\\\"radio\\\" name=\\\"g-hui-delete-annotations-after-ingest\\\"\"+pug.attr(\"checked\", settings['histomicsui.delete_annotations_after_ingest'] !== true ? 'checked': undefined, true, true)) + \"\\u003E\";\n;pug_debug_line = 65;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"Keep annotation items after ingest\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 66;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"\\u003Clabel class=\\\"radio-inline\\\"\\u003E\";\n;pug_debug_line = 67;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" class=\\\"g-hui-delete-annotations-after-ingest\\\"\"+\" type=\\\"radio\\\" name=\\\"g-hui-delete-annotations-after-ingest\\\"\"+pug.attr(\"checked\", settings['histomicsui.delete_annotations_after_ingest'] !== true ? undefined : 'checked', true, true)) + \"\\u003E\";\n;pug_debug_line = 68;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"Remove annotation items after ingest\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 69;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"\\u003Cp class=\\\"g-validation-failed-message\\\" id=\\\"g-hui-error-message\\\"\\u003E\\u003C\\u002Fp\\u003E\\u003C\\u002Fform\\u003E\";\n;pug_debug_line = 70;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"g-hui-buttons\\\"\\u003E\";\n;pug_debug_line = 71;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"btn btn-sm btn-primary\\\" id=\\\"g-hui-save\\\"\\u003E\";\n;pug_debug_line = 71;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"Save\\u003C\\u002Fbutton\\u003E\";\n;pug_debug_line = 72;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"btn btn-sm btn-default\\\" id=\\\"g-hui-cancel\\\"\\u003E\";\n;pug_debug_line = 72;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FconfigView.pug\";\npug_html = pug_html + \"Cancel\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"defaults\" in locals_for_with?locals_for_with.defaults:typeof defaults!==\"undefined\"?defaults:undefined,\"settings\" in locals_for_with?locals_for_with.settings:typeof settings!==\"undefined\"?settings: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// ./~/@girder/histomicsui/templates/body/configView.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\\u002Fbody\\u002FfrontPage.pug\":\".h-body-nopad\\n\"};\n;pug_debug_line = 1;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002FfrontPage.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-body-nopad\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";} 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// ./~/@girder/histomicsui/templates/body/frontPage.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\\u002Fbody\\u002Fimage.pug\":\".h-image-body(tabindex=-1)\\n .h-image-view-body\\n .h-image-view-container\\n .h-image-coordinates-container.hidden\\n span.icon-location\\n span.h-image-coordinates 0, 0\\n .h-control-panel-container.s-panel-group.h-panel-group-left\\n #h-analysis-panel\\n #h-annotation-selector-container.s-panel-group.h-panel-group-right\\n #h-overview-panel.h-overview-widget.s-panel\\n #h-zoom-panel.h-zoom-widget.s-panel\\n #h-metadata-panel.h-metadata-widget.s-panel\\n #h-metadataplot-panel.h-metadata-plot.s-panel\\n #h-annotation-panel.h-annotation-selector.s-panel\\n #h-draw-panel.h-draw-widget.s-panel.hidden\\n #h-annotation-popover-container\\n #h-annotation-context-menu.hidden\\n #h-pixelmap-context-menu.hidden\\n\"};\n;pug_debug_line = 1;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002Fimage.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-image-body\\\" tabindex=\\\"-1\\\"\\u003E\";\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002Fimage.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-image-view-body\\\"\\u003E\";\n;pug_debug_line = 3;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002Fimage.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-image-view-container\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002Fimage.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-image-coordinates-container hidden\\\"\\u003E\";\n;pug_debug_line = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002Fimage.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-location\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002Fimage.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"h-image-coordinates\\\"\\u003E\";\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002Fimage.pug\";\npug_html = pug_html + \"0, 0\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002Fimage.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-control-panel-container s-panel-group h-panel-group-left\\\"\\u003E\";\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002Fimage.pug\";\npug_html = pug_html + \"\\u003Cdiv id=\\\"h-analysis-panel\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 9;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002Fimage.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"s-panel-group h-panel-group-right\\\" id=\\\"h-annotation-selector-container\\\"\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002Fimage.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-overview-widget s-panel\\\" id=\\\"h-overview-panel\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002Fimage.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-zoom-widget s-panel\\\" id=\\\"h-zoom-panel\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002Fimage.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-metadata-widget s-panel\\\" id=\\\"h-metadata-panel\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002Fimage.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-metadata-plot s-panel\\\" id=\\\"h-metadataplot-panel\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002Fimage.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-annotation-selector s-panel\\\" id=\\\"h-annotation-panel\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002Fimage.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-draw-widget s-panel hidden\\\" id=\\\"h-draw-panel\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 16;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002Fimage.pug\";\npug_html = pug_html + \"\\u003Cdiv id=\\\"h-annotation-popover-container\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 17;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002Fimage.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"hidden\\\" id=\\\"h-annotation-context-menu\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 18;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fbody\\u002Fimage.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"hidden\\\" id=\\\"h-pixelmap-context-menu\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";} 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// ./~/@girder/histomicsui/templates/body/image.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\\u002Fdialogs\\u002FannotatedImageList.pug\":\"if !items.length\\n if inFetch\\n p Requesting annotated image list...\\n else\\n p Sorry, no annotated images were found.\\nelse\\n .list-group\\n each item in items\\n a.list-group-item.h-annotated-image(data-id=item._id, data-toggle='tooltip', title=paths[item._id])\\n .media\\n .media-left.media-middle\\n img(src=`api\\u002Fv1\\u002Fitem\\u002F${item._id}\\u002Ftiles\\u002Fthumbnail?height=64&width=64`)\\n .media-body\\n h4.media-heading #{item.name}\\n p #{item.description}\\n\"};\n;var locals_for_with = (locals || {});(function (inFetch, items, paths) {;pug_debug_line = 1;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FannotatedImageList.pug\";\nif (!items.length) {\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FannotatedImageList.pug\";\nif (inFetch) {\n;pug_debug_line = 3;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FannotatedImageList.pug\";\npug_html = pug_html + \"\\u003Cp\\u003E\";\n;pug_debug_line = 3;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FannotatedImageList.pug\";\npug_html = pug_html + \"Requesting annotated image list...\\u003C\\u002Fp\\u003E\";\n}\nelse {\n;pug_debug_line = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FannotatedImageList.pug\";\npug_html = pug_html + \"\\u003Cp\\u003E\";\n;pug_debug_line = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FannotatedImageList.pug\";\npug_html = pug_html + \"Sorry, no annotated images were found.\\u003C\\u002Fp\\u003E\";\n}\n}\nelse {\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FannotatedImageList.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"list-group\\\"\\u003E\";\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FannotatedImageList.pug\";\n// iterate items\n;(function(){\n var $$obj = items;\n if ('number' == typeof $$obj.length) {\n for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) {\n var item = $$obj[pug_index0];\n;pug_debug_line = 9;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FannotatedImageList.pug\";\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"list-group-item h-annotated-image\\\"\"+pug.attr(\"data-id\", item._id, true, true)+\" data-toggle=\\\"tooltip\\\"\"+pug.attr(\"title\", paths[item._id], true, true)) + \"\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FannotatedImageList.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"media\\\"\\u003E\";\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FannotatedImageList.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"media-left media-middle\\\"\\u003E\";\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FannotatedImageList.pug\";\npug_html = pug_html + \"\\u003Cimg\" + (pug.attr(\"src\", `api/v1/item/${item._id}/tiles/thumbnail?height=64&width=64`, 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\\u002FannotatedImageList.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"media-body\\\"\\u003E\";\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FannotatedImageList.pug\";\npug_html = pug_html + \"\\u003Ch4 class=\\\"media-heading\\\"\\u003E\";\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FannotatedImageList.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = item.name) ? \"\" : pug_interp)) + \"\\u003C\\u002Fh4\\u003E\";\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FannotatedImageList.pug\";\npug_html = pug_html + \"\\u003Cp\\u003E\";\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FannotatedImageList.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = item.description) ? \"\" : pug_interp)) + \"\\u003C\\u002Fp\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fa\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var pug_index0 in $$obj) {\n $$l++;\n var item = $$obj[pug_index0];\n;pug_debug_line = 9;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FannotatedImageList.pug\";\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"list-group-item h-annotated-image\\\"\"+pug.attr(\"data-id\", item._id, true, true)+\" data-toggle=\\\"tooltip\\\"\"+pug.attr(\"title\", paths[item._id], true, true)) + \"\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FannotatedImageList.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"media\\\"\\u003E\";\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FannotatedImageList.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"media-left media-middle\\\"\\u003E\";\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FannotatedImageList.pug\";\npug_html = pug_html + \"\\u003Cimg\" + (pug.attr(\"src\", `api/v1/item/${item._id}/tiles/thumbnail?height=64&width=64`, 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\\u002FannotatedImageList.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"media-body\\\"\\u003E\";\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FannotatedImageList.pug\";\npug_html = pug_html + \"\\u003Ch4 class=\\\"media-heading\\\"\\u003E\";\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FannotatedImageList.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = item.name) ? \"\" : pug_interp)) + \"\\u003C\\u002Fh4\\u003E\";\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FannotatedImageList.pug\";\npug_html = pug_html + \"\\u003Cp\\u003E\";\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FannotatedImageList.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = item.description) ? \"\" : pug_interp)) + \"\\u003C\\u002Fp\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fa\\u003E\";\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";\n}}.call(this,\"inFetch\" in locals_for_with?locals_for_with.inFetch:typeof inFetch!==\"undefined\"?inFetch:undefined,\"items\" in locals_for_with?locals_for_with.items:typeof items!==\"undefined\"?items:undefined,\"paths\" in locals_for_with?locals_for_with.paths:typeof paths!==\"undefined\"?paths: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// ./~/@girder/histomicsui/templates/dialogs/annotatedImageList.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\\u002Fdialogs\\u002FconfirmDialog.pug\":\".modal-dialog(role='document')\\n .modal-content\\n .modal-header\\n button.close(type='button', data-dismiss='modal', aria-label='Close')\\n span(aria-hidden='true') ×\\n h4.modal-title\\n = title\\n .modal-body\\n p\\n = message\\n .modal-footer\\n button.btn.btn-default(type='button', data-dismiss='modal') Cancel\\n button.btn.btn-danger.h-submit(type='submit')\\n = submitButton\\n\"};\n;var locals_for_with = (locals || {});(function (message, submitButton, title) {;pug_debug_line = 1;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FconfirmDialog.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\\u002FconfirmDialog.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\\u002FconfirmDialog.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"modal-header\\\"\\u003E\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FconfirmDialog.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"close\\\" type=\\\"button\\\" data-dismiss=\\\"modal\\\" aria-label=\\\"Close\\\"\\u003E\";\n;pug_debug_line = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FconfirmDialog.pug\";\npug_html = pug_html + \"\\u003Cspan aria-hidden=\\\"true\\\"\\u003E\";\n;pug_debug_line = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FconfirmDialog.pug\";\npug_html = pug_html + \"×\\u003C\\u002Fspan\\u003E\\u003C\\u002Fbutton\\u003E\";\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FconfirmDialog.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\\u002FconfirmDialog.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = title) ? \"\" : pug_interp)) + \"\\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\\u002FconfirmDialog.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\\u002FconfirmDialog.pug\";\npug_html = pug_html + \"\\u003Cp\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FconfirmDialog.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = message) ? \"\" : pug_interp)) + \"\\u003C\\u002Fp\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FconfirmDialog.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"modal-footer\\\"\\u003E\";\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FconfirmDialog.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"btn btn-default\\\" type=\\\"button\\\" data-dismiss=\\\"modal\\\"\\u003E\";\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FconfirmDialog.pug\";\npug_html = pug_html + \"Cancel\\u003C\\u002Fbutton\\u003E\";\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FconfirmDialog.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"btn btn-danger h-submit\\\" type=\\\"submit\\\"\\u003E\";\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FconfirmDialog.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = submitButton) ? \"\" : pug_interp)) + \"\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"message\" in locals_for_with?locals_for_with.message:typeof message!==\"undefined\"?message:undefined,\"submitButton\" in locals_for_with?locals_for_with.submitButton:typeof submitButton!==\"undefined\"?submitButton: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// ./~/@girder/histomicsui/templates/dialogs/confirmDialog.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\\u002Fdialogs\\u002FeditElement.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 Edit annotation\\n .modal-body\\n - element.label = element.label || {};\\n .form-group\\n label(for='h-group-name') Group Name\\n input#h-group-name.input-sm.form-control(\\n type='text', placeholder='Enter an optional group name for the element', value=element.group)\\n .form-group\\n label(for='h-element-label') Label\\n input#h-element-label.input-sm.form-control(\\n type='text', placeholder='Enter an optional label for the element', value=element.label.value)\\n .form-group\\n label(for='h-element-line-width') Line width\\n input#h-element-line-width.input-sm.form-control(\\n type='number', min=0, step=0.1, value=element.lineWidth)\\n .form-group\\n label(for='h-element-line-color') Line color\\n .input-group.h-colorpicker\\n input#h-element-line-color.input-sm.form-control(\\n type='text', value=element.lineColor)\\n span.input-group-addon\\n i\\n .form-group\\n label(for='h-element-fill-color') Fill color\\n .input-group.h-colorpicker\\n input#h-element-fill-color.input-sm.form-control(\\n type='text', value=element.fillColor)\\n span.input-group-addon\\n i\\n .g-validation-failed-message.hidden\\n .modal-footer\\n button.btn.btn-default(type='button', data-dismiss='modal') Cancel\\n button.btn.btn-primary.h-submit(type='submit') Save\\n\"};\n;var locals_for_with = (locals || {});(function (element) {;pug_debug_line = 1;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditElement.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\\u002FeditElement.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\\u002FeditElement.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\\u002FeditElement.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\\u002FeditElement.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\\u002FeditElement.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\\u002FeditElement.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\\u002FeditElement.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\\u002FeditElement.pug\";\npug_html = pug_html + \"Edit annotation\\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\\u002FeditElement.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\\u002FeditElement.pug\";\nelement.label = element.label || {};\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditElement.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\";\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditElement.pug\";\npug_html = pug_html + \"\\u003Clabel for=\\\"h-group-name\\\"\\u003E\";\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditElement.pug\";\npug_html = pug_html + \"Group Name\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditElement.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" class=\\\"input-sm form-control\\\"\"+\" id=\\\"h-group-name\\\" type=\\\"text\\\" placeholder=\\\"Enter an optional group name for the element\\\"\"+pug.attr(\"value\", element.group, true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditElement.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\";\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditElement.pug\";\npug_html = pug_html + \"\\u003Clabel for=\\\"h-element-label\\\"\\u003E\";\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditElement.pug\";\npug_html = pug_html + \"Label\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 16;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditElement.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" class=\\\"input-sm form-control\\\"\"+\" id=\\\"h-element-label\\\" type=\\\"text\\\" placeholder=\\\"Enter an optional label for the element\\\"\"+pug.attr(\"value\", element.label.value, true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 18;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditElement.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\";\n;pug_debug_line = 19;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditElement.pug\";\npug_html = pug_html + \"\\u003Clabel for=\\\"h-element-line-width\\\"\\u003E\";\n;pug_debug_line = 19;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditElement.pug\";\npug_html = pug_html + \"Line width\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 20;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditElement.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" class=\\\"input-sm form-control\\\"\"+\" id=\\\"h-element-line-width\\\" type=\\\"number\\\" min=\\\"0\\\" step=\\\"0.1\\\"\"+pug.attr(\"value\", element.lineWidth, true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 22;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditElement.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\";\n;pug_debug_line = 23;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditElement.pug\";\npug_html = pug_html + \"\\u003Clabel for=\\\"h-element-line-color\\\"\\u003E\";\n;pug_debug_line = 23;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditElement.pug\";\npug_html = pug_html + \"Line color\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 24;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditElement.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"input-group h-colorpicker\\\"\\u003E\";\n;pug_debug_line = 25;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditElement.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" class=\\\"input-sm form-control\\\"\"+\" id=\\\"h-element-line-color\\\" type=\\\"text\\\"\"+pug.attr(\"value\", element.lineColor, true, true)) + \"\\u003E\";\n;pug_debug_line = 27;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditElement.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"input-group-addon\\\"\\u003E\";\n;pug_debug_line = 28;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditElement.pug\";\npug_html = pug_html + \"\\u003Ci\\u003E\\u003C\\u002Fi\\u003E\\u003C\\u002Fspan\\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\\u002FeditElement.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\";\n;pug_debug_line = 30;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditElement.pug\";\npug_html = pug_html + \"\\u003Clabel for=\\\"h-element-fill-color\\\"\\u003E\";\n;pug_debug_line = 30;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditElement.pug\";\npug_html = pug_html + \"Fill color\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 31;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditElement.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"input-group h-colorpicker\\\"\\u003E\";\n;pug_debug_line = 32;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditElement.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" class=\\\"input-sm form-control\\\"\"+\" id=\\\"h-element-fill-color\\\" type=\\\"text\\\"\"+pug.attr(\"value\", element.fillColor, true, true)) + \"\\u003E\";\n;pug_debug_line = 34;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditElement.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"input-group-addon\\\"\\u003E\";\n;pug_debug_line = 35;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditElement.pug\";\npug_html = pug_html + \"\\u003Ci\\u003E\\u003C\\u002Fi\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 36;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditElement.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"g-validation-failed-message hidden\\\"\\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\\u002FeditElement.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"modal-footer\\\"\\u003E\";\n;pug_debug_line = 38;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditElement.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"btn btn-default\\\" type=\\\"button\\\" data-dismiss=\\\"modal\\\"\\u003E\";\n;pug_debug_line = 38;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditElement.pug\";\npug_html = pug_html + \"Cancel\\u003C\\u002Fbutton\\u003E\";\n;pug_debug_line = 39;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditElement.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"btn btn-primary h-submit\\\" type=\\\"submit\\\"\\u003E\";\n;pug_debug_line = 39;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditElement.pug\";\npug_html = pug_html + \"Save\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fform\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"element\" in locals_for_with?locals_for_with.element:typeof element!==\"undefined\"?element: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// ./~/@girder/histomicsui/templates/dialogs/editElement.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\\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// ./~/@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\\u002Fdialogs\\u002FeditStyleGroups.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 Edit annotation styles\\n .modal-body\\n - var label = model.get('label') || {};\\n .form-group\\n label(for='h-group-name') Name\\n if newStyle\\n .input-group\\n input.form-control.input-sm.h-new-group-name(type='text')\\n .input-group-btn\\n button.btn.btn-default.btn-sm.h-save-new-style\\n span.icon-ok\\n else\\n .input-group\\n select.form-control.h-group-name\\n each style in collection.sortBy('id')\\n - var selected = model.id === style.id\\n option(value=style.get('id'), selected=selected)\\n = style.get('id')\\n .input-group-btn\\n if collection.length \\u003E 1\\n button.btn.btn-default.h-delete-style\\n span.icon-minus(data-toggle='tooltip', title='Delete the listed style')\\n button.btn.btn-default.h-create-new-style\\n span.icon-plus(data-toggle='tooltip', title='Create a new style')\\n .form-group\\n label(for='h-element-label') Label\\n input#h-element-label.h-style-def.input-sm.form-control(\\n type='text', placeholder='Enter an optional label applied to all elements', value=label.value)\\n .form-group\\n label(for='h-element-line-width') Line width\\n input#h-element-line-width.h-style-def.input-sm.form-control(\\n type='number', min=0, step=0.1, value=model.get('lineWidth'))\\n .form-group\\n label(for='h-element-line-color') Line color\\n .input-group.h-colorpicker\\n input#h-element-line-color.input-sm.form-control(\\n type='text', value=model.get('lineColor'))\\n span.input-group-addon\\n i\\n .form-group\\n label(for='h-element-fill-color') Fill color\\n .input-group.h-colorpicker\\n input#h-element-fill-color.input-sm.form-control(\\n type='text', value=model.get('fillColor'))\\n span.input-group-addon\\n i\\n .g-validation-failed-message.hidden\\n .modal-footer\\n button#h-reset-defaults.btn.btn-sm.btn-default.h-btn-left(type='button') Reset to Defaults\\n if user.get && user.get('admin')\\n button#h-set-defaults.btn.btn-sm.btn-default.h-btn-left(type='button') Save as Defaults\\n button#h-export.btn.btn-sm.btn-default.h-btn-left(type='button') Export\\n a#h-export-link(download='hui_groups.json')\\n button#h-import.btn.btn-sm.btn-default.h-btn-left(type='button', title='Completely replace all styles if checked; add to and modify existing styles if unchecked') Import\\n input#h-import-replace(type='checkbox')\\n input#h-import-groups(type='file', name='import-groups')\\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 (collection, model, newStyle, user) {;pug_debug_line = 1;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.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\\u002FeditStyleGroups.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\\u002FeditStyleGroups.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\\u002FeditStyleGroups.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\\u002FeditStyleGroups.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\\u002FeditStyleGroups.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\\u002FeditStyleGroups.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\\u002FeditStyleGroups.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\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"Edit annotation styles\\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\\u002FeditStyleGroups.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\\u002FeditStyleGroups.pug\";\nvar label = model.get('label') || {};\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\";\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"\\u003Clabel for=\\\"h-group-name\\\"\\u003E\";\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"Name\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\nif (newStyle) {\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"input-group\\\"\\u003E\";\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"\\u003Cinput class=\\\"form-control input-sm h-new-group-name\\\" type=\\\"text\\\"\\u003E\";\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"input-group-btn\\\"\\u003E\";\n;pug_debug_line = 16;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"btn btn-default btn-sm h-save-new-style\\\"\\u003E\";\n;pug_debug_line = 17;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-ok\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\nelse {\n;pug_debug_line = 19;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"input-group\\\"\\u003E\";\n;pug_debug_line = 20;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"\\u003Cselect class=\\\"form-control h-group-name\\\"\\u003E\";\n;pug_debug_line = 21;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\n// iterate collection.sortBy('id')\n;(function(){\n var $$obj = collection.sortBy('id');\n if ('number' == typeof $$obj.length) {\n for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) {\n var style = $$obj[pug_index0];\n;pug_debug_line = 22;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\nvar selected = model.id === style.id\n;pug_debug_line = 23;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"\\u003Coption\" + (pug.attr(\"value\", style.get('id'), true, true)+pug.attr(\"selected\", selected, true, true)) + \"\\u003E\";\n;pug_debug_line = 24;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = style.get('id')) ? \"\" : pug_interp)) + \"\\u003C\\u002Foption\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var pug_index0 in $$obj) {\n $$l++;\n var style = $$obj[pug_index0];\n;pug_debug_line = 22;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\nvar selected = model.id === style.id\n;pug_debug_line = 23;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"\\u003Coption\" + (pug.attr(\"value\", style.get('id'), true, true)+pug.attr(\"selected\", selected, true, true)) + \"\\u003E\";\n;pug_debug_line = 24;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = style.get('id')) ? \"\" : pug_interp)) + \"\\u003C\\u002Foption\\u003E\";\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Fselect\\u003E\";\n;pug_debug_line = 25;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"input-group-btn\\\"\\u003E\";\n;pug_debug_line = 26;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\nif (collection.length > 1) {\n;pug_debug_line = 27;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"btn btn-default h-delete-style\\\"\\u003E\";\n;pug_debug_line = 28;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-minus\\\" data-toggle=\\\"tooltip\\\" title=\\\"Delete the listed style\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fbutton\\u003E\";\n}\n;pug_debug_line = 29;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"btn btn-default h-create-new-style\\\"\\u003E\";\n;pug_debug_line = 30;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-plus\\\" data-toggle=\\\"tooltip\\\" title=\\\"Create a new style\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 31;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.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\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"\\u003Clabel for=\\\"h-element-label\\\"\\u003E\";\n;pug_debug_line = 32;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"Label\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 33;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" class=\\\"h-style-def input-sm form-control\\\"\"+\" id=\\\"h-element-label\\\" type=\\\"text\\\" placeholder=\\\"Enter an optional label applied to all elements\\\"\"+pug.attr(\"value\", label.value, true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 35;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\";\n;pug_debug_line = 36;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"\\u003Clabel for=\\\"h-element-line-width\\\"\\u003E\";\n;pug_debug_line = 36;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"Line width\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 37;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" class=\\\"h-style-def input-sm form-control\\\"\"+\" id=\\\"h-element-line-width\\\" type=\\\"number\\\" min=\\\"0\\\" step=\\\"0.1\\\"\"+pug.attr(\"value\", model.get('lineWidth'), true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 39;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\";\n;pug_debug_line = 40;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"\\u003Clabel for=\\\"h-element-line-color\\\"\\u003E\";\n;pug_debug_line = 40;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"Line color\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 41;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"input-group h-colorpicker\\\"\\u003E\";\n;pug_debug_line = 42;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" class=\\\"input-sm form-control\\\"\"+\" id=\\\"h-element-line-color\\\" type=\\\"text\\\"\"+pug.attr(\"value\", model.get('lineColor'), true, true)) + \"\\u003E\";\n;pug_debug_line = 44;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"input-group-addon\\\"\\u003E\";\n;pug_debug_line = 45;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"\\u003Ci\\u003E\\u003C\\u002Fi\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 46;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\";\n;pug_debug_line = 47;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"\\u003Clabel for=\\\"h-element-fill-color\\\"\\u003E\";\n;pug_debug_line = 47;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"Fill color\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 48;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"input-group h-colorpicker\\\"\\u003E\";\n;pug_debug_line = 49;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" class=\\\"input-sm form-control\\\"\"+\" id=\\\"h-element-fill-color\\\" type=\\\"text\\\"\"+pug.attr(\"value\", model.get('fillColor'), true, true)) + \"\\u003E\";\n;pug_debug_line = 51;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"input-group-addon\\\"\\u003E\";\n;pug_debug_line = 52;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"\\u003Ci\\u003E\\u003C\\u002Fi\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 53;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"g-validation-failed-message hidden\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 54;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"modal-footer\\\"\\u003E\";\n;pug_debug_line = 55;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"btn btn-sm btn-default h-btn-left\\\" id=\\\"h-reset-defaults\\\" type=\\\"button\\\"\\u003E\";\n;pug_debug_line = 55;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"Reset to Defaults\\u003C\\u002Fbutton\\u003E\";\n;pug_debug_line = 56;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\nif (user.get && user.get('admin')) {\n;pug_debug_line = 57;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"btn btn-sm btn-default h-btn-left\\\" id=\\\"h-set-defaults\\\" type=\\\"button\\\"\\u003E\";\n;pug_debug_line = 57;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"Save as Defaults\\u003C\\u002Fbutton\\u003E\";\n}\n;pug_debug_line = 58;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"btn btn-sm btn-default h-btn-left\\\" id=\\\"h-export\\\" type=\\\"button\\\"\\u003E\";\n;pug_debug_line = 58;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"Export\";\n;pug_debug_line = 59;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"\\u003Ca id=\\\"h-export-link\\\" download=\\\"hui_groups.json\\\"\\u003E\\u003C\\u002Fa\\u003E\\u003C\\u002Fbutton\\u003E\";\n;pug_debug_line = 60;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"btn btn-sm btn-default h-btn-left\\\" id=\\\"h-import\\\" type=\\\"button\\\" title=\\\"Completely replace all styles if checked; add to and modify existing styles if unchecked\\\"\\u003E\";\n;pug_debug_line = 60;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"Import\";\n;pug_debug_line = 61;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"\\u003Cinput id=\\\"h-import-replace\\\" type=\\\"checkbox\\\"\\u003E\\u003C\\u002Fbutton\\u003E\";\n;pug_debug_line = 62;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"\\u003Cinput id=\\\"h-import-groups\\\" type=\\\"file\\\" name=\\\"import-groups\\\"\\u003E\";\n;pug_debug_line = 63;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"btn btn-default h-cancel\\\" type=\\\"button\\\" data-dismiss=\\\"modal\\\"\\u003E\";\n;pug_debug_line = 63;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"Cancel\\u003C\\u002Fbutton\\u003E\";\n;pug_debug_line = 64;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"btn btn-primary h-submit\\\" type=\\\"submit\\\"\\u003E\";\n;pug_debug_line = 64;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditStyleGroups.pug\";\npug_html = pug_html + \"Save\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fform\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"collection\" in locals_for_with?locals_for_with.collection:typeof collection!==\"undefined\"?collection:undefined,\"model\" in locals_for_with?locals_for_with.model:typeof model!==\"undefined\"?model:undefined,\"newStyle\" in locals_for_with?locals_for_with.newStyle:typeof newStyle!==\"undefined\"?newStyle:undefined,\"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// ./~/@girder/histomicsui/templates/dialogs/editStyleGroups.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\\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 -\\n var seriesList = [\\n {key: 'x', label: 'x-axis', number: true},\\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}]\\n for series in seriesList\\n .form-group\\n label(for='h-plot-series-' + series.key) #{series.label}\\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')\\n - var selected = plotConfig[series.key] === opt.sort\\n option(value=opt.sort, selected=selected) #{opt.root + ' - ' + opt.key}\\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\";\nvar seriesList = [\n {key: 'x', label: 'x-axis', number: true},\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}]\n;pug_debug_line = 16;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_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) {\n var series = $$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 + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\";\n;pug_debug_line = 18;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 = 18;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 = 19;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 = 20;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\nif (!series.number) {\n;pug_debug_line = 21;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 = 21;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 = 22;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_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) {\n var opt = $$obj[pug_index1];\n;pug_debug_line = 23;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')) {\n;pug_debug_line = 24;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\nvar selected = plotConfig[series.key] === opt.sort\n;pug_debug_line = 25;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.sort, true, true)+pug.attr(\"selected\", selected, true, true)) + \"\\u003E\";\n;pug_debug_line = 25;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.root + ' - ' + opt.key) ? \"\" : pug_interp)) + \"\\u003C\\u002Foption\\u003E\";\n}\n }\n } else {\n var $$l = 0;\n for (var pug_index1 in $$obj) {\n $$l++;\n var opt = $$obj[pug_index1];\n;pug_debug_line = 23;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')) {\n;pug_debug_line = 24;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\nvar selected = plotConfig[series.key] === opt.sort\n;pug_debug_line = 25;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.sort, true, true)+pug.attr(\"selected\", selected, true, true)) + \"\\u003E\";\n;pug_debug_line = 25;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.root + ' - ' + opt.key) ? \"\" : 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_index0 in $$obj) {\n $$l++;\n var series = $$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 + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\";\n;pug_debug_line = 18;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 = 18;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 = 19;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 = 20;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\nif (!series.number) {\n;pug_debug_line = 21;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 = 21;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 = 22;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 = 23;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')) {\n;pug_debug_line = 24;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\nvar selected = plotConfig[series.key] === opt.sort\n;pug_debug_line = 25;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.sort, true, true)+pug.attr(\"selected\", selected, true, true)) + \"\\u003E\";\n;pug_debug_line = 25;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.root + ' - ' + opt.key) ? \"\" : 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 = 23;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')) {\n;pug_debug_line = 24;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\nvar selected = plotConfig[series.key] === opt.sort\n;pug_debug_line = 25;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.sort, true, true)+pug.attr(\"selected\", selected, true, true)) + \"\\u003E\";\n;pug_debug_line = 25;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.root + ' - ' + opt.key) ? \"\" : 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 = 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 for=\\\"h-plot-folder\\\"\\u003E\";\n;pug_debug_line = 28;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 = 29;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 = 30;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 = 31;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 = 31;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 = 32;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 = 32;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// ./~/@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\\u002Fdialogs\\u002FopenAnnotatedImage.pug\":\".modal-dialog(role='document')\\n .modal-content.h-open-annotated-image-dialog\\n .modal-header\\n button.close(type='button', data-dismiss='modal', aria-label='Close')\\n span(aria-hidden='true') ×\\n h4.modal-title Select a recently annotated image to open\\n .modal-body\\n form.form-inline\\n .form-group\\n label(for='h-image-name') Image Name\\n input#h-image-name.form-control(type='text', value=imageName)\\n .form-group\\n label(for='h-annotation-creator') Creator\\n select#h-annotation-creator.form-control(type='text')\\n option(value='', selected= !creator) Any user\\n for user in users.models\\n option(value=user.id, selected= creator === user.id)\\n = user.get('login')\\n hr\\n .h-annotated-images-list-container\\n\"};\n;var locals_for_with = (locals || {});(function (creator, imageName, users) {;pug_debug_line = 1;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FopenAnnotatedImage.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\\u002FopenAnnotatedImage.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"modal-content h-open-annotated-image-dialog\\\"\\u003E\";\n;pug_debug_line = 3;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FopenAnnotatedImage.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"modal-header\\\"\\u003E\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FopenAnnotatedImage.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"close\\\" type=\\\"button\\\" data-dismiss=\\\"modal\\\" aria-label=\\\"Close\\\"\\u003E\";\n;pug_debug_line = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FopenAnnotatedImage.pug\";\npug_html = pug_html + \"\\u003Cspan aria-hidden=\\\"true\\\"\\u003E\";\n;pug_debug_line = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FopenAnnotatedImage.pug\";\npug_html = pug_html + \"×\\u003C\\u002Fspan\\u003E\\u003C\\u002Fbutton\\u003E\";\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FopenAnnotatedImage.pug\";\npug_html = pug_html + \"\\u003Ch4 class=\\\"modal-title\\\"\\u003E\";\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FopenAnnotatedImage.pug\";\npug_html = pug_html + \"Select a recently annotated image to open\\u003C\\u002Fh4\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FopenAnnotatedImage.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"modal-body\\\"\\u003E\";\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FopenAnnotatedImage.pug\";\npug_html = pug_html + \"\\u003Cform class=\\\"form-inline\\\"\\u003E\";\n;pug_debug_line = 9;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FopenAnnotatedImage.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\\u002FopenAnnotatedImage.pug\";\npug_html = pug_html + \"\\u003Clabel for=\\\"h-image-name\\\"\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FopenAnnotatedImage.pug\";\npug_html = pug_html + \"Image Name\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FopenAnnotatedImage.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" class=\\\"form-control\\\"\"+\" id=\\\"h-image-name\\\" type=\\\"text\\\"\"+pug.attr(\"value\", imageName, true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FopenAnnotatedImage.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\";\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FopenAnnotatedImage.pug\";\npug_html = pug_html + \"\\u003Clabel for=\\\"h-annotation-creator\\\"\\u003E\";\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FopenAnnotatedImage.pug\";\npug_html = pug_html + \"Creator\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FopenAnnotatedImage.pug\";\npug_html = pug_html + \"\\u003Cselect class=\\\"form-control\\\" id=\\\"h-annotation-creator\\\" type=\\\"text\\\"\\u003E\";\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FopenAnnotatedImage.pug\";\npug_html = pug_html + \"\\u003Coption\" + (\" value=\\\"\\\"\"+pug.attr(\"selected\", !creator, true, true)) + \"\\u003E\";\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FopenAnnotatedImage.pug\";\npug_html = pug_html + \"Any user\\u003C\\u002Foption\\u003E\";\n;pug_debug_line = 16;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FopenAnnotatedImage.pug\";\n// iterate users.models\n;(function(){\n var $$obj = users.models;\n if ('number' == typeof $$obj.length) {\n for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) {\n var user = $$obj[pug_index0];\n;pug_debug_line = 17;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FopenAnnotatedImage.pug\";\npug_html = pug_html + \"\\u003Coption\" + (pug.attr(\"value\", user.id, true, true)+pug.attr(\"selected\", creator === user.id, true, true)) + \"\\u003E\";\n;pug_debug_line = 18;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FopenAnnotatedImage.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = user.get('login')) ? \"\" : pug_interp)) + \"\\u003C\\u002Foption\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var pug_index0 in $$obj) {\n $$l++;\n var user = $$obj[pug_index0];\n;pug_debug_line = 17;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FopenAnnotatedImage.pug\";\npug_html = pug_html + \"\\u003Coption\" + (pug.attr(\"value\", user.id, true, true)+pug.attr(\"selected\", creator === user.id, true, true)) + \"\\u003E\";\n;pug_debug_line = 18;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FopenAnnotatedImage.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = user.get('login')) ? \"\" : pug_interp)) + \"\\u003C\\u002Foption\\u003E\";\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Fselect\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fform\\u003E\";\n;pug_debug_line = 19;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FopenAnnotatedImage.pug\";\npug_html = pug_html + \"\\u003Chr\\u003E\";\n;pug_debug_line = 20;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FopenAnnotatedImage.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-annotated-images-list-container\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"creator\" in locals_for_with?locals_for_with.creator:typeof creator!==\"undefined\"?creator:undefined,\"imageName\" in locals_for_with?locals_for_with.imageName:typeof imageName!==\"undefined\"?imageName: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// ./~/@girder/histomicsui/templates/dialogs/openAnnotatedImage.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\\u002Fdialogs\\u002FsaveAnnotation.pug\":\"- 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='6', placeholder='Enter an optional description')\\n | #{annotation.description}\\n if showStyleEditor\\n hr\\n h4 Reset 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 .form-group\\n label(for='h-annotation-line-color') Line color\\n .input-group.h-colorpicker\\n input#h-annotation-line-color.input-sm.form-control(\\n type='text', value=defaultStyles.lineColor)\\n span.input-group-addon\\n i\\n .form-group\\n label(for='h-annotation-fill-color') Fill color\\n .input-group.h-colorpicker\\n input#h-annotation-fill-color.input-sm.form-control(\\n type='text', value=defaultStyles.fillColor)\\n span.input-group-addon\\n i\\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 (annotation, defaultStyles, hasAdmin, moment, showStyleEditor, title) {;pug_debug_line = 1;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 = 2;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 = 3;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 = 4;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 = 5;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 = 6;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 = 7;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 = 8;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 = 8;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 = 9;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 = 9;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 = 10;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 = 11;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 = 12;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 = 12;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 = 13;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 = 15;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 = 16;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 = 16;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 = 17;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\\\" rows=\\\"6\\\" placeholder=\\\"Enter an optional description\\\"\\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 + (pug.escape(null == (pug_interp = annotation.description) ? \"\" : pug_interp)) + \"\\u003C\\u002Ftextarea\\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\";\nif (showStyleEditor) {\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 + \"\\u003Chr\\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 + \"\\u003Ch4\\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 + \"Reset the style for all point, line, and polygon elements in this annotation\\u003C\\u002Fh4\\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 + \"\\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\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Clabel for=\\\"h-annotation-line-width\\\"\\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 + \"Line Width\\u003C\\u002Flabel\\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 + \"\\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 = 27;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 = 28;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-color\\\"\\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 + \"Line color\\u003C\\u002Flabel\\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=\\\"input-group h-colorpicker\\\"\\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 + \"\\u003Cinput\" + (\" class=\\\"input-sm form-control\\\"\"+\" id=\\\"h-annotation-line-color\\\" type=\\\"text\\\"\"+pug.attr(\"value\", defaultStyles.lineColor, true, true)) + \"\\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 + \"\\u003Cspan class=\\\"input-group-addon\\\"\\u003E\";\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 + \"\\u003Ci\\u003E\\u003C\\u002Fi\\u003E\\u003C\\u002Fspan\\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\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\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 + \"\\u003Clabel for=\\\"h-annotation-fill-color\\\"\\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 + \"Fill color\\u003C\\u002Flabel\\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 + \"\\u003Cdiv class=\\\"input-group h-colorpicker\\\"\\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 + \"\\u003Cinput\" + (\" class=\\\"input-sm form-control\\\"\"+\" id=\\\"h-annotation-fill-color\\\" type=\\\"text\\\"\"+pug.attr(\"value\", defaultStyles.fillColor, true, true)) + \"\\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 + \"\\u003Cspan class=\\\"input-group-addon\\\"\\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 + \"\\u003Ci\\u003E\\u003C\\u002Fi\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\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 class=\\\"g-validation-failed-message hidden\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\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 + \"\\u003Cdiv class=\\\"modal-footer\\\"\\u003E\";\n;pug_debug_line = 43;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\nif (hasAdmin) {\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 + \"\\u003Cbutton class=\\\"btn btn-warning h-access\\\" type=\\\"button\\\"\\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 + \"Permissions\\u003C\\u002Fbutton\\u003E\";\n}\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 + \"\\u003Cbutton class=\\\"btn btn-default h-cancel\\\" type=\\\"button\\\" data-dismiss=\\\"modal\\\"\\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 + \"Cancel\\u003C\\u002Fbutton\\u003E\";\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 + \"\\u003Cbutton class=\\\"btn btn-primary h-submit\\\" type=\\\"submit\\\"\\u003E\";\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 + \"Save\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fform\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"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,\"hasAdmin\" in locals_for_with?locals_for_with.hasAdmin:typeof hasAdmin!==\"undefined\"?hasAdmin: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,\"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// ./~/@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\\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\"};\n;var locals_for_with = (locals || {});(function (bannerColor, brandColor, brandName) {;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\\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));} 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// ./~/@girder/histomicsui/templates/layout/header.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\\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// ./~/@girder/histomicsui/templates/layout/headerAnalyses.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\\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// ./~/@girder/histomicsui/templates/layout/headerImage.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\\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// ./~/@girder/histomicsui/templates/layout/headerUser.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\\u002Flayout\\u002Flayout.pug\":\"#g-app-header-container\\n#g-app-body-container.h-full-page-body\\n\\n#g-app-progress-container\\n\\n#g-dialog-container.modal.fade(tabindex='-1')\\n#g-alerts-container\\n\"};\n;pug_debug_line = 1;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Flayout.pug\";\npug_html = pug_html + \"\\u003Cdiv id=\\\"g-app-header-container\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Flayout.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-full-page-body\\\" id=\\\"g-app-body-container\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Flayout.pug\";\npug_html = pug_html + \"\\u003Cdiv id=\\\"g-app-progress-container\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Flayout.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"modal fade\\\" id=\\\"g-dialog-container\\\" tabindex=\\\"-1\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Flayout.pug\";\npug_html = pug_html + \"\\u003Cdiv id=\\\"g-alerts-container\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";} 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// ./~/@girder/histomicsui/templates/layout/layout.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')\\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 - var admin = user && user.get && user.get('admin');\\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)\\n span.icon-cancel.h-delete-annotation(\\n title='Remove 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 if accessLevel \\u003E= writeAccessLevel\\n button.btn.btn-sm.btn-primary.h-create-annotation(title='Create a new annotation. Keyboard shortcut: space bar')\\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 (_, accessLevel, activeAnnotation, annotationGroups, collapsed, expandedGroups, fillOpacity, id, interactiveMode, opacity, removeButton, showLabels, title, user, writeAccess, writeAccessLevel) {;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\\\"\\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\";\nvar admin = user && user.get && user.get('admin');\n;pug_debug_line = 39;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 = 40;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 = 41;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 = 42;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 = 43;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 = 44;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar classes = [];\n;pug_debug_line = 45;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 = 46;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 = 47;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 = 48;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 = 49;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 = 50;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (loading) {\n;pug_debug_line = 51;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 = 53;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 = 56;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 = 58;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 = 58;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 = 60;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 = 61;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (writeAccess(annotation)) {\n;pug_debug_line = 62;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;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 = 40;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 = 41;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 = 42;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 = 43;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 = 44;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar classes = [];\n;pug_debug_line = 45;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 = 46;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 = 47;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 = 48;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 = 49;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 = 50;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (loading) {\n;pug_debug_line = 51;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 = 53;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 = 56;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 = 58;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 = 58;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 = 60;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 = 61;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (writeAccess(annotation)) {\n;pug_debug_line = 62;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;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\";\nvar admin = user && user.get && user.get('admin');\n;pug_debug_line = 39;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 = 40;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 = 41;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 = 42;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 = 43;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 = 44;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar classes = [];\n;pug_debug_line = 45;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 = 46;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 = 47;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 = 48;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 = 49;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 = 50;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (loading) {\n;pug_debug_line = 51;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 = 53;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 = 56;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 = 58;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 = 58;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 = 60;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 = 61;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (writeAccess(annotation)) {\n;pug_debug_line = 62;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;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 = 40;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 = 41;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 = 42;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 = 43;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 = 44;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar classes = [];\n;pug_debug_line = 45;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 = 46;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 = 47;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 = 48;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 = 49;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 = 50;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (loading) {\n;pug_debug_line = 51;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 = 53;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 = 56;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 = 58;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 = 58;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 = 60;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 = 61;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (writeAccess(annotation)) {\n;pug_debug_line = 62;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;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\";\nif (accessLevel >= writeAccessLevel) {\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 + \"\\u003Cbutton class=\\\"btn btn-sm btn-primary h-create-annotation\\\" title=\\\"Create a new annotation. Keyboard shortcut: space bar\\\"\\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 + \"\";\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 + \"\\u003Cspan class=\\\"icon-plus-squared\\\"\\u003E\\u003C\\u002Fspan\\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 + \" New\\u003C\\u002Fbutton\\u003E\";\n}\n;pug_debug_line = 81;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,\"accessLevel\" in locals_for_with?locals_for_with.accessLevel:typeof accessLevel!==\"undefined\"?accessLevel:undefined,\"activeAnnotation\" in locals_for_with?locals_for_with.activeAnnotation:typeof activeAnnotation!==\"undefined\"?activeAnnotation: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,\"user\" in locals_for_with?locals_for_with.user:typeof user!==\"undefined\"?user:undefined,\"writeAccess\" in locals_for_with?locals_for_with.writeAccess:typeof writeAccess!==\"undefined\"?writeAccess:undefined,\"writeAccessLevel\" in locals_for_with?locals_for_with.writeAccessLevel:typeof writeAccessLevel!==\"undefined\"?writeAccessLevel: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// ./~/@girder/histomicsui/templates/panels/annotationSelector.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\\u002FdrawWidget.pug\":\"extends .\\u002Fpanel.pug\\n\\nblock title\\n | #[span.icon-pencil] #{title} #[span.h-panel-name #{name}]\\n\\nblock content\\n .input-group.input-group-sm.h-style-group-row\\n select.form-control.h-style-group\\n each group in groups.sortBy('id')\\n option(value=group.id, selected=group.id === style)\\n = group.id\\n .input-group-btn\\n button.btn.btn-default.h-configure-style-group(type='button')\\n span.icon-cog(data-toggle='tooltip', title='Configure style group. Keyboard shortcuts: \\\"q\\\" and \\\"w\\\" to select next and previous style group, respectively')\\n .btn-group.btn-justified.btn-group-sm.h-draw-tools\\n .btn-group.btn-group-sm\\n button.h-draw.btn.btn-default(\\n type='button', data-type='point', data-toggle='tooltip', title='Draw a new point (keyboard shortcut: o)', class=drawingType === 'point' ? 'active' : null)\\n | #[span.icon-circle]Point\\n .btn-group.btn-group-sm\\n button.h-draw.btn.btn-default(\\n type='button', data-type='rectangle', data-toggle='tooltip', title='Draw a new rectangle (keyboard shortcut: r)', class=drawingType === 'rectangle' ? 'active' : null)\\n | #[span.icon-check-empty]Rectangle\\n .btn-group.btn-group-sm\\n button.h-draw.btn.btn-default(\\n type='button', data-type='ellipse', data-toggle='tooltip', title='Draw a new ellipse (keyboard shortcut: i)', class=drawingType === 'ellipse' ? 'active' : null)\\n | #[span.icon-circle-empty.flattenicon]Ellipse\\n .btn-group.btn-group-sm\\n button.h-draw.btn.btn-default(\\n type='button', data-type='circle', data-toggle='tooltip', title='Draw a new circle (keyboard shortcut: c)', class=drawingType === 'circle' ? 'active' : null)\\n | #[span.icon-circle-empty]Circle\\n .btn-group.btn-group-sm\\n button.h-draw.btn.btn-default(\\n type='button', data-type='polygon', data-toggle='tooltip', title='Draw a new polygon (keyboard shortcut: p)', class=drawingType === 'polygon' ? 'active' : null)\\n | #[span.icon-draw-polygon]Polygon\\n .btn-group.btn-group-sm\\n button.h-draw.btn.btn-default(\\n type='button', data-type='line', data-toggle='tooltip', title='Draw a new line (keyboard shortcut: l)', class=drawingType === 'line' ? 'active' : null)\\n | #[span.icon-pencil]Line\\n\\n if elements.length\\n .h-elements-container\\n each element in elements\\n - var classes = highlighted[element.id] ? ['h-highlight-element'] : [];\\n - element = element.toJSON();\\n - var label = (element.label || {}).value || (element.type === 'polyline' ? (element.closed ? 'polygon' : 'line') : element.type);\\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) #{label}\\n span.icon-cancel.h-delete-element(title='Remove')\\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, drawingType, elements, groups, highlighted, id, name, removeButton, style, 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\\u002FdrawWidget.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\\u002FdrawWidget.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-pencil\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.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\\u002FdrawWidget.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = title) ? \"\" : pug_interp));\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.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\\u002FdrawWidget.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"h-panel-name\\\"\\u003E\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = name) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\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 = 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\\u002FdrawWidget.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"input-group input-group-sm h-style-group-row\\\"\\u003E\";\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\npug_html = pug_html + \"\\u003Cselect class=\\\"form-control h-style-group\\\"\\u003E\";\n;pug_debug_line = 9;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\n// iterate groups.sortBy('id')\n;(function(){\n var $$obj = groups.sortBy('id');\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 = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\npug_html = pug_html + \"\\u003Coption\" + (pug.attr(\"value\", group.id, true, true)+pug.attr(\"selected\", group.id === style, true, true)) + \"\\u003E\";\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = group.id) ? \"\" : pug_interp)) + \"\\u003C\\u002Foption\\u003E\";\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 = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\npug_html = pug_html + \"\\u003Coption\" + (pug.attr(\"value\", group.id, true, true)+pug.attr(\"selected\", group.id === style, true, true)) + \"\\u003E\";\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = group.id) ? \"\" : pug_interp)) + \"\\u003C\\u002Foption\\u003E\";\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Fselect\\u003E\";\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"input-group-btn\\\"\\u003E\";\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"btn btn-default h-configure-style-group\\\" type=\\\"button\\\"\\u003E\";\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-cog\\\" data-toggle=\\\"tooltip\\\" title=\\\"Configure style group. Keyboard shortcuts: "q" and "w" to select next and previous style group, respectively\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"btn-group btn-justified btn-group-sm h-draw-tools\\\"\\u003E\";\n;pug_debug_line = 16;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"btn-group btn-group-sm\\\"\\u003E\";\n;pug_debug_line = 17;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\npug_html = pug_html + \"\\u003Cbutton\" + (pug.attr(\"class\", pug.classes([\"h-draw\",\"btn\",\"btn-default\",drawingType === 'point' ? 'active' : null], [false,false,false,true]), false, true)+\" type=\\\"button\\\" data-type=\\\"point\\\" data-toggle=\\\"tooltip\\\" title=\\\"Draw a new point (keyboard shortcut: o)\\\"\") + \"\\u003E\";\n;pug_debug_line = 19;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\npug_html = pug_html + \"\";\n;pug_debug_line = 19;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-circle\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 19;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\npug_html = pug_html + \"Point\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 20;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"btn-group btn-group-sm\\\"\\u003E\";\n;pug_debug_line = 21;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\npug_html = pug_html + \"\\u003Cbutton\" + (pug.attr(\"class\", pug.classes([\"h-draw\",\"btn\",\"btn-default\",drawingType === 'rectangle' ? 'active' : null], [false,false,false,true]), false, true)+\" type=\\\"button\\\" data-type=\\\"rectangle\\\" data-toggle=\\\"tooltip\\\" title=\\\"Draw a new rectangle (keyboard shortcut: r)\\\"\") + \"\\u003E\";\n;pug_debug_line = 23;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\npug_html = pug_html + \"\";\n;pug_debug_line = 23;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-check-empty\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 23;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\npug_html = pug_html + \"Rectangle\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 24;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"btn-group btn-group-sm\\\"\\u003E\";\n;pug_debug_line = 25;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\npug_html = pug_html + \"\\u003Cbutton\" + (pug.attr(\"class\", pug.classes([\"h-draw\",\"btn\",\"btn-default\",drawingType === 'ellipse' ? 'active' : null], [false,false,false,true]), false, true)+\" type=\\\"button\\\" data-type=\\\"ellipse\\\" data-toggle=\\\"tooltip\\\" title=\\\"Draw a new ellipse (keyboard shortcut: i)\\\"\") + \"\\u003E\";\n;pug_debug_line = 27;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\npug_html = pug_html + \"\";\n;pug_debug_line = 27;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-circle-empty flattenicon\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 27;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\npug_html = pug_html + \"Ellipse\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 28;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"btn-group btn-group-sm\\\"\\u003E\";\n;pug_debug_line = 29;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\npug_html = pug_html + \"\\u003Cbutton\" + (pug.attr(\"class\", pug.classes([\"h-draw\",\"btn\",\"btn-default\",drawingType === 'circle' ? 'active' : null], [false,false,false,true]), false, true)+\" type=\\\"button\\\" data-type=\\\"circle\\\" data-toggle=\\\"tooltip\\\" title=\\\"Draw a new circle (keyboard shortcut: c)\\\"\") + \"\\u003E\";\n;pug_debug_line = 31;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\npug_html = pug_html + \"\";\n;pug_debug_line = 31;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-circle-empty\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 31;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\npug_html = pug_html + \"Circle\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 32;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"btn-group btn-group-sm\\\"\\u003E\";\n;pug_debug_line = 33;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\npug_html = pug_html + \"\\u003Cbutton\" + (pug.attr(\"class\", pug.classes([\"h-draw\",\"btn\",\"btn-default\",drawingType === 'polygon' ? 'active' : null], [false,false,false,true]), false, true)+\" type=\\\"button\\\" data-type=\\\"polygon\\\" data-toggle=\\\"tooltip\\\" title=\\\"Draw a new polygon (keyboard shortcut: p)\\\"\") + \"\\u003E\";\n;pug_debug_line = 35;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\npug_html = pug_html + \"\";\n;pug_debug_line = 35;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-draw-polygon\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 35;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\npug_html = pug_html + \"Polygon\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 36;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"btn-group btn-group-sm\\\"\\u003E\";\n;pug_debug_line = 37;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\npug_html = pug_html + \"\\u003Cbutton\" + (pug.attr(\"class\", pug.classes([\"h-draw\",\"btn\",\"btn-default\",drawingType === 'line' ? 'active' : null], [false,false,false,true]), false, true)+\" type=\\\"button\\\" data-type=\\\"line\\\" data-toggle=\\\"tooltip\\\" title=\\\"Draw a new line (keyboard shortcut: l)\\\"\") + \"\\u003E\";\n;pug_debug_line = 39;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\npug_html = pug_html + \"\";\n;pug_debug_line = 39;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-pencil\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 39;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\npug_html = pug_html + \"Line\\u003C\\u002Fbutton\\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\\u002Fpanels\\u002FdrawWidget.pug\";\nif (elements.length) {\n;pug_debug_line = 42;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-elements-container\\\"\\u003E\";\n;pug_debug_line = 43;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\n// iterate elements\n;(function(){\n var $$obj = elements;\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 = 44;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\nvar classes = highlighted[element.id] ? ['h-highlight-element'] : [];\n;pug_debug_line = 45;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\nelement = element.toJSON();\n;pug_debug_line = 46;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\nvar label = (element.label || {}).value || (element.type === 'polyline' ? (element.closed ? 'polygon' : 'line') : element.type);\n;pug_debug_line = 47;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.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 = 48;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-cog h-edit-element\\\" title=\\\"Change style\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 49;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\npug_html = pug_html + \"\\u003Cspan\" + (\" class=\\\"h-element-label\\\"\"+pug.attr(\"title\", label, true, true)) + \"\\u003E\";\n;pug_debug_line = 49;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = label) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 50;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.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_index1 in $$obj) {\n $$l++;\n var element = $$obj[pug_index1];\n;pug_debug_line = 44;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\nvar classes = highlighted[element.id] ? ['h-highlight-element'] : [];\n;pug_debug_line = 45;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\nelement = element.toJSON();\n;pug_debug_line = 46;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\nvar label = (element.label || {}).value || (element.type === 'polyline' ? (element.closed ? 'polygon' : 'line') : element.type);\n;pug_debug_line = 47;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.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 = 48;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-cog h-edit-element\\\" title=\\\"Change style\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 49;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\npug_html = pug_html + \"\\u003Cspan\" + (\" class=\\\"h-element-label\\\"\"+pug.attr(\"title\", label, true, true)) + \"\\u003E\";\n;pug_debug_line = 49;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = label) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 50;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidget.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\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";}.call(this,\"collapsed\" in locals_for_with?locals_for_with.collapsed:typeof collapsed!==\"undefined\"?collapsed:undefined,\"drawingType\" in locals_for_with?locals_for_with.drawingType:typeof drawingType!==\"undefined\"?drawingType:undefined,\"elements\" in locals_for_with?locals_for_with.elements:typeof elements!==\"undefined\"?elements:undefined,\"groups\" in locals_for_with?locals_for_with.groups:typeof groups!==\"undefined\"?groups:undefined,\"highlighted\" in locals_for_with?locals_for_with.highlighted:typeof highlighted!==\"undefined\"?highlighted:undefined,\"id\" in locals_for_with?locals_for_with.id:typeof id!==\"undefined\"?id:undefined,\"name\" in locals_for_with?locals_for_with.name:typeof name!==\"undefined\"?name:undefined,\"removeButton\" in locals_for_with?locals_for_with.removeButton:typeof removeButton!==\"undefined\"?removeButton:undefined,\"style\" in locals_for_with?locals_for_with.style:typeof style!==\"undefined\"?style: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// ./~/@girder/histomicsui/templates/panels/drawWidget.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// ./~/@girder/histomicsui/templates/panels/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\\u002FmetadataWidget.pug\":\"extends .\\u002Fpanel.pug\\n\\nblock title\\n | #[span.icon-tags] #{title}\\n if(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 button.g-widget-metadata-add-button.btn.btn-sm.btn-default.dropdown-toggle(data-toggle=\\\"dropdown\\\", title=\\\"Add Metadata\\\")\\n i.icon-plus\\n ul.dropdown-menu.pull-right(role=\\\"menu\\\")\\n li(role=\\\"presentation\\\")\\n a.g-add-simple-metadata(role=\\\"menuitem\\\")\\n | Simple\\n li(role=\\\"presentation\\\")\\n a.g-add-json-metadata\\n | JSON\\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, firstKey, firstValue, 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\\u002FmetadataWidget.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\\u002FmetadataWidget.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\\u002FmetadataWidget.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\\u002FmetadataWidget.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\\u002FmetadataWidget.pug\";\nif ((firstKey && firstValue)) {\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataWidget.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\\u002FmetadataWidget.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\\u002FmetadataWidget.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\\u002FmetadataWidget.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\\u002FmetadataWidget.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"g-widget-metadata-add-button btn btn-sm btn-default dropdown-toggle\\\" data-toggle=\\\"dropdown\\\" title=\\\"Add Metadata\\\"\\u003E\";\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataWidget.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-plus\\\"\\u003E\\u003C\\u002Fi\\u003E\\u003C\\u002Fbutton\\u003E\";\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataWidget.pug\";\npug_html = pug_html + \"\\u003Cul class=\\\"dropdown-menu pull-right\\\" role=\\\"menu\\\"\\u003E\";\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataWidget.pug\";\npug_html = pug_html + \"\\u003Cli role=\\\"presentation\\\"\\u003E\";\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataWidget.pug\";\npug_html = pug_html + \"\\u003Ca class=\\\"g-add-simple-metadata\\\" role=\\\"menuitem\\\"\\u003E\";\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataWidget.pug\";\npug_html = pug_html + \"Simple\\u003C\\u002Fa\\u003E\\u003C\\u002Fli\\u003E\";\n;pug_debug_line = 16;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataWidget.pug\";\npug_html = pug_html + \"\\u003Cli role=\\\"presentation\\\"\\u003E\";\n;pug_debug_line = 17;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataWidget.pug\";\npug_html = pug_html + \"\\u003Ca class=\\\"g-add-json-metadata\\\"\\u003E\";\n;pug_debug_line = 18;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataWidget.pug\";\npug_html = pug_html + \"JSON\\u003C\\u002Fa\\u003E\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 19;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataWidget.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"s-no-panel-toggle h-panel-maximize\\\"\\u003E\";\n;pug_debug_line = 20;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataWidget.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 = 23;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataWidget.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,\"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,\"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// ./~/@girder/histomicsui/templates/panels/metadataWidget.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\\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// ./~/@girder/histomicsui/templates/panels/overviewWidget.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// ./~/@girder/histomicsui/templates/panels/zoomWidget.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\\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// ./~/@girder/histomicsui/templates/popover/annotationContextMenu.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\\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 h4.h-annotation-name\\n = a.name\\n .h-annotation-created\\n = formatDate(annotation.get('created'))\\n if user\\n span.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\"};\n;var locals_for_with = (locals || {});(function (annotations, elementProperties, elements, formatDate, 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{\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 = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003C!-- show at most 4 annotations--\\u003E\";\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\";\npug_html = pug_html + \"\\u003Ch4 class=\\\"h-annotation-name\\\"\\u003E\";\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 + (pug.escape(null == (pug_interp = a.name) ? \"\" : pug_interp)) + \"\\u003C\\u002Fh4\\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 + \"\\u003Cdiv class=\\\"h-annotation-created\\\"\\u003E\";\n;pug_debug_line = 14;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 = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nif (user) {\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 class=\\\"h-annotation-creator\\\"\\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 = `${user.firstName} ${user.lastName} (${user.login})`) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\n}\n;pug_debug_line = 18;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nif (a.description) {\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 + \"\\u003Cp class=\\\"h-annotation-description\\\"\\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 = a.description) ? \"\" : pug_interp)) + \"\\u003C\\u002Fp\\u003E\";\n}\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 + \"\\u003Cdiv class=\\\"h-annotation-elements\\\"\\u003E\";\n;pug_debug_line = 23;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nvar elementCount = 0;\n{\n;pug_debug_line = 24;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 = 26;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003C!-- show at most 10 elements per annotation--\\u003E\";\n;pug_debug_line = 27;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nif (elementCount < 10) {\n;pug_debug_line = 28;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nelementCount += 1;\n{\n;pug_debug_line = 29;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 = 30;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 = 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-element-type\\\"\\u003E\";\n;pug_debug_line = 32;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 = 33;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 = 34;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 = 35;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 = 36;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 = 36;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 = 37;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 = 37;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 = 35;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 = 36;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 = 36;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 = 37;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 = 37;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}\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 = 26;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003C!-- show at most 10 elements per annotation--\\u003E\";\n;pug_debug_line = 27;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nif (elementCount < 10) {\n;pug_debug_line = 28;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nelementCount += 1;\n{\n;pug_debug_line = 29;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 = 30;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 = 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-element-type\\\"\\u003E\";\n;pug_debug_line = 32;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 = 33;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 = 34;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 = 35;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 = 36;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 = 36;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 = 37;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 = 37;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 = 35;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 = 36;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 = 36;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 = 37;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 = 37;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}\n}\n }\n }\n}).call(this);\n\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 = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003C!-- show at most 4 annotations--\\u003E\";\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\";\npug_html = pug_html + \"\\u003Ch4 class=\\\"h-annotation-name\\\"\\u003E\";\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 + (pug.escape(null == (pug_interp = a.name) ? \"\" : pug_interp)) + \"\\u003C\\u002Fh4\\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 + \"\\u003Cdiv class=\\\"h-annotation-created\\\"\\u003E\";\n;pug_debug_line = 14;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 = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nif (user) {\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 class=\\\"h-annotation-creator\\\"\\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 = `${user.firstName} ${user.lastName} (${user.login})`) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\n}\n;pug_debug_line = 18;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nif (a.description) {\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 + \"\\u003Cp class=\\\"h-annotation-description\\\"\\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 = a.description) ? \"\" : pug_interp)) + \"\\u003C\\u002Fp\\u003E\";\n}\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 + \"\\u003Cdiv class=\\\"h-annotation-elements\\\"\\u003E\";\n;pug_debug_line = 23;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nvar elementCount = 0;\n{\n;pug_debug_line = 24;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 = 26;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003C!-- show at most 10 elements per annotation--\\u003E\";\n;pug_debug_line = 27;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nif (elementCount < 10) {\n;pug_debug_line = 28;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nelementCount += 1;\n{\n;pug_debug_line = 29;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 = 30;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 = 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-element-type\\\"\\u003E\";\n;pug_debug_line = 32;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 = 33;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 = 34;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 = 35;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 = 36;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 = 36;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 = 37;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 = 37;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 = 35;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 = 36;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 = 36;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 = 37;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 = 37;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}\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 = 26;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003C!-- show at most 10 elements per annotation--\\u003E\";\n;pug_debug_line = 27;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nif (elementCount < 10) {\n;pug_debug_line = 28;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nelementCount += 1;\n{\n;pug_debug_line = 29;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 = 30;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 = 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-element-type\\\"\\u003E\";\n;pug_debug_line = 32;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 = 33;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 = 34;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 = 35;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 = 36;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 = 36;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 = 37;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 = 37;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 = 35;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 = 36;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 = 36;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 = 37;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 = 37;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}\n}\n }\n }\n}).call(this);\n\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";\n}\n}\n }\n }\n}).call(this);\n\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";}.call(this,\"annotations\" in locals_for_with?locals_for_with.annotations:typeof annotations!==\"undefined\"?annotations: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,\"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// ./~/@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\\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// ./~/@girder/histomicsui/templates/popover/pixelmapContextMenu.pug","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/histomicsui/stylesheets/body/configView.styl\n// module id = 101\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/histomicsui/stylesheets/body/frontPage.styl\n// module id = 102\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/histomicsui/stylesheets/body/image.styl\n// module id = 103\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/histomicsui/stylesheets/dialogs/editStyleGroups.styl\n// module id = 104\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/histomicsui/stylesheets/dialogs/openAnnotatedImage.styl\n// module id = 105\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/histomicsui/stylesheets/dialogs/saveAnnotation.styl\n// module id = 106\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/histomicsui/stylesheets/layout/header.styl\n// module id = 107\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/histomicsui/stylesheets/layout/headerAnalyses.styl\n// module id = 108\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/histomicsui/stylesheets/layout/headerImage.styl\n// module id = 109\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/histomicsui/stylesheets/layout/layout.styl\n// module id = 110\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/histomicsui/stylesheets/panels/annotationSelector.styl\n// module id = 111\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/histomicsui/stylesheets/panels/drawWidget.styl\n// module id = 112\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/histomicsui/stylesheets/panels/metadataPlot.styl\n// module id = 113\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/histomicsui/stylesheets/panels/metadataWidget.styl\n// module id = 114\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/histomicsui/stylesheets/panels/overviewWidget.styl\n// module id = 115\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/histomicsui/stylesheets/popover/annotationPopover.styl\n// module id = 116\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/histomicsui/~/bootstrap-submenu/dist/css/bootstrap-submenu.css\n// module id = 117\n// module chunks = 0","module.exports = (__webpack_require__(0))(104);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/views/layout/HeaderUserView.js from dll-reference girder_lib\n// module id = 118\n// module chunks = 0","module.exports = (__webpack_require__(0))(125);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/views/widgets/ItemListWidget.js from dll-reference girder_lib\n// module id = 119\n// module chunks = 0","module.exports = (__webpack_require__(0))(143);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/index.js from dll-reference girder_lib\n// module id = 120\n// module chunks = 0","module.exports = (__webpack_require__(0))(158);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/views/App.js from dll-reference girder_lib\n// module id = 121\n// module chunks = 0","module.exports = (__webpack_require__(0))(164);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/views/widgets/PluginConfigBreadcrumbWidget.js from dll-reference girder_lib\n// module id = 122\n// module chunks = 0","module.exports = (__webpack_require__(0))(17);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/bootstrap/js/dropdown.js from dll-reference girder_lib\n// module id = 123\n// module chunks = 0","module.exports = (__webpack_require__(6))(17);\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 = 124\n// module chunks = 0","module.exports = (__webpack_require__(0))(19);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/models/FolderModel.js from dll-reference girder_lib\n// module id = 125\n// module chunks = 0","module.exports = (__webpack_require__(6))(22);\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 = 126\n// module chunks = 0","module.exports = (__webpack_require__(0))(228);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/templates/widgets/jsonMetadatumEditWidget.pug from dll-reference girder_lib\n// module id = 127\n// module chunks = 0","module.exports = (__webpack_require__(0))(229);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/templates/widgets/jsonMetadatumView.pug from dll-reference girder_lib\n// module id = 128\n// module chunks = 0","module.exports = (__webpack_require__(0))(233);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/templates/widgets/metadatumEditWidget.pug from dll-reference girder_lib\n// module id = 129\n// module chunks = 0","module.exports = (__webpack_require__(0))(234);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/templates/widgets/metadatumView.pug from dll-reference girder_lib\n// module id = 130\n// module chunks = 0","module.exports = (__webpack_require__(0))(287);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/@girder/fontello/dist/css/animation.css from dll-reference girder_lib\n// module id = 131\n// module chunks = 0","module.exports = (__webpack_require__(0))(288);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/@girder/fontello/dist/css/fontello.css from dll-reference girder_lib\n// module id = 132\n// module chunks = 0","module.exports = (__webpack_require__(0))(292);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/jsoneditor/dist/jsoneditor.css from dll-reference girder_lib\n// module id = 133\n// module chunks = 0","module.exports = (__webpack_require__(0))(296);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/jsoneditor/dist/jsoneditor.js from dll-reference girder_lib\n// module id = 134\n// module chunks = 0","module.exports = (__webpack_require__(45))(30);\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 = 135\n// module chunks = 0","module.exports = (__webpack_require__(0))(31);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/views/widgets/HierarchyWidget.js from dll-reference girder_lib\n// module id = 136\n// module chunks = 0","module.exports = (__webpack_require__(0))(35);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/collections/UserCollection.js from dll-reference girder_lib\n// module id = 137\n// module chunks = 0","module.exports = (__webpack_require__(6))(35);\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 = 138\n// module chunks = 0","module.exports = (__webpack_require__(0))(39);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/models/FileModel.js from dll-reference girder_lib\n// module id = 139\n// module chunks = 0","module.exports = (__webpack_require__(6))(41);\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 = 140\n// module chunks = 0","module.exports = (__webpack_require__(0))(42);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/views/widgets/AccessWidget.js from dll-reference girder_lib\n// module id = 141\n// module chunks = 0","module.exports = (__webpack_require__(6))(42);\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 = 142\n// module chunks = 0","module.exports = (__webpack_require__(6))(45);\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 = 143\n// module chunks = 0","module.exports = (__webpack_require__(0))(46);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/webpack/buildin/global.js from dll-reference girder_lib\n// module id = 144\n// module chunks = 0","module.exports = (__webpack_require__(6))(46);\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 = 145\n// module chunks = 0","module.exports = (__webpack_require__(6))(47);\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 = 146\n// module chunks = 0","module.exports = (__webpack_require__(44))(49);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/pluginUtils.js from dll-reference girder_plugin_large_image\n// module id = 147\n// module chunks = 0","module.exports = (__webpack_require__(44))(57);\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 = 148\n// module chunks = 0","module.exports = (__webpack_require__(6))(57);\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 = 149\n// module chunks = 0","module.exports = (__webpack_require__(0))(6);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/dialog.js from dll-reference girder_lib\n// module id = 150\n// module chunks = 0","module.exports = (__webpack_require__(0))(80);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/collections/FolderCollection.js from dll-reference girder_lib\n// module id = 151\n// module chunks = 0","module.exports = (__webpack_require__(0))(86);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/version.js from dll-reference girder_lib\n// module id = 152\n// module chunks = 0","module.exports = (__webpack_require__(0))(93);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/views/body/FrontPageView.js from dll-reference girder_lib\n// module id = 153\n// module chunks = 0","module.exports = (__webpack_require__(0))(96);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/views/body/ItemView.js from dll-reference girder_lib\n// module id = 154\n// module chunks = 0"],"sourceRoot":""}