diff --git a/src/atlasViewer/atlasViewer.apiService.service.ts b/src/atlasViewer/atlasViewer.apiService.service.ts index 7a547e9fd937541502dea1aa7c0e61c3d974c78a..c040cde554a6852933ee323bace0d2e409d649ad 100644 --- a/src/atlasViewer/atlasViewer.apiService.service.ts +++ b/src/atlasViewer/atlasViewer.apiService.service.ts @@ -159,6 +159,8 @@ export interface InteractiveViewerInterface{ mouseEvent : Observable<{eventName:string,event:MouseEvent}> mouseOverNehuba : Observable<{labelIndex : number, foundRegion : any | null}> + + getNgHash : () => string } uiHandle : { diff --git a/src/atlasViewer/atlasViewer.component.ts b/src/atlasViewer/atlasViewer.component.ts index 5f20e45fe2d871ead31a721009423a5e6f0b3b36..91de4e44fc861d900c48d3ad4a8fbdbe412dde31 100644 --- a/src/atlasViewer/atlasViewer.component.ts +++ b/src/atlasViewer/atlasViewer.component.ts @@ -1,6 +1,6 @@ import { Component, HostBinding, ViewChild, ViewContainerRef, ComponentFactoryResolver, ComponentFactory, OnDestroy, ElementRef, ComponentRef, AfterViewInit, OnInit, HostListener, Renderer2 } from "@angular/core"; import { Store, select } from "@ngrx/store"; -import { ViewerStateInterface, OPEN_SIDE_PANEL, CLOSE_SIDE_PANEL, isDefined,UNLOAD_DEDICATED_LAYER, FETCHED_SPATIAL_DATA, UPDATE_SPATIAL_DATA, TOGGLE_SIDE_PANEL, NgViewerStateInterface, safeFilter } from "../services/stateStore.service"; +import { ViewerStateInterface, isDefined, FETCHED_SPATIAL_DATA, UPDATE_SPATIAL_DATA, TOGGLE_SIDE_PANEL, safeFilter } from "../services/stateStore.service"; import { Observable, Subscription, combineLatest } from "rxjs"; import { map, filter, distinctUntilChanged, delay } from "rxjs/operators"; import { AtlasViewerDataService } from "./atlasViewer.dataService.service"; @@ -475,6 +475,10 @@ export class AtlasViewer implements OnDestroy, OnInit, AfterViewInit { get floatingMouseContextualContainerTransform() { return `translate(${this.mousePos[0]}px,${this.mousePos[1]}px)` } + + get isMobile(){ + return this.constantsService.mobile + } } export interface NgLayerInterface{ diff --git a/src/atlasViewer/atlasViewer.constantService.service.ts b/src/atlasViewer/atlasViewer.constantService.service.ts index c623aee35027023e344f8327e37a0eee8da885fb..4e4646c5088093539d1526e7ce03b3014601210d 100644 --- a/src/atlasViewer/atlasViewer.constantService.service.ts +++ b/src/atlasViewer/atlasViewer.constantService.service.ts @@ -9,6 +9,8 @@ import { ViewerStateInterface, Property, FETCHED_METADATA } from "../services/st export class AtlasViewerConstantsServices{ + public mobile: boolean + public ngLandmarkLayerName = 'spatial landmark layer' /* TODO to be replaced by @id: Landmark/UNIQUE_ID in KG in the future */ @@ -86,6 +88,13 @@ the atlas viewer requires **webgl2.0**, and the \`EXT_color_buffer_float\` exten constructor(private store : Store<ViewerStateInterface>){ + const ua = window && window.navigator && window.navigator.userAgent + ? window.navigator.userAgent + : '' + + /* https://stackoverflow.com/a/25394023/6059235 */ + this.mobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini|Mobile|mobile|CriOS/i.test(ua) + const meta = 'res/json/allAggregatedData.json' fetch(meta) diff --git a/src/atlasViewer/atlasViewer.style.css b/src/atlasViewer/atlasViewer.style.css index a3342d98d37d2b7ad06b97487055d218ff524562..349ff25c517e3955f6ac7d9c4f55099b5b4888b1 100644 --- a/src/atlasViewer/atlasViewer.style.css +++ b/src/atlasViewer/atlasViewer.style.css @@ -31,7 +31,7 @@ ui-nehuba-container height:100%; } -atlas-banner +div[bannerWrapper] { z-index:5; position:absolute; @@ -39,8 +39,11 @@ atlas-banner left: 1em; width:100%; + display:flex; + height:0px; } + div[sidecontent] { height:100%; @@ -217,4 +220,15 @@ span.tabContainer.active-tab:before [dockedContainer] { margin-top:0.2em; +} + +[mobileMenu] +{ + min-height:50em; +} + +[mobileTemplateCitation] +{ + padding: 1.5em; + display:block; } \ No newline at end of file diff --git a/src/atlasViewer/atlasViewer.template.html b/src/atlasViewer/atlasViewer.template.html index 9af73820a2f1f0af77f20a177bb6d38c6e2cc8a3..301a93cad7b5e50c4d6fb2a8864af933a0e2d4c2 100644 --- a/src/atlasViewer/atlasViewer.template.html +++ b/src/atlasViewer/atlasViewer.template.html @@ -7,13 +7,36 @@ <div maincontent> <ui-nehuba-container> </ui-nehuba-container> - - <atlas-banner> - </atlas-banner> + + <div bannerWrapper> + + <logo-container> + </logo-container> + + <atlas-banner *ngIf = "!isMobile"> + </atlas-banner> + </div> </div> <div [ngSwitch] = "sidePanelView$ | async" sidecontent> - + <div *ngSwitchCase = "'menuBrowser'"> + <panel-component> + <div heading> + Menu + </div> + <div body> + <div mobileMenu> + <atlas-banner> + + </atlas-banner> + <template-parcellation-citation-container mobileTemplateCitation> + + </template-parcellation-citation-container> + </div> + </div> + </panel-component> + </div> + <!-- Data Browser --> <div *ngSwitchCase = "'dataBrowser'"> <panel-component [bodyCollapsable] = "true"> @@ -36,6 +59,7 @@ <div body> <layer-browser > </layer-browser> + </div> </panel-component> </div> @@ -66,11 +90,17 @@ </div> <div resizeSliver> + <span + class = "tabContainer" + (click) = "toggleSidePanel('menuBrowser')" + [ngClass] = "{'active-tab' : (sidePanelView$ | async) === 'menuBrowser'}" > + <i class="glyphicon glyphicon-info-sign"></i> + </span> <span container = "body" placement = "left" - [tooltip] = "!(selectedPOI$ | async) ? '' : (((selectedPOI$ | async).length === 0 ? 'No' : (selectedPOI$ | async).length) + ' selected region' + ((selectedPOI$ | async).length > 1 ? 's' : '')) + ' of interest' " + [tooltip] = "isMobile ? null : !(selectedPOI$ | async) ? '' : (((selectedPOI$ | async).length === 0 ? 'No' : (selectedPOI$ | async).length) + ' selected region' + ((selectedPOI$ | async).length > 1 ? 's' : '')) + ' of interest' " [ngClass] = "{'active-tab' : (sidePanelView$ | async) === 'dataBrowser'}" (click) = "toggleSidePanel('dataBrowser')" class = "tabContainer"> @@ -84,7 +114,7 @@ <span placement = "left" - [tooltip] = "!ngLayers ? '' : ((ngLayers.length === 0 ? 'No' : ngLayers.length) + ' loaded layer' + (ngLayers.length > 1 ? 's' : ''))" + [tooltip] = "isMobile ? null : !ngLayers ? '' : ((ngLayers.length === 0 ? 'No' : ngLayers.length) + ' loaded layer' + (ngLayers.length > 1 ? 's' : ''))" [ngClass] = "{'active-tab' : (sidePanelView$ | async) === 'ngLayer'}" (click) = "toggleSidePanel('ngLayer')" class = "tabContainer"> @@ -100,12 +130,12 @@ placement = "left" (mouseover) = "_toolIconsVisible = true" (mouseout) = "_toolIconsVisible = false" - [tooltip] = "_toolIconDockAll ? 'dock all widgets' : _toolIconFloatAll ? 'float all widgets' : 'Tools Browser'" + [tooltip] = "isMobile ? null : _toolIconDockAll ? 'dock all widgets' : _toolIconFloatAll ? 'float all widgets' : 'Tools Browser'" [ngClass] = "{'active-tab' : (sidePanelView$ | async) === 'toolsBrowser'}" (click) = "toggleSidePanel('toolsBrowser')" class = "tabContainer"> <i class="glyphicon glyphicon-wrench"></i> - <span class ="badge"> + <span *ngIf = "!isMobile" class ="badge"> <span [class.hidden] = "_toolIconsVisible" > ... </span> diff --git a/src/ui/banner/banner.style.css b/src/ui/banner/banner.style.css index 8c748fa426f37cfc962abf34ee0f5fabdcd97688..3df7fe3bca1a1c45b24931e6d9586dd3ab64a74a 100644 --- a/src/ui/banner/banner.style.css +++ b/src/ui/banner/banner.style.css @@ -1,14 +1,19 @@ +:host +{ + display:block; +} + div[container] { display:flex; flex-direction: row; - height:0px; + flex-wrap : wrap; } dropdown-component, div[container] > div[searchRegionPopover] { margin-left:1em; - height: 2em; + margin-bottom: 0.4em; } div[treeHeader] @@ -87,34 +92,3 @@ input[type="text"] box-shadow: inset 0 4px 6px 0 rgba(0,0,0,0.2); color:rgba(255,255,255,0.8); } - -:host-context([darktheme="true"]) [hbpLogoContainer] -{ - background-image:url('res/image/HBP_Primary_RGB_WhiteText.png') -} - -:host-context([darktheme="false"]) [hbpLogoContainer] -{ - background-image:url('res/image/HBP_Primary_RGB_BlackText.png') -} - -[hbpLogoContainer] -{ - display:inline-block; - background-size: cover; - pointer-events: none; - height:80px; -} - -[hbpLogoContainer] > img -{ - visibility: hidden; - height:80px; - pointer-events: none; -} - -:host -{ - display:flex; - height:0px; -} \ No newline at end of file diff --git a/src/ui/banner/banner.template.html b/src/ui/banner/banner.template.html index 04a8472c3c4d05c35360ac4e3a03922e323261cb..a2a60e9504cf1df6b90070de0eb42fbea990b0fd 100644 --- a/src/ui/banner/banner.template.html +++ b/src/ui/banner/banner.template.html @@ -1,6 +1,3 @@ -<span hbpLogoContainer> - <img src = "res/image/HBP_Primary_RGB_WhiteText.png" /> -</span> <div container> <dropdown-component (itemSelected) = "selectTemplate($event)" diff --git a/src/ui/citation/citations.style.css b/src/ui/citation/citations.style.css index 9eaed9b36632a460022148d9b49a7ccad53911f7..28870fd792652fb4da04158fa9db89d2b24d6c21 100644 --- a/src/ui/citation/citations.style.css +++ b/src/ui/citation/citations.style.css @@ -1,4 +1,4 @@ -:host > div[citationContainer] +div[citationContainer] { font-size: 90%; text-align: left; @@ -8,7 +8,7 @@ margin-top:1em; } -:host > div[citationContainer]:not(:first-child) +div[citationContainer]:not(:first-child) { padding-top: 0px; } diff --git a/src/ui/logoContainer/logoContainer.component.ts b/src/ui/logoContainer/logoContainer.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..05688ff1d7abe974d528be0a05e4fd1328b1bf92 --- /dev/null +++ b/src/ui/logoContainer/logoContainer.component.ts @@ -0,0 +1,13 @@ +import { Component } from "@angular/core"; + +@Component({ + selector : 'logo-container', + templateUrl : './logoContainer.template.html', + styleUrls : [ + './logoContainer.style.css' + ] +}) + +export class LogoContainer{ + +} \ No newline at end of file diff --git a/src/ui/logoContainer/logoContainer.style.css b/src/ui/logoContainer/logoContainer.style.css new file mode 100644 index 0000000000000000000000000000000000000000..9dd71db9f2fa74d747564654fbe0a87d2204a2a4 --- /dev/null +++ b/src/ui/logoContainer/logoContainer.style.css @@ -0,0 +1,25 @@ + +:host-context([darktheme="true"]) [hbpLogoContainer] +{ + background-image:url('res/image/HBP_Primary_RGB_WhiteText.png') +} + +:host-context([darktheme="false"]) [hbpLogoContainer] +{ + background-image:url('res/image/HBP_Primary_RGB_BlackText.png') +} + +[hbpLogoContainer] +{ + display:inline-block; + background-size: cover; + pointer-events: none; + height:80px; +} + +[hbpLogoContainer] > img +{ + visibility: hidden; + height:80px; + pointer-events: none; +} diff --git a/src/ui/logoContainer/logoContainer.template.html b/src/ui/logoContainer/logoContainer.template.html new file mode 100644 index 0000000000000000000000000000000000000000..1c50cd29202bd9b1886cfdca6810a678c54c4635 --- /dev/null +++ b/src/ui/logoContainer/logoContainer.template.html @@ -0,0 +1,3 @@ +<span hbpLogoContainer> + <img src = "res/image/HBP_Primary_RGB_WhiteText.png" /> +</span> \ No newline at end of file diff --git a/src/ui/nehubaContainer/nehubaContainer.component.ts b/src/ui/nehubaContainer/nehubaContainer.component.ts index 0941911444243f13ae334e1ee8cacdb04c472517..de71060992034ef26b695467d4b58ce54ad5a5d9 100644 --- a/src/ui/nehubaContainer/nehubaContainer.component.ts +++ b/src/ui/nehubaContainer/nehubaContainer.component.ts @@ -3,7 +3,7 @@ import { NehubaViewerUnit } from "./nehubaViewer/nehubaViewer.component"; import { Store, select } from "@ngrx/store"; import { ViewerStateInterface, safeFilter, SELECT_REGIONS, getLabelIndexMap, DataEntry, CHANGE_NAVIGATION, isDefined, MOUSE_OVER_SEGMENT, USER_LANDMARKS, ADD_NG_LAYER, REMOVE_NG_LAYER, SHOW_NG_LAYER, NgViewerStateInterface, HIDE_NG_LAYER, MOUSE_OVER_LANDMARK, SELECT_LANDMARKS, Landmark, PointLandmarkGeometry, PlaneLandmarkGeometry } from "../../services/stateStore.service"; import { Observable, Subscription, fromEvent, combineLatest, merge, of } from "rxjs"; -import { filter,map, take, scan, debounceTime, distinctUntilChanged, switchMap, skip, withLatestFrom, buffer } from "rxjs/operators"; +import { filter,map, take, scan, debounceTime, distinctUntilChanged, switchMap, skip, withLatestFrom, buffer, takeUntil } from "rxjs/operators"; import { AtlasViewerAPIServices, UserLandmark } from "../../atlasViewer/atlasViewer.apiService.service"; import { timedValues } from "../../util/generator"; import { AtlasViewerDataService } from "../../atlasViewer/atlasViewer.dataService.service"; @@ -197,33 +197,7 @@ export class NehubaContainer implements OnInit, OnDestroy{ this.newViewer$.pipe( switchMap(() => fromEvent(this.elementRef.nativeElement, 'sliceRenderEvent') .pipe( - scan((acc:Event[],event:Event)=>{ - const target = (event as Event).target as HTMLElement - /** - * 0 | 1 - * 2 | 3 - * - * 4 ??? - */ - const key = target.offsetLeft < 5 && target.offsetTop < 5 ? - 0 : - target.offsetLeft > 5 && target.offsetTop < 5 ? - 1 : - target.offsetLeft < 5 && target.offsetTop > 5 ? - 2 : - target.offsetLeft > 5 && target.offsetTop > 5 ? - 3 : - 4 - - const _ = {} - _[key] = event - return Object.assign({},acc,_) - },[]), - filter(v=>{ - const isdefined = (obj) => typeof obj !== 'undefined' && obj !== null - return (isdefined(v[0]) && isdefined(v[1]) && isdefined(v[2])) - }), - take(1) + ...takeOnePipe ) ) ).subscribe((events)=>{ @@ -309,6 +283,10 @@ export class NehubaContainer implements OnInit, OnDestroy{ ) } + get isMobile(){ + return this.constantService.mobile + } + ngOnInit(){ this.subscriptions.push( @@ -777,7 +755,8 @@ export class NehubaContainer implements OnInit, OnDestroy{ map((ev:MouseEvent)=>({eventName :'mouseup',event:ev})) ), ) , - mouseOverNehuba : this.onHoverSegment$ + mouseOverNehuba : this.onHoverSegment$, + getNgHash : this.nehubaViewer.getNgHash } } @@ -974,6 +953,40 @@ export class NehubaContainer implements OnInit, OnDestroy{ } } +export const identifySrcElement = (element:HTMLElement) => { + return element.offsetLeft < 5 && element.offsetTop < 5 ? + 0 : + element.offsetLeft > 5 && element.offsetTop < 5 ? + 1 : + element.offsetLeft < 5 && element.offsetTop > 5 ? + 2 : + element.offsetLeft > 5 && element.offsetTop > 5 ? + 3 : + 4 +} + +export const takeOnePipe = [ + scan((acc:Event[],event:Event)=>{ + const target = (event as Event).target as HTMLElement + /** + * 0 | 1 + * 2 | 3 + * + * 4 ??? + */ + const key = identifySrcElement(target) + + const _ = {} + _[key] = event + return Object.assign({},acc,_) + },[]), + filter(v=>{ + const isdefined = (obj) => typeof obj !== 'undefined' && obj !== null + return (isdefined(v[0]) && isdefined(v[1]) && isdefined(v[2])) + }), + take(1) +] + export const CM_THRESHOLD = `0.05` export const CM_MATLAB_JET = `float r;if( x < 0.7 ){r = 4.0 * x - 1.5;} else {r = -4.0 * x + 4.5;}float g;if (x < 0.5) {g = 4.0 * x - 0.5;} else {g = -4.0 * x + 3.5;}float b;if (x < 0.3) {b = 4.0 * x + 0.5;} else {b = -4.0 * x + 2.5;}float a = 1.0;` export const getActiveColorMapFragmentMain = ():string=>`void main(){float x = toNormalized(getDataValue());${CM_MATLAB_JET}if(x>${CM_THRESHOLD}){emitRGB(vec3(r,g,b));}else{emitTransparent();}}` \ No newline at end of file diff --git a/src/ui/nehubaContainer/nehubaContainer.style.css b/src/ui/nehubaContainer/nehubaContainer.style.css index ac5c9d8051e1cc251923a643935a5afca9e5b862..19849a5fcb923172dc20f4c988968e86a4e42d6a 100644 --- a/src/ui/nehubaContainer/nehubaContainer.style.css +++ b/src/ui/nehubaContainer/nehubaContainer.style.css @@ -136,4 +136,10 @@ div.loadingIndicator div.spinnerAnimationCircle :host-context([darktheme="true"]) [perspectiveLoadingText] { color:rgba(255,255,255,0.8); +} + +[desktopTemplateCitation] +{ + padding: 0 1em; + display:block; } \ No newline at end of file diff --git a/src/ui/nehubaContainer/nehubaContainer.template.html b/src/ui/nehubaContainer/nehubaContainer.template.html index 49af021df0100f6fd15ae4b53fd5a848606efad6..912fecbedd0f2e563539a5e7534444a9768f19f6 100644 --- a/src/ui/nehubaContainer/nehubaContainer.template.html +++ b/src/ui/nehubaContainer/nehubaContainer.template.html @@ -90,17 +90,9 @@ *ngIf = "viewerLoaded"> <div statusCard> - <citations-component - *ngIf = "selectedParcellation && selectedParcellation.properties" - [properties] = "selectedParcellation.properties" - citationContainer> + <template-parcellation-citation-container desktopTemplateCitation *ngIf = "!isMobile"> - </citations-component> - <citations-component - [properties] = "selectedTemplate.properties" - *ngIf = "showCitation" - citationContainer> - </citations-component> + </template-parcellation-citation-container> <hr *ngIf = "showCitation" /> @@ -126,11 +118,11 @@ navigateInput/> <br /> - <small>Mouse: </small> - <small> + <small *ngIf = "!isMobile">Mouse: </small> + <small *ngIf = "!isMobile"> {{ mouseCoord }} </small> - <br /> + <br *ngIf = "!isMobile" /> <small onHoverSegment> {{ onHoverSegmentName$ | async }} </small> diff --git a/src/ui/nehubaContainer/nehubaViewer/nehubaViewer.component.ts b/src/ui/nehubaContainer/nehubaViewer/nehubaViewer.component.ts index 66759a6abf504ffa2cab96395f7bdecf21f8b9f6..74d0b014fd634209400269bb7ebd5fac3642578b 100644 --- a/src/ui/nehubaContainer/nehubaViewer/nehubaViewer.component.ts +++ b/src/ui/nehubaContainer/nehubaViewer/nehubaViewer.component.ts @@ -4,8 +4,9 @@ import * as export_nehuba from 'third_party/export_nehuba/main.bundle.js' import 'third_party/export_nehuba/chunk_worker.bundle.js' import { fromEvent, interval } from 'rxjs' import { AtlasWorkerService } from "../../../atlasViewer/atlasViewer.workerService.service"; -import { buffer, map, filter, debounceTime } from "rxjs/operators"; +import { buffer, map, filter, debounceTime, take, takeUntil, scan, switchMap } from "rxjs/operators"; import { AtlasViewerConstantsServices } from "../../../atlasViewer/atlasViewer.constantService.service"; +import { takeOnePipe, identifySrcElement } from "../nehubaContainer.component"; @Component({ templateUrl : './nehubaViewer.template.html', @@ -225,21 +226,98 @@ export class NehubaViewerUnit implements AfterViewInit,OnDestroy{ private defaultColormap : Map<number,{red:number,green:number,blue:number}> public mouseOverSegment : number | null + private viewportToDatas : [any, any, any] = [null, null, null] + + public getNgHash : () => string = export_nehuba.getNgHash + ngAfterViewInit(){ this.nehubaViewer = export_nehuba.createNehubaViewer(this.config, (err)=>{ /* print in debug mode */ - }); - + }) + if(this.regionsLabelIndexMap){ const managedLayers = this.nehubaViewer.ngviewer.layerManager.managedLayers managedLayers.slice(1).forEach(layer=>layer.setVisible(false)) this.nehubaViewer.redraw() } + /* creation of the layout is done on next frame, hence the settimeout */ + setTimeout(() => { + window['viewer'].display.panels.forEach(patchSliceViewPanel) + }) + this.newViewerInit() this.loadNewParcellation() window['nehubaViewer'] = this.nehubaViewer + + this.ondestroySubscriptions.push( + fromEvent(this.elementRef.nativeElement, 'viewportToData').pipe( + ...takeOnePipe + ).subscribe((events:CustomEvent[]) => { + [0,1,2].forEach(idx => this.viewportToDatas[idx] = events[idx].detail.viewportToData) + }) + ) + + this.ondestroySubscriptions.push( + + fromEvent(this.elementRef.nativeElement,'touchstart').pipe( + map((ev:TouchEvent) => { + const srcElement : HTMLElement = ev.srcElement || (ev as any).originalTarget + return { + startPos: [ev.touches[0].screenX, ev.touches[0].screenY], + elementId: identifySrcElement(srcElement), + srcElement + } + }), + switchMap(({startPos, elementId, srcElement}) => fromEvent(this.elementRef.nativeElement,'touchmove').pipe( + map((ev: TouchEvent) => (ev.stopPropagation(), ev.preventDefault(), ev)), + filter((ev:TouchEvent) => ev.touches.length === 1), + map((event:TouchEvent) => ({ + startPos, + event, + elementId, + srcElement + })), + scan((acc,ev:any) => { + return acc.length < 2 + ? acc.concat(ev) + : acc.slice(1).concat(ev) + },[]), + map(double => ({ + elementId: double[0].elementId, + deltaX: double.length === 1 + ? null // startPos[0] - (double[0].event as TouchEvent).touches[0].screenX + : double.length === 2 + ? (double[0].event as TouchEvent).touches[0].screenX - (double[1].event as TouchEvent).touches[0].screenX + : null, + deltaY: double.length === 1 + ? null // startPos[0] - (double[0].event as TouchEvent).touches[0].screenY + : double.length === 2 + ? (double[0].event as TouchEvent).touches[0].screenY - (double[1].event as TouchEvent).touches[0].screenY + : null + })), + takeUntil(fromEvent(this.elementRef.nativeElement, 'touchend').pipe(filter((ev: TouchEvent) => ev.touches.length === 0))) + )) + ).subscribe(({ elementId, deltaX, deltaY }) => { + if(deltaX === null || deltaY === null){ + console.warn('deltax/y is null') + return + } + if(elementId === 0 || elementId === 1 || elementId === 2){ + const {position} = this.nehubaViewer.ngviewer.navigationState + const pos = position.spatialCoordinates + export_nehuba.vec3.set(pos, deltaX, deltaY, 0) + export_nehuba.vec3.transformMat4(pos, pos, this.viewportToDatas[elementId]) + position.changed.dispatch() + }else if(elementId === 3){ + const {perspectiveNavigationState} = this.nehubaViewer.ngviewer + perspectiveNavigationState.pose.rotateRelative(this.vec3([0, 1, 0]), -deltaX / 4.0 * Math.PI / 180.0); + perspectiveNavigationState.pose.rotateRelative(this.vec3([1, 0, 0]), deltaY / 4.0 * Math.PI / 180.0); + this.nehubaViewer.ngviewer.perspectiveNavigationState.changed.dispatch(); + } + }) + ) } ngOnDestroy(){ this._s$.forEach(_s$=>{ @@ -630,6 +708,24 @@ export class NehubaViewerUnit implements AfterViewInit,OnDestroy{ } } +const patchSliceViewPanel = (sliceViewPanel: any) => { + const originalDraw = sliceViewPanel.draw + sliceViewPanel.draw = function (this) { + + if(this.sliceView){ + const viewportToDataEv = new CustomEvent('viewportToData', { + bubbles: true, + detail: { + viewportToData : this.sliceView.viewportToData + } + }) + this.element.dispatchEvent(viewportToDataEv) + } + + originalDraw.call(this) + } +} + /** * * https://stackoverflow.com/a/16348977/6059235 diff --git a/src/ui/templateParcellationCitations/templateParcellationCitations.component.ts b/src/ui/templateParcellationCitations/templateParcellationCitations.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..4754fe01f3c573f240c54748542c1e42c9c9bb46 --- /dev/null +++ b/src/ui/templateParcellationCitations/templateParcellationCitations.component.ts @@ -0,0 +1,34 @@ +import { Component } from "@angular/core"; +import { Observable } from "rxjs"; +import { ViewerStateInterface, isDefined, safeFilter } from "../../services/stateStore.service"; +import { Store, select } from "@ngrx/store"; +import { filter, switchMap, map } from "rxjs/operators"; + +@Component({ + selector : 'template-parcellation-citation-container', + templateUrl : './templateParcellationCitations.template.html', + styleUrls : [ + './templateParcellationCitations.style.css' + ] +}) + +export class TemplateParcellationCitationsContainer{ + selectedTemplate$: Observable<any> + selectedParcellation$: Observable<any> + + constructor(private store: Store<ViewerStateInterface>){ + this.selectedTemplate$ = this.store.pipe( + select('viewerState'), + safeFilter('templateSelected'), + map(state => state.templateSelected) + ) + + this.selectedParcellation$ = this.selectedTemplate$.pipe( + switchMap(() => this.store.pipe( + select('viewerState'), + safeFilter('parcellationSelected'), + map(state => state.parcellationSelected) + )) + ) + } +} \ No newline at end of file diff --git a/src/ui/templateParcellationCitations/templateParcellationCitations.style.css b/src/ui/templateParcellationCitations/templateParcellationCitations.style.css new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/src/ui/templateParcellationCitations/templateParcellationCitations.template.html b/src/ui/templateParcellationCitations/templateParcellationCitations.template.html new file mode 100644 index 0000000000000000000000000000000000000000..48b54d534f9efe9b53f055ccbae85f689afe67d9 --- /dev/null +++ b/src/ui/templateParcellationCitations/templateParcellationCitations.template.html @@ -0,0 +1,11 @@ +<citations-component + *ngIf = "selectedTemplate$ | async" + [properties] = "(selectedTemplate$ | async).properties" + citationContainer> + +</citations-component> +<citations-component + *ngIf = "selectedParcellation$ | async" + [properties] = "(selectedParcellation$ | async).properties" + citationContainer> +</citations-component> \ No newline at end of file diff --git a/src/ui/ui.module.ts b/src/ui/ui.module.ts index 2b1990309f3b804dbc973167ecbec9c5ad2edf13..9ac37e377aaf8afe762007bfd387a4cb55b632e6 100644 --- a/src/ui/ui.module.ts +++ b/src/ui/ui.module.ts @@ -34,6 +34,8 @@ import { SortDataEntriesToRegion } from "../util/pipes/sortDataEntriesIntoRegion import { DatasetViewerComponent } from "./datasetViewer/datasetViewer.component"; import { SpatialLandmarksToDataBrowserItemPipe } from "../util/pipes/spatialLandmarksToDatabrowserItem.pipe"; import { DownloadDirective } from "../util/directives/download.directive"; +import { LogoContainer } from "./logoContainer/logoContainer.component"; +import { TemplateParcellationCitationsContainer } from "./templateParcellationCitations/templateParcellationCitations.component"; @NgModule({ @@ -63,6 +65,8 @@ import { DownloadDirective } from "../util/directives/download.directive"; KgEntryViewer, SubjectViewer, DatasetViewerComponent, + LogoContainer, + TemplateParcellationCitationsContainer, /* pipes */ GroupDatasetByRegion, @@ -98,7 +102,9 @@ import { DownloadDirective } from "../util/directives/download.directive"; DataBrowserUI, LayerBrowser, FileViewer, - DatasetViewerComponent + LogoContainer, + DatasetViewerComponent, + TemplateParcellationCitationsContainer ] }) diff --git a/third_party/export_nehuba/main.bundle.js b/third_party/export_nehuba/main.bundle.js index 09e1d3e2f5c288cd7263cc31a19314bce80da01a..c94f0d78ae027d577c4bd38925679b74a63ccb67 100644 --- a/third_party/export_nehuba/main.bundle.js +++ b/third_party/export_nehuba/main.bundle.js @@ -46,149 +46,149 @@ $jscomp.iteratorPrototype=function(h){$jscomp.initSymbolIterator();h={next:h};h[ $jscomp.polyfill=function(h,f,a,q){if(f){a=$jscomp.global;h=h.split(".");for(q=0;q<h.length-1;q++){var p=h[q];p in a||(a[p]={});a=a[p]}h=h[h.length-1];q=a[h];f=f(q);f!=q&&null!=f&&$jscomp.defineProperty(a,h,{configurable:!0,writable:!0,value:f})}};$jscomp.polyfill("Number.isNaN",function(h){return h?h:function(f){return"number"===typeof f&&isNaN(f)}},"es6","es3"); $jscomp.polyfill("Number.isFinite",function(h){return h?h:function(f){return"number"!==typeof f?!1:!isNaN(f)&&Infinity!==f&&-Infinity!==f}},"es6","es3");$jscomp.iteratorFromArray=function(h,f){$jscomp.initSymbolIterator();h instanceof String&&(h+="");var a=0,q={next:function(){if(a<h.length){var p=a++;return{value:f(p,h[p]),done:!1}}q.next=function(){return{done:!0,value:void 0}};return q.next()}};q[Symbol.iterator]=function(){return q};return q}; $jscomp.polyfill("Array.prototype.keys",function(h){return h?h:function(){return $jscomp.iteratorFromArray(this,function(f){return f})}},"es6","es3");$jscomp.polyfill("Number.isInteger",function(h){return h?h:function(f){return Number.isFinite(f)?f===Math.floor(f):!1}},"es6","es3"); -$jscomp.polyfill("Array.from",function(h){return h?h:function(f,a,h){$jscomp.initSymbolIterator();a=null!=a?a:function(a){return a};var p=[],n=f[Symbol.iterator];if("function"==typeof n)for(f=n.call(f);!(n=f.next()).done;)p.push(a.call(h,n.value));else{n=f.length;for(var c=0;c<n;c++)p.push(a.call(h,f[c]))}return p}},"es6","es3");$jscomp.owns=function(h,f){return Object.prototype.hasOwnProperty.call(h,f)}; -$jscomp.polyfill("WeakMap",function(h){function f(a){$jscomp.owns(a,q)||$jscomp.defineProperty(a,q,{value:{}})}function a(a){var b=Object[a];b&&(Object[a]=function(a){f(a);return b(a)})}if(function(){if(!h||!Object.seal)return!1;try{var a=Object.seal({}),b=Object.seal({}),d=new h([[a,2],[b,3]]);if(2!=d.get(a)||3!=d.get(b))return!1;d.delete(a);d.set(b,4);return!d.has(a)&&4==d.get(b)}catch(e){return!1}}())return h;var q="$jscomp_hidden_"+Math.random().toString().substring(2);a("freeze");a("preventExtensions"); +$jscomp.polyfill("Array.from",function(h){return h?h:function(f,a,h){$jscomp.initSymbolIterator();a=null!=a?a:function(a){return a};var p=[],n=f[Symbol.iterator];if("function"==typeof n)for(f=n.call(f);!(n=f.next()).done;)p.push(a.call(h,n.value));else{n=f.length;for(var d=0;d<n;d++)p.push(a.call(h,f[d]))}return p}},"es6","es3");$jscomp.owns=function(h,f){return Object.prototype.hasOwnProperty.call(h,f)}; +$jscomp.polyfill("WeakMap",function(h){function f(a){$jscomp.owns(a,q)||$jscomp.defineProperty(a,q,{value:{}})}function a(a){var b=Object[a];b&&(Object[a]=function(a){f(a);return b(a)})}if(function(){if(!h||!Object.seal)return!1;try{var a=Object.seal({}),b=Object.seal({}),c=new h([[a,2],[b,3]]);if(2!=c.get(a)||3!=c.get(b))return!1;c.delete(a);c.set(b,4);return!c.has(a)&&4==c.get(b)}catch(e){return!1}}())return h;var q="$jscomp_hidden_"+Math.random().toString().substring(2);a("freeze");a("preventExtensions"); a("seal");var p=0,n=function(a){this.id_=(p+=Math.random()+1).toString();if(a){$jscomp.initSymbol();$jscomp.initSymbolIterator();a=$jscomp.makeIterator(a);for(var b;!(b=a.next()).done;)b=b.value,this.set(b[0],b[1])}};n.prototype.set=function(a,b){f(a);if(!$jscomp.owns(a,q))throw Error("WeakMap key fail: "+a);a[q][this.id_]=b;return this};n.prototype.get=function(a){return $jscomp.owns(a,q)?a[q][this.id_]:void 0};n.prototype.has=function(a){return $jscomp.owns(a,q)&&$jscomp.owns(a[q],this.id_)};n.prototype.delete= function(a){return $jscomp.owns(a,q)&&$jscomp.owns(a[q],this.id_)?delete a[q][this.id_]:!1};return n},"es6","es3");$jscomp.MapEntry=function(){}; -$jscomp.polyfill("Map",function(h){if(!$jscomp.ASSUME_NO_NATIVE_MAP&&function(){if(!h||!h.prototype.entries||"function"!=typeof Object.seal)return!1;try{var a=Object.seal({x:4}),c=new h($jscomp.makeIterator([[a,"s"]]));if("s"!=c.get(a)||1!=c.size||c.get({x:4})||c.set({x:4},"t")!=c||2!=c.size)return!1;var e=c.entries(),g=e.next();if(g.done||g.value[0]!=a||"s"!=g.value[1])return!1;g=e.next();return g.done||4!=g.value[0].x||"t"!=g.value[1]||!e.next().done?!1:!0}catch(l){return!1}}())return h;$jscomp.initSymbol(); -$jscomp.initSymbolIterator();var f=new WeakMap,a=function(a){this.data_={};this.head_=n();this.size=0;if(a){a=$jscomp.makeIterator(a);for(var b;!(b=a.next()).done;)b=b.value,this.set(b[0],b[1])}};a.prototype.set=function(a,c){var b=q(this,a);b.list||(b.list=this.data_[b.id]=[]);b.entry?b.entry.value=c:(b.entry={next:this.head_,previous:this.head_.previous,head:this.head_,key:a,value:c},b.list.push(b.entry),this.head_.previous.next=b.entry,this.head_.previous=b.entry,this.size++);return this};a.prototype.delete= +$jscomp.polyfill("Map",function(h){if(!$jscomp.ASSUME_NO_NATIVE_MAP&&function(){if(!h||!h.prototype.entries||"function"!=typeof Object.seal)return!1;try{var a=Object.seal({x:4}),d=new h($jscomp.makeIterator([[a,"s"]]));if("s"!=d.get(a)||1!=d.size||d.get({x:4})||d.set({x:4},"t")!=d||2!=d.size)return!1;var e=d.entries(),g=e.next();if(g.done||g.value[0]!=a||"s"!=g.value[1])return!1;g=e.next();return g.done||4!=g.value[0].x||"t"!=g.value[1]||!e.next().done?!1:!0}catch(l){return!1}}())return h;$jscomp.initSymbol(); +$jscomp.initSymbolIterator();var f=new WeakMap,a=function(a){this.data_={};this.head_=n();this.size=0;if(a){a=$jscomp.makeIterator(a);for(var b;!(b=a.next()).done;)b=b.value,this.set(b[0],b[1])}};a.prototype.set=function(a,d){var b=q(this,a);b.list||(b.list=this.data_[b.id]=[]);b.entry?b.entry.value=d:(b.entry={next:this.head_,previous:this.head_.previous,head:this.head_,key:a,value:d},b.list.push(b.entry),this.head_.previous.next=b.entry,this.head_.previous=b.entry,this.size++);return this};a.prototype.delete= function(a){a=q(this,a);return a.entry&&a.list?(a.list.splice(a.index,1),a.list.length||delete this.data_[a.id],a.entry.previous.next=a.entry.next,a.entry.next.previous=a.entry.previous,a.entry.head=null,this.size--,!0):!1};a.prototype.clear=function(){this.data_={};this.head_=this.head_.previous=n();this.size=0};a.prototype.has=function(a){return!!q(this,a).entry};a.prototype.get=function(a){return(a=q(this,a).entry)&&a.value};a.prototype.entries=function(){return p(this,function(a){return[a.key, -a.value]})};a.prototype.keys=function(){return p(this,function(a){return a.key})};a.prototype.values=function(){return p(this,function(a){return a.value})};a.prototype.forEach=function(a,c){for(var b=this.entries(),d;!(d=b.next()).done;)d=d.value,a.call(c,d[1],d[0],this)};a.prototype[Symbol.iterator]=a.prototype.entries;var q=function(a,d){var b=d&&typeof d;"object"==b||"function"==b?f.has(d)?b=f.get(d):(b=""+ ++c,f.set(d,b)):b="p_"+d;var g=a.data_[b];if(g&&$jscomp.owns(a.data_,b))for(a=0;a<g.length;a++){var l= -g[a];if(d!==d&&l.key!==l.key||d===l.key)return{id:b,list:g,index:a,entry:l}}return{id:b,list:g,index:-1,entry:void 0}},p=function(a,c){var b=a.head_;return $jscomp.iteratorPrototype(function(){if(b){for(;b.head!=a.head_;)b=b.previous;for(;b.next!=b.head;)return b=b.next,{done:!1,value:c(b)};b=null}return{done:!0,value:void 0}})},n=function(){var a={};return a.previous=a.next=a.head=a},c=0;return a},"es6","es3"); +a.value]})};a.prototype.keys=function(){return p(this,function(a){return a.key})};a.prototype.values=function(){return p(this,function(a){return a.value})};a.prototype.forEach=function(a,d){for(var b=this.entries(),c;!(c=b.next()).done;)c=c.value,a.call(d,c[1],c[0],this)};a.prototype[Symbol.iterator]=a.prototype.entries;var q=function(a,c){var b=c&&typeof c;"object"==b||"function"==b?f.has(c)?b=f.get(c):(b=""+ ++d,f.set(c,b)):b="p_"+c;var g=a.data_[b];if(g&&$jscomp.owns(a.data_,b))for(a=0;a<g.length;a++){var l= +g[a];if(c!==c&&l.key!==l.key||c===l.key)return{id:b,list:g,index:a,entry:l}}return{id:b,list:g,index:-1,entry:void 0}},p=function(a,d){var b=a.head_;return $jscomp.iteratorPrototype(function(){if(b){for(;b.head!=a.head_;)b=b.previous;for(;b.next!=b.head;)return b=b.next,{done:!1,value:d(b)};b=null}return{done:!0,value:void 0}})},n=function(){var a={};return a.previous=a.next=a.head=a},d=0;return a},"es6","es3"); $jscomp.checkStringArgs=function(h,f,a){if(null==h)throw new TypeError("The 'this' value for String.prototype."+a+" must not be null or undefined");if(f instanceof RegExp)throw new TypeError("First argument to String.prototype."+a+" must not be a regular expression");return h+""}; -$jscomp.polyfill("String.prototype.startsWith",function(h){return h?h:function(f,a){var h=$jscomp.checkStringArgs(this,f,"startsWith");f+="";var p=h.length,n=f.length;a=Math.max(0,Math.min(a|0,h.length));for(var c=0;c<n&&a<p;)if(h[a++]!=f[c++])return!1;return c>=n}},"es6","es3"); -$jscomp.polyfill("Set",function(h){if(!$jscomp.ASSUME_NO_NATIVE_SET&&function(){if(!h||!h.prototype.entries||"function"!=typeof Object.seal)return!1;try{var a=Object.seal({x:4}),f=new h($jscomp.makeIterator([a]));if(!f.has(a)||1!=f.size||f.add(a)!=f||1!=f.size||f.add({x:4})!=f||2!=f.size)return!1;var p=f.entries(),n=p.next();if(n.done||n.value[0]!=a||n.value[1]!=a)return!1;n=p.next();return n.done||n.value[0]==a||4!=n.value[0].x||n.value[1]!=n.value[0]?!1:p.next().done}catch(c){return!1}}())return h; +$jscomp.polyfill("String.prototype.startsWith",function(h){return h?h:function(f,a){var h=$jscomp.checkStringArgs(this,f,"startsWith");f+="";var p=h.length,n=f.length;a=Math.max(0,Math.min(a|0,h.length));for(var d=0;d<n&&a<p;)if(h[a++]!=f[d++])return!1;return d>=n}},"es6","es3"); +$jscomp.polyfill("Set",function(h){if(!$jscomp.ASSUME_NO_NATIVE_SET&&function(){if(!h||!h.prototype.entries||"function"!=typeof Object.seal)return!1;try{var a=Object.seal({x:4}),f=new h($jscomp.makeIterator([a]));if(!f.has(a)||1!=f.size||f.add(a)!=f||1!=f.size||f.add({x:4})!=f||2!=f.size)return!1;var p=f.entries(),n=p.next();if(n.done||n.value[0]!=a||n.value[1]!=a)return!1;n=p.next();return n.done||n.value[0]==a||4!=n.value[0].x||n.value[1]!=n.value[0]?!1:p.next().done}catch(d){return!1}}())return h; $jscomp.initSymbol();$jscomp.initSymbolIterator();var f=function(a){this.map_=new Map;if(a){a=$jscomp.makeIterator(a);for(var f;!(f=a.next()).done;)this.add(f.value)}this.size=this.map_.size};f.prototype.add=function(a){this.map_.set(a,a);this.size=this.map_.size;return this};f.prototype.delete=function(a){a=this.map_.delete(a);this.size=this.map_.size;return a};f.prototype.clear=function(){this.map_.clear();this.size=0};f.prototype.has=function(a){return this.map_.has(a)};f.prototype.entries=function(){return this.map_.entries()}; f.prototype.values=function(){return this.map_.values()};f.prototype.keys=f.prototype.values;f.prototype[Symbol.iterator]=f.prototype.values;f.prototype.forEach=function(a,f){var h=this;this.map_.forEach(function(n){return a.call(f,n,n,h)})};return f},"es6","es3");$jscomp.polyfill("Array.prototype.values",function(h){return h?h:function(){return $jscomp.iteratorFromArray(this,function(f,a){return a})}},"es6","es3"); $jscomp.polyfill("Math.log2",function(h){return h?h:function(f){return Math.log(f)/Math.LN2}},"es6","es3");$jscomp.polyfill("String.prototype.repeat",function(h){return h?h:function(f){var a=$jscomp.checkStringArgs(this,null,"repeat");if(0>f||1342177279<f)throw new RangeError("Invalid count value");f|=0;for(var h="";f;)if(f&1&&(h+=a),f>>>=1)a+=a;return h}},"es6","es3"); $jscomp.polyfill("WeakSet",function(h){if(function(){if(!h||!Object.seal)return!1;try{var a=Object.seal({}),f=Object.seal({}),p=new h([a]);if(!p.has(a)||p.has(f))return!1;p.delete(a);p.add(f);return!p.has(a)&&p.has(f)}catch(n){return!1}}())return h;var f=function(a){this.map_=new WeakMap;if(a){$jscomp.initSymbol();$jscomp.initSymbolIterator();a=$jscomp.makeIterator(a);for(var f;!(f=a.next()).done;)this.add(f.value)}};f.prototype.add=function(a){this.map_.set(a,!0);return this};f.prototype.has=function(a){return this.map_.has(a)}; f.prototype.delete=function(a){return this.map_.delete(a)};return f},"es6","es3");$jscomp.findInternal=function(h,f,a){h instanceof String&&(h=String(h));for(var q=h.length,p=0;p<q;p++){var n=h[p];if(f.call(a,n,p,h))return{i:p,v:n}}return{i:-1,v:void 0}};$jscomp.polyfill("Array.prototype.find",function(h){return h?h:function(f,a){return $jscomp.findInternal(this,f,a).v}},"es6","es3"); $jscomp.polyfill("Object.assign",function(h){return h?h:function(f,a){for(var h=1;h<arguments.length;h++){var p=arguments[h];if(p)for(var n in p)$jscomp.owns(p,n)&&(f[n]=p[n])}return f}},"es6","es3");$jscomp.FORCE_POLYFILL_PROMISE=!1; -$jscomp.polyfill("Promise",function(h){function f(){this.batch_=null}function a(a){return a instanceof p?a:new p(function(b,c){b(a)})}if(h&&!$jscomp.FORCE_POLYFILL_PROMISE)return h;f.prototype.asyncExecute=function(a){null==this.batch_&&(this.batch_=[],this.asyncExecuteBatch_());this.batch_.push(a);return this};f.prototype.asyncExecuteBatch_=function(){var a=this;this.asyncExecuteFunction(function(){a.executeBatch_()})};var q=$jscomp.global.setTimeout;f.prototype.asyncExecuteFunction=function(a){q(a, -0)};f.prototype.executeBatch_=function(){for(;this.batch_&&this.batch_.length;){var a=this.batch_;this.batch_=[];for(var b=0;b<a.length;++b){var d=a[b];delete a[b];try{d()}catch(e){this.asyncThrow_(e)}}}this.batch_=null};f.prototype.asyncThrow_=function(a){this.asyncExecuteFunction(function(){throw a;})};var p=function(a){this.state_=0;this.result_=void 0;this.onSettledCallbacks_=[];var b=this.createResolveAndReject_();try{a(b.resolve,b.reject)}catch(d){b.reject(d)}};p.prototype.createResolveAndReject_= -function(){function a(a){return function(c){d||(d=!0,a.call(b,c))}}var b=this,d=!1;return{resolve:a(this.resolveTo_),reject:a(this.reject_)}};p.prototype.resolveTo_=function(a){if(a===this)this.reject_(new TypeError("A Promise cannot resolve to itself"));else if(a instanceof p)this.settleSameAsPromise_(a);else{a:switch(typeof a){case "object":var b=null!=a;break a;case "function":b=!0;break a;default:b=!1}b?this.resolveToNonPromiseObj_(a):this.fulfill_(a)}};p.prototype.resolveToNonPromiseObj_=function(a){var b= -void 0;try{b=a.then}catch(d){this.reject_(d);return}"function"==typeof b?this.settleSameAsThenable_(b,a):this.fulfill_(a)};p.prototype.reject_=function(a){this.settle_(2,a)};p.prototype.fulfill_=function(a){this.settle_(1,a)};p.prototype.settle_=function(a,b){if(0!=this.state_)throw Error("Cannot settle("+a+", "+b|"): Promise already settled in state"+this.state_);this.state_=a;this.result_=b;this.executeOnSettledCallbacks_()};p.prototype.executeOnSettledCallbacks_=function(){if(null!=this.onSettledCallbacks_){for(var a= -this.onSettledCallbacks_,b=0;b<a.length;++b)a[b].call(),a[b]=null;this.onSettledCallbacks_=null}};var n=new f;p.prototype.settleSameAsPromise_=function(a){var b=this.createResolveAndReject_();a.callWhenSettled_(b.resolve,b.reject)};p.prototype.settleSameAsThenable_=function(a,b){var d=this.createResolveAndReject_();try{a.call(b,d.resolve,d.reject)}catch(e){d.reject(e)}};p.prototype.then=function(a,b){function d(a,b){return"function"==typeof a?function(b){try{c(a(b))}catch(r){g(r)}}:b}var c,g,l=new p(function(a, -b){c=a;g=b});this.callWhenSettled_(d(a,c),d(b,g));return l};p.prototype.catch=function(a){return this.then(void 0,a)};p.prototype.callWhenSettled_=function(a,b){function d(){switch(c.state_){case 1:a(c.result_);break;case 2:b(c.result_);break;default:throw Error("Unexpected state: "+c.state_);}}var c=this;null==this.onSettledCallbacks_?n.asyncExecute(d):this.onSettledCallbacks_.push(function(){n.asyncExecute(d)})};p.resolve=a;p.reject=function(a){return new p(function(b,c){c(a)})};p.race=function(c){return new p(function(b, -d){for(var e=$jscomp.makeIterator(c),g=e.next();!g.done;g=e.next())a(g.value).callWhenSettled_(b,d)})};p.all=function(c){var b=$jscomp.makeIterator(c),d=b.next();return d.done?a([]):new p(function(c,g){function e(a){return function(b){k[a]=b;t--;0==t&&c(k)}}var k=[],t=0;do k.push(void 0),t++,a(d.value).callWhenSettled_(e(k.length-1),g),d=b.next();while(!d.done)})};return p},"es6","es3"); +$jscomp.polyfill("Promise",function(h){function f(){this.batch_=null}function a(a){return a instanceof p?a:new p(function(b,d){b(a)})}if(h&&!$jscomp.FORCE_POLYFILL_PROMISE)return h;f.prototype.asyncExecute=function(a){null==this.batch_&&(this.batch_=[],this.asyncExecuteBatch_());this.batch_.push(a);return this};f.prototype.asyncExecuteBatch_=function(){var a=this;this.asyncExecuteFunction(function(){a.executeBatch_()})};var q=$jscomp.global.setTimeout;f.prototype.asyncExecuteFunction=function(a){q(a, +0)};f.prototype.executeBatch_=function(){for(;this.batch_&&this.batch_.length;){var a=this.batch_;this.batch_=[];for(var b=0;b<a.length;++b){var c=a[b];delete a[b];try{c()}catch(e){this.asyncThrow_(e)}}}this.batch_=null};f.prototype.asyncThrow_=function(a){this.asyncExecuteFunction(function(){throw a;})};var p=function(a){this.state_=0;this.result_=void 0;this.onSettledCallbacks_=[];var b=this.createResolveAndReject_();try{a(b.resolve,b.reject)}catch(c){b.reject(c)}};p.prototype.createResolveAndReject_= +function(){function a(a){return function(d){c||(c=!0,a.call(b,d))}}var b=this,c=!1;return{resolve:a(this.resolveTo_),reject:a(this.reject_)}};p.prototype.resolveTo_=function(a){if(a===this)this.reject_(new TypeError("A Promise cannot resolve to itself"));else if(a instanceof p)this.settleSameAsPromise_(a);else{a:switch(typeof a){case "object":var b=null!=a;break a;case "function":b=!0;break a;default:b=!1}b?this.resolveToNonPromiseObj_(a):this.fulfill_(a)}};p.prototype.resolveToNonPromiseObj_=function(a){var b= +void 0;try{b=a.then}catch(c){this.reject_(c);return}"function"==typeof b?this.settleSameAsThenable_(b,a):this.fulfill_(a)};p.prototype.reject_=function(a){this.settle_(2,a)};p.prototype.fulfill_=function(a){this.settle_(1,a)};p.prototype.settle_=function(a,b){if(0!=this.state_)throw Error("Cannot settle("+a+", "+b|"): Promise already settled in state"+this.state_);this.state_=a;this.result_=b;this.executeOnSettledCallbacks_()};p.prototype.executeOnSettledCallbacks_=function(){if(null!=this.onSettledCallbacks_){for(var a= +this.onSettledCallbacks_,b=0;b<a.length;++b)a[b].call(),a[b]=null;this.onSettledCallbacks_=null}};var n=new f;p.prototype.settleSameAsPromise_=function(a){var b=this.createResolveAndReject_();a.callWhenSettled_(b.resolve,b.reject)};p.prototype.settleSameAsThenable_=function(a,b){var c=this.createResolveAndReject_();try{a.call(b,c.resolve,c.reject)}catch(e){c.reject(e)}};p.prototype.then=function(a,b){function c(a,b){return"function"==typeof a?function(b){try{d(a(b))}catch(r){g(r)}}:b}var d,g,l=new p(function(a, +b){d=a;g=b});this.callWhenSettled_(c(a,d),c(b,g));return l};p.prototype.catch=function(a){return this.then(void 0,a)};p.prototype.callWhenSettled_=function(a,b){function c(){switch(d.state_){case 1:a(d.result_);break;case 2:b(d.result_);break;default:throw Error("Unexpected state: "+d.state_);}}var d=this;null==this.onSettledCallbacks_?n.asyncExecute(c):this.onSettledCallbacks_.push(function(){n.asyncExecute(c)})};p.resolve=a;p.reject=function(a){return new p(function(b,c){c(a)})};p.race=function(d){return new p(function(b, +c){for(var e=$jscomp.makeIterator(d),g=e.next();!g.done;g=e.next())a(g.value).callWhenSettled_(b,c)})};p.all=function(d){var b=$jscomp.makeIterator(d),c=b.next();return c.done?a([]):new p(function(d,g){function e(a){return function(b){k[a]=b;t--;0==t&&d(k)}}var k=[],t=0;do k.push(void 0),t++,a(c.value).callWhenSettled_(e(k.length-1),g),c=b.next();while(!c.done)})};return p},"es6","es3"); $jscomp.polyfill("Math.sign",function(h){return h?h:function(f){f=Number(f);return 0===f||isNaN(f)?f:0<f?1:-1}},"es6","es3");$jscomp.polyfill("Array.prototype.entries",function(h){return h?h:function(){return $jscomp.iteratorFromArray(this,function(f,a){return[f,a]})}},"es6","es3");$jscomp.polyfill("Array.prototype.findIndex",function(h){return h?h:function(f,a){return $jscomp.findInternal(this,f,a).i}},"es6","es3"); $jscomp.polyfill("Array.prototype.fill",function(h){return h?h:function(f,a,h){var p=this.length||0;0>a&&(a=Math.max(0,p+a));if(null==h||h>p)h=p;h=Number(h);0>h&&(h=Math.max(0,p+h));for(a=Number(a||0);a<h;a++)this[a]=f;return this}},"es6","es3"); (function(h,f){"object"===typeof exports&&"object"===typeof module?module.exports=f():"function"===typeof define&&define.amd?define([],f):"object"===typeof exports?exports.exportNehuba=f():h.exportNehuba=f()})("undefined"!==typeof self?self:this,function(){return function(h){function f(q){if(a[q])return a[q].exports;var p=a[q]={i:q,l:!1,exports:{}};h[q].call(p.exports,p,p.exports,f);p.l=!0;return p.exports}var a={};f.m=h;f.c=a;f.d=function(a,h,n){f.o(a,h)||Object.defineProperty(a,h,{configurable:!1, -enumerable:!0,get:n})};f.n=function(a){var h=a&&a.__esModule?function(){return a["default"]}:function(){return a};f.d(h,"a",h);return h};f.o=function(a,f){return Object.prototype.hasOwnProperty.call(a,f)};f.p="";return f(f.s=226)}([function(h,f,a){var q=a(16),p=a(365),n=a(86);h=function(){function a(a){this._isScalar=!1;a&&(this._subscribe=a)}a.prototype.lift=function(b){var d=new a;d.source=this;d.operator=b;return d};a.prototype.subscribe=function(a,d,c){var b=this.operator;a=p.toSubscriber(a,d, -c);b?b.call(a,this.source):a.add(this.source?this._subscribe(a):this._trySubscribe(a));if(a.syncErrorThrowable&&(a.syncErrorThrowable=!1,a.syncErrorThrown))throw a.syncErrorValue;return a};a.prototype._trySubscribe=function(a){try{return this._subscribe(a)}catch(d){a.syncErrorThrown=!0,a.syncErrorValue=d,a.error(d)}};a.prototype.forEach=function(a,d){var b=this;d||(q.root.Rx&&q.root.Rx.config&&q.root.Rx.config.Promise?d=q.root.Rx.config.Promise:q.root.Promise&&(d=q.root.Promise));if(!d)throw Error("no Promise impl found"); -return new d(function(d,c){var e=b.subscribe(function(b){if(e)try{a(b)}catch(m){c(m),e.unsubscribe()}else a(b)},c,d)})};a.prototype._subscribe=function(a){return this.source.subscribe(a)};a.prototype[n.observable]=function(){return this};a.create=function(b){return new a(b)};return a}();f.Observable=h},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype, -{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function n(a,b,d,c){a.addEventListener(b,d,c);return function(){return a.removeEventListener(b,d,c)}}a.d(f,"c",function(){return n});a.d(f,"a",function(){return b});a.d(f,"b",function(){return d});var c=function(){function a(a,b){for(var d=0;d<b.length;d++){var c=b[d];c.enumerable= -c.enumerable||!1;c.configurable=!0;"value"in c&&(c.writable=!0);Object.defineProperty(a,c.key,c)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),b=function(){function a(){p(this,a);this.refCount=1}c(a,[{key:"addRef",value:function(){++this.refCount;return this}},{key:"dispose",value:function(){0===--this.refCount&&this.refCountReachedZero()}},{key:"refCountReachedZero",value:function(){this.disposed();var a=this.disposers;if(null!=a){for(var b=a.length;0<b;--b){var c=a[b-1];"object"=== +enumerable:!0,get:n})};f.n=function(a){var h=a&&a.__esModule?function(){return a["default"]}:function(){return a};f.d(h,"a",h);return h};f.o=function(a,f){return Object.prototype.hasOwnProperty.call(a,f)};f.p="";return f(f.s=226)}([function(h,f,a){var q=a(16),p=a(365),n=a(87);h=function(){function a(a){this._isScalar=!1;a&&(this._subscribe=a)}a.prototype.lift=function(b){var c=new a;c.source=this;c.operator=b;return c};a.prototype.subscribe=function(a,c,d){var b=this.operator;a=p.toSubscriber(a,c, +d);b?b.call(a,this.source):a.add(this.source?this._subscribe(a):this._trySubscribe(a));if(a.syncErrorThrowable&&(a.syncErrorThrowable=!1,a.syncErrorThrown))throw a.syncErrorValue;return a};a.prototype._trySubscribe=function(a){try{return this._subscribe(a)}catch(c){a.syncErrorThrown=!0,a.syncErrorValue=c,a.error(c)}};a.prototype.forEach=function(a,c){var b=this;c||(q.root.Rx&&q.root.Rx.config&&q.root.Rx.config.Promise?c=q.root.Rx.config.Promise:q.root.Promise&&(c=q.root.Promise));if(!c)throw Error("no Promise impl found"); +return new c(function(c,d){var e=b.subscribe(function(b){if(e)try{a(b)}catch(m){d(m),e.unsubscribe()}else a(b)},d,c)})};a.prototype._subscribe=function(a){return this.source.subscribe(a)};a.prototype[n.observable]=function(){return this};a.create=function(b){return new a(b)};return a}();f.Observable=h},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype, +{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function n(a,b,c,d){a.addEventListener(b,c,d);return function(){return a.removeEventListener(b,c,d)}}a.d(f,"c",function(){return n});a.d(f,"a",function(){return b});a.d(f,"b",function(){return c});var d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable= +d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),b=function(){function a(){p(this,a);this.refCount=1}d(a,[{key:"addRef",value:function(){++this.refCount;return this}},{key:"dispose",value:function(){0===--this.refCount&&this.refCountReachedZero()}},{key:"refCountReachedZero",value:function(){this.disposed();var a=this.disposers;if(null!=a){for(var b=a.length;0<b;--b){var c=a[b-1];"object"=== typeof c?c.dispose():c.call(this)}this.disposers=void 0}this.wasDisposed=!0}},{key:"disposed",value:function(){}},{key:"registerDisposer",value:function(a){var b=this.disposers;null==b?this.disposers=[a]:b.push(a);return a}},{key:"unregisterDisposer",value:function(a){var b=this.disposers;if(null!=b){var c=b.indexOf(a);-1!==c&&b.splice(c,1)}return a}},{key:"registerEventListener",value:function(a,b,c,d){this.registerDisposer(n(a,b,c,d))}},{key:"registerCancellable",value:function(a){this.registerDisposer(function(){a.cancel()}); -return a}}]);return a}(),d=function(a){function b(a){p(this,b);var c=(b.__proto__||Object.getPrototypeOf(b)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");c=!c||"object"!==typeof c&&"function"!==typeof c?this:c;c.value=a;return c}q(b,a);return b}(b)},function(h,f,a){function q(a,b){var c=Math.abs(a[b]),e=Math.abs(a[b+1]),g=Math.abs(a[b+2]),l=Math.max(c,e,g);1E-4>c/l&&(a[b]=0);1E-4>e/l&&(a[b+1]=0);1E-4>g/l&&(a[b+2]=0)}a.d(f,"b",function(){return n}); -f.l=function(a){return a[0]*a[1]*a[2]};f.t=function(a){return a[0]+","+a[1]+","+a[2]};f.o=function(a){q(a,0);q(a,4);q(a,8)};f.p=function(a,b,d){var c=b[0],g=b[1];b=b[2];a[0]=d[0]*c+d[4]*g+d[8]*b;a[1]=d[1]*c+d[5]*g+d[9]*b;a[2]=d[2]*c+d[6]*g+d[10]*b;return a};f.c=function(a,b){var d=b[0],c=b[1],g=b[2],l=b[4],k=b[5],t=b[6],m=b[8],r=b[9];b=b[10];a[0]=Math.sqrt(d*d+c*c+g*g);a[1]=Math.sqrt(l*l+k*k+t*t);a[2]=Math.sqrt(m*m+r*r+b*b);return a};f.q=function(a,b,d,e,g){a[0]=e[0];a[1]=e[1];a[2]=e[2]*g;return p.b.fromRotationTranslationScale(a, -d,b,a)};f.m=function(a,b,d,e){for(var c=p.e.squaredDistance(b,d),l=0,k=0;3>k;++k){var t=b[k];l-=(t-e[k])*(d[k]-t)}e=l/Math.max(c,1E-6);e=Math.max(0,Math.min(1,e));for(c=0;3>c;++c)l=b[c],a[c]=l+e*(d[c]-l);return a};f.j=function(a,b){var d=b[1],c=b[2],g=b[4],l=b[5],k=b[6],t=b[8],m=b[9],r=b[10];a[0]=b[0];a[1]=d;a[2]=c;a[3]=g;a[4]=l;a[5]=k;a[6]=t;a[7]=m;a[8]=r;return a};var p=a(132);h=a(14);a.d(f,"i",function(){return p.a});a.d(f,"k",function(){return p.b});a.d(f,"n",function(){return p.c});a.d(f,"r", +return a}}]);return a}(),c=function(a){function b(a){p(this,b);var c=(b.__proto__||Object.getPrototypeOf(b)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");c=!c||"object"!==typeof c&&"function"!==typeof c?this:c;c.value=a;return c}q(b,a);return b}(b)},function(h,f,a){function q(a,b){var c=Math.abs(a[b]),d=Math.abs(a[b+1]),g=Math.abs(a[b+2]),l=Math.max(c,d,g);1E-4>c/l&&(a[b]=0);1E-4>d/l&&(a[b+1]=0);1E-4>g/l&&(a[b+2]=0)}a.d(f,"b",function(){return n}); +f.l=function(a){return a[0]*a[1]*a[2]};f.t=function(a){return a[0]+","+a[1]+","+a[2]};f.o=function(a){q(a,0);q(a,4);q(a,8)};f.p=function(a,b,c){var d=b[0],g=b[1];b=b[2];a[0]=c[0]*d+c[4]*g+c[8]*b;a[1]=c[1]*d+c[5]*g+c[9]*b;a[2]=c[2]*d+c[6]*g+c[10]*b;return a};f.c=function(a,b){var c=b[0],d=b[1],g=b[2],l=b[4],k=b[5],t=b[6],m=b[8],r=b[9];b=b[10];a[0]=Math.sqrt(c*c+d*d+g*g);a[1]=Math.sqrt(l*l+k*k+t*t);a[2]=Math.sqrt(m*m+r*r+b*b);return a};f.q=function(a,b,c,e,g){a[0]=e[0];a[1]=e[1];a[2]=e[2]*g;return p.b.fromRotationTranslationScale(a, +c,b,a)};f.m=function(a,b,c,e){for(var d=p.e.squaredDistance(b,c),l=0,k=0;3>k;++k){var t=b[k];l-=(t-e[k])*(c[k]-t)}e=l/Math.max(d,1E-6);e=Math.max(0,Math.min(1,e));for(d=0;3>d;++d)l=b[d],a[d]=l+e*(c[d]-l);return a};f.j=function(a,b){var c=b[1],d=b[2],g=b[4],l=b[5],k=b[6],t=b[8],m=b[9],r=b[10];a[0]=b[0];a[1]=c;a[2]=d;a[3]=g;a[4]=l;a[5]=k;a[6]=t;a[7]=m;a[8]=r;return a};var p=a(132);h=a(14);a.d(f,"i",function(){return p.a});a.d(f,"k",function(){return p.b});a.d(f,"n",function(){return p.c});a.d(f,"r", function(){return p.d});a.d(f,"s",function(){return p.e});a.d(f,"u",function(){return p.f});a=p.b.create();f.d=a;f.a=["x","y","z"];var n=function b(a,e){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");this.lower=a;this.upper=e};a=[p.e.fromValues(1,0,0),p.e.fromValues(0,1,0),p.e.fromValues(0,0,1)];f.e=a;a=p.e.fromValues(0,0,0);f.h=a;a=p.e.fromValues(1,1,1);f.g=a;a=p.e.fromValues(Infinity,Infinity,Infinity);f.f=a;p.c.create();new h.a(1227133513,306783378);new h.a(3272356035, -818089008);new h.a(251719695,4027515120);new h.a(4278190335,16711680);new h.a(65535,16711680);new h.a(2097151,0)},function(h,f,a){var q=this&&this.__extends||function(a,b){function d(){this.constructor=a}for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c]);a.prototype=null===b?Object.create(b):(d.prototype=b.prototype,new d)},p=a(84);h=a(11);var n=a(197),c=a(85);a=function(a){function d(c,e,k){a.call(this);this.syncErrorValue=null;this.isStopped=this.syncErrorThrowable=this.syncErrorThrown=!1;switch(arguments.length){case 0:this.destination= -n.empty;break;case 1:if(!c){this.destination=n.empty;break}if("object"===typeof c){c instanceof d?(this.destination=c,this.destination.add(this)):(this.syncErrorThrowable=!0,this.destination=new b(this,c));break}default:this.syncErrorThrowable=!0,this.destination=new b(this,c,e,k)}}q(d,a);d.prototype[c.rxSubscriber]=function(){return this};d.create=function(a,b,c){a=new d(a,b,c);a.syncErrorThrowable=!1;return a};d.prototype.next=function(a){this.isStopped||this._next(a)};d.prototype.error=function(a){this.isStopped|| -(this.isStopped=!0,this._error(a))};d.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())};d.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,a.prototype.unsubscribe.call(this))};d.prototype._next=function(a){this.destination.next(a)};d.prototype._error=function(a){this.destination.error(a);this.unsubscribe()};d.prototype._complete=function(){this.destination.complete();this.unsubscribe()};d.prototype._unsubscribeAndRecycle=function(){var a=this._parent, -b=this._parents;this._parents=this._parent=null;this.unsubscribe();this.isStopped=this.closed=!1;this._parent=a;this._parents=b;return this};return d}(h.Subscription);f.Subscriber=a;var b=function(a){function b(b,d,c,e){a.call(this);this._parentSubscriber=b;b=this;if(p.isFunction(d))var g=d;else d&&(g=d.next,c=d.error,e=d.complete,d!==n.empty&&(b=Object.create(d),p.isFunction(b.unsubscribe)&&this.add(b.unsubscribe.bind(b)),b.unsubscribe=this.unsubscribe.bind(this)));this._context=b;this._next=g;this._error= -c;this._complete=e}q(b,a);b.prototype.next=function(a){if(!this.isStopped&&this._next){var b=this._parentSubscriber;b.syncErrorThrowable?this.__tryOrSetError(b,this._next,a)&&this.unsubscribe():this.__tryOrUnsub(this._next,a)}};b.prototype.error=function(a){if(!this.isStopped){var b=this._parentSubscriber;if(this._error)b.syncErrorThrowable?this.__tryOrSetError(b,this._error,a):this.__tryOrUnsub(this._error,a),this.unsubscribe();else if(b.syncErrorThrowable)b.syncErrorValue=a,b.syncErrorThrown=!0, -this.unsubscribe();else throw this.unsubscribe(),a;}};b.prototype.complete=function(){var a=this;if(!this.isStopped){var b=this._parentSubscriber;if(this._complete){var d=function(){return a._complete.call(a._context)};b.syncErrorThrowable?this.__tryOrSetError(b,d):this.__tryOrUnsub(d)}this.unsubscribe()}};b.prototype.__tryOrUnsub=function(a,b){try{a.call(this._context,b)}catch(k){throw this.unsubscribe(),k;}};b.prototype.__tryOrSetError=function(a,b,d){try{b.call(this._context,d)}catch(t){return a.syncErrorValue= +818089008);new h.a(251719695,4027515120);new h.a(4278190335,16711680);new h.a(65535,16711680);new h.a(2097151,0)},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(85);h=a(11);var n=a(197),d=a(86);a=function(a){function c(d,e,k){a.call(this);this.syncErrorValue=null;this.isStopped=this.syncErrorThrowable=this.syncErrorThrown=!1;switch(arguments.length){case 0:this.destination= +n.empty;break;case 1:if(!d){this.destination=n.empty;break}if("object"===typeof d){d instanceof c?(this.destination=d,this.destination.add(this)):(this.syncErrorThrowable=!0,this.destination=new b(this,d));break}default:this.syncErrorThrowable=!0,this.destination=new b(this,d,e,k)}}q(c,a);c.prototype[d.rxSubscriber]=function(){return this};c.create=function(a,b,d){a=new c(a,b,d);a.syncErrorThrowable=!1;return a};c.prototype.next=function(a){this.isStopped||this._next(a)};c.prototype.error=function(a){this.isStopped|| +(this.isStopped=!0,this._error(a))};c.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())};c.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,a.prototype.unsubscribe.call(this))};c.prototype._next=function(a){this.destination.next(a)};c.prototype._error=function(a){this.destination.error(a);this.unsubscribe()};c.prototype._complete=function(){this.destination.complete();this.unsubscribe()};c.prototype._unsubscribeAndRecycle=function(){var a=this._parent, +b=this._parents;this._parents=this._parent=null;this.unsubscribe();this.isStopped=this.closed=!1;this._parent=a;this._parents=b;return this};return c}(h.Subscription);f.Subscriber=a;var b=function(a){function b(b,c,d,e){a.call(this);this._parentSubscriber=b;b=this;if(p.isFunction(c))var g=c;else c&&(g=c.next,d=c.error,e=c.complete,c!==n.empty&&(b=Object.create(c),p.isFunction(b.unsubscribe)&&this.add(b.unsubscribe.bind(b)),b.unsubscribe=this.unsubscribe.bind(this)));this._context=b;this._next=g;this._error= +d;this._complete=e}q(b,a);b.prototype.next=function(a){if(!this.isStopped&&this._next){var b=this._parentSubscriber;b.syncErrorThrowable?this.__tryOrSetError(b,this._next,a)&&this.unsubscribe():this.__tryOrUnsub(this._next,a)}};b.prototype.error=function(a){if(!this.isStopped){var b=this._parentSubscriber;if(this._error)b.syncErrorThrowable?this.__tryOrSetError(b,this._error,a):this.__tryOrUnsub(this._error,a),this.unsubscribe();else if(b.syncErrorThrowable)b.syncErrorValue=a,b.syncErrorThrown=!0, +this.unsubscribe();else throw this.unsubscribe(),a;}};b.prototype.complete=function(){var a=this;if(!this.isStopped){var b=this._parentSubscriber;if(this._complete){var c=function(){return a._complete.call(a._context)};b.syncErrorThrowable?this.__tryOrSetError(b,c):this.__tryOrUnsub(c)}this.unsubscribe()}};b.prototype.__tryOrUnsub=function(a,b){try{a.call(this._context,b)}catch(k){throw this.unsubscribe(),k;}};b.prototype.__tryOrSetError=function(a,b,c){try{b.call(this._context,c)}catch(t){return a.syncErrorValue= t,a.syncErrorThrown=!0}return!1};b.prototype._unsubscribe=function(){var a=this._parentSubscriber;this._parentSubscriber=this._context=null;a.unsubscribe()};return b}(a)},function(h,f,a){function q(a){var b=typeof a;if("number"===b||"string"===b)if(b=parseFloat(""+a),!Number.isNaN(b))return b;throw Error("Expected floating-point number, but received: "+JSON.stringify(a)+".");}function p(a){a=q(a);if(Number.isFinite(a))return a;throw Error("Expected finite floating-point number, but received: "+a+ -".");}function n(a){a=p(a);if(0<a)return a;throw Error("Expected positive finite floating-point number, but received: "+a+".");}function c(a){if("object"===typeof a){if(null===a)return"null";if(Array.isArray(a)){var b="[",d=a.length,e=0;if(e<d)for(b+=c(a[e]);++e<d;)b+=",",b+=c(a[e]);return b+"]"}b="{";d=Object.keys(a).sort();e=0;var g=d.length;if(e<g){var k=d[e];b+=JSON.stringify(k);for(b=b+":"+c(a[k]);++e<g;)b+=",",k=d[e],b+=JSON.stringify(k),b+=":",b+=c(a[k])}return b+"}"}return JSON.stringify(a)} -function b(a,b,d){var c=/[&_,]/g;if('"'===d){var e="'";var g=v;var k=r}else e='"',g=w,k=u;for(var m="";0<a.length;){var l=a.match(k);if(null===l){var t=a;l=a=""}else{t=a.substr(0,l.index);a=a.substr(l.index+l[0].length);var f=l[1];if(void 0!==f){var h=f;l=e;f=d;var x=g;if(2<=h.length&&h.charAt(0)===l&&h.charAt(h.length-1)===l){h=h.substr(1,h.length-2);for(var n=f;0<h.length;){var y=h.match(x);if(null===y){n+=h;break}n+=y[1];y[2]===f?(n+="\\",n+=f):n+=l;h=h.substr(y.index+y[0].length)}l=n+f}else l= -h}else l=l[2]}m+=t.replace(c,b);m+=l}return m}function d(a){return JSON.parse(b(a,",",'"'))}function e(a,b,d){var c=a.length;if(!Array.isArray(b)||b.length!==c)throw Error("Expected length "+c+" array, but received: "+JSON.stringify(b)+".");for(var e=0;e<c;++e)a[e]=d(b[e],e);return a}function g(a){if("object"!==typeof a||null==a||Array.isArray(a))throw Error("Expected JSON object, but received: "+JSON.stringify(a)+".");return a}function l(a){var b=parseInt(a,10);if(!Number.isInteger(b))throw Error("Expected integer, but received: "+ -JSON.stringify(a)+".");return b}function k(a){a=l(a);if(0>=a)throw Error("Expected positive integer, but received: "+a+".");return a}function t(a){if("string"!==typeof a)throw Error("Expected string, but received: "+JSON.stringify(a)+".");return a}f.p=q;f.n=p;f.o=n;f.f=function(a,b,d){d=void 0===d?q:d;g(b);a[0]=a[1]=a[2]=0;for(var c=$jscomp.makeIterator(Object.keys(b)),e=c.next();!e.done;e=c.next())switch(e=e.value,e){case "x":a[0]=d(b[e]);break;case "y":a[1]=d(b[e]);break;case "z":a[2]=d(b[e]);break; -default:throw Error("Expected object to have keys ['x', 'y', 'z'], but received: "+JSON.stringify(b)+".");}return a};f.b=function(a,b){var d=a.length;if(!Array.isArray(b)||b.length!==d)throw Error("Incompatible sizes");for(var c=0;c<d;++c)if(!Number.isFinite(parseFloat(b[c])))throw Error("Non-finite value.");for(c=0;c<d;++c)a[c]=parseFloat(b[c]);return a};f.d=function(a,b){var d=a.length;if(!Array.isArray(b)||b.length!==d)throw Error("Incompatible sizes.");for(var c=0;c<d;++c){var e=parseInt(b[c], -void 0);if(!Number.isInteger(e))throw Error("Non-integer value.");}for(c=0;c<d;++c)a[c]=parseInt(b[c],void 0);return a};f.g=c;f.h=d;f.a=function(a,b){if(!Array.isArray(a))throw Error("Expected array, but received: "+JSON.stringify(a)+".");return a.map(b)};f.c=e;f.t=g;f.r=l;f.z=k;f.s=function(a,b){var d=b.get(a);if(void 0===d)throw Error("Expected one of "+JSON.stringify(Array.from(b.keys()))+", "+("but received: "+JSON.stringify(a)+"."));return d};f.A=t;f.y=function(a){if(void 0!==a)return t(a)}; -f.x=function(a){if(void 0!==a)return l(a)};f.w=function(a){if(void 0!==a){if("boolean"===typeof a)return a;if("true"===a)return!0;if("false"===a)return!1;throw Error("Expected string or boolean but received: "+JSON.stringify(a));}};f.v=function(a,b,d){a=a.hasOwnProperty(b)?a[b]:void 0;try{return d(a)}catch(z){throw Error("Error parsing "+JSON.stringify(b)+" property: "+z.message);}};f.u=function(a,b){g(a);for(var d=new Map,c=$jscomp.makeIterator(Object.keys(a)),e=c.next();!e.done;e=c.next()){e=e.value; -try{d.set(e,b(a[e]))}catch(E){throw Error("Error parsing value associated with key "+JSON.stringify(e)+": "+E.message);}}return d};f.q=function(a){if("number"!==typeof a||!Number.isFinite(a)||0>a||1<a)throw Error("Expected floating point number in [0,1], but received: "+JSON.stringify(a)+".");return a};f.e=function(a){if(""===a)return{};if(a.startsWith("{"))return d(a);var b={};a=a.split(/[&;]/);a=$jscomp.makeIterator(a);for(var c=a.next();!c.done;c=a.next()){c=c.value;var e=c.match(/^([^=&;]+)=([^&;]*)$/); -if(null===e)throw Error("Invalid query string part: "+JSON.stringify(c)+".");b[e[1]]=decodeURIComponent(e[2])}return b};f.m=function(a,b){if("string"===typeof a&&null!==a.match(/^[a-zA-Z]/)&&(a=a.toUpperCase(),b.hasOwnProperty(a)))return b[a];throw Error("Invalid enum value: "+JSON.stringify(a)+".");};f.k=function(a){return e(m.s.create(),a,p)};f.j=function(a){return e(m.s.create(),a,n)};f.i=function(a){return e(m.s.create(),a,k)};f.l=function(a){if("boolean"!==typeof a)throw Error("Expected boolean, received: "+ -JSON.stringify(a));return a};var m=a(2);h=/('(?:[^'\\]|(?:\\.))*')/;f=/("(?:[^'\\]|(?:\\.))*")/;var r=new RegExp(h.source+"|"+f.source),u=new RegExp(f.source+"|"+h.source),v=/^((?:[^"'\\]|(?:\\[^']))*)("|\\')/,w=/^((?:[^"'\\]|(?:\\.))*)'/},function(h,f,a){var q=this&&this.__extends||function(a,f){function c(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(c.prototype=f.prototype,new c)};h=function(a){function f(){a.apply(this,arguments)}q(f, -a);f.prototype.notifyNext=function(a,b,d,e,g){this.destination.next(b)};f.prototype.notifyError=function(a,b){this.destination.error(a)};f.prototype.notifyComplete=function(a){this.destination.complete()};return f}(a(3).Subscriber);f.OuterSubscriber=h},function(h,f,a){var q=a(16),p=a(199),n=a(200),c=a(195),b=a(0),d=a(67),e=a(374),g=a(86);f.subscribeToResult=function(a,k,t,m){var r=new e.InnerSubscriber(a,t,m);if(r.closed)return null;if(k instanceof b.Observable)if(k._isScalar)r.next(k.value),r.complete(); -else return k.subscribe(r);else if(p.isArrayLike(k)){a=0;for(t=k.length;a<t&&!r.closed;a++)r.next(k[a]);r.closed||r.complete()}else{if(n.isPromise(k))return k.then(function(a){r.closed||(r.next(a),r.complete())},function(a){return r.error(a)}).then(null,function(a){q.root.setTimeout(function(){throw a;})}),r;if(k&&"function"===typeof k[d.iterator]){k=k[d.iterator]();do{a=k.next();if(a.done){r.complete();break}r.next(a.value);if(r.closed)break}while(1)}else if(k&&"function"===typeof k[g.observable])if(k= -k[g.observable](),"function"!==typeof k.subscribe)r.error(new TypeError("Provided object does not correctly implement Symbol.observable"));else return k.subscribe(new e.InnerSubscriber(a,t,m));else k=c.isObject(k)?"an invalid object":"'"+k+"'",r.error(new TypeError("You provided "+k+" where a stream was expected. You can provide an Observable, Promise, Array, or Iterable."))}return null}},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+ -typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}a.d(f,"b",function(){return c});a.d(f,"a",function(){return b});var n=function(){function a(a,b){for(var d=0;d<b.length;d++){var c=b[d];c.enumerable=c.enumerable||!1;c.configurable=!0;"value"in c&&(c.writable=!0);Object.defineProperty(a, -c.key,c)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),c=function(){function a(){p(this,a);this.handlers=new Set;this.count=0;var b=this;this.dispatch=function(){var a=this,c=arguments;++b.count;b.handlers.forEach(function(b){b.apply(a,c)})}}n(a,[{key:"add",value:function(a){var b=this;this.handlers.add(a);return function(){return b.remove(a)}}},{key:"remove",value:function(a){return this.handlers.delete(a)}},{key:"dispose",value:function(){this.handlers=void 0}}]);return a}(), -b=function(a){function b(){p(this,b);var a=(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!a||"object"!==typeof a&&"function"!==typeof a?this:a}q(b,a);return b}(c)},function(h,f,a){f.a=function(a){for(;;){var f=a.firstElementChild;if(!f)break;a.removeChild(f)}};f.b=function(a){var f=a.parentElement;return f?(f.removeChild(a),!0):!1}},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); +".");}function n(a){a=p(a);if(0<a)return a;throw Error("Expected positive finite floating-point number, but received: "+a+".");}function d(a){if("object"===typeof a){if(null===a)return"null";if(Array.isArray(a)){var b="[",c=a.length,e=0;if(e<c)for(b+=d(a[e]);++e<c;)b+=",",b+=d(a[e]);return b+"]"}b="{";c=Object.keys(a).sort();e=0;var g=c.length;if(e<g){var k=c[e];b+=JSON.stringify(k);for(b=b+":"+d(a[k]);++e<g;)b+=",",k=c[e],b+=JSON.stringify(k),b+=":",b+=d(a[k])}return b+"}"}return JSON.stringify(a)} +function b(a,b,c){var d=/[&_,]/g;if('"'===c){var e="'";var g=v;var k=r}else e='"',g=w,k=u;for(var m="";0<a.length;){var l=a.match(k);if(null===l){var t=a;l=a=""}else{t=a.substr(0,l.index);a=a.substr(l.index+l[0].length);var f=l[1];if(void 0!==f){var h=f;l=e;f=c;var x=g;if(2<=h.length&&h.charAt(0)===l&&h.charAt(h.length-1)===l){h=h.substr(1,h.length-2);for(var n=f;0<h.length;){var y=h.match(x);if(null===y){n+=h;break}n+=y[1];y[2]===f?(n+="\\",n+=f):n+=l;h=h.substr(y.index+y[0].length)}l=n+f}else l= +h}else l=l[2]}m+=t.replace(d,b);m+=l}return m}function c(a){return JSON.parse(b(a,",",'"'))}function e(a,b,c){var d=a.length;if(!Array.isArray(b)||b.length!==d)throw Error("Expected length "+d+" array, but received: "+JSON.stringify(b)+".");for(var e=0;e<d;++e)a[e]=c(b[e],e);return a}function g(a){if("object"!==typeof a||null==a||Array.isArray(a))throw Error("Expected JSON object, but received: "+JSON.stringify(a)+".");return a}function l(a){var b=parseInt(a,10);if(!Number.isInteger(b))throw Error("Expected integer, but received: "+ +JSON.stringify(a)+".");return b}function k(a){a=l(a);if(0>=a)throw Error("Expected positive integer, but received: "+a+".");return a}function t(a){if("string"!==typeof a)throw Error("Expected string, but received: "+JSON.stringify(a)+".");return a}f.p=q;f.n=p;f.o=n;f.f=function(a,b,c){c=void 0===c?q:c;g(b);a[0]=a[1]=a[2]=0;for(var d=$jscomp.makeIterator(Object.keys(b)),e=d.next();!e.done;e=d.next())switch(e=e.value,e){case "x":a[0]=c(b[e]);break;case "y":a[1]=c(b[e]);break;case "z":a[2]=c(b[e]);break; +default:throw Error("Expected object to have keys ['x', 'y', 'z'], but received: "+JSON.stringify(b)+".");}return a};f.b=function(a,b){var c=a.length;if(!Array.isArray(b)||b.length!==c)throw Error("Incompatible sizes");for(var d=0;d<c;++d)if(!Number.isFinite(parseFloat(b[d])))throw Error("Non-finite value.");for(d=0;d<c;++d)a[d]=parseFloat(b[d]);return a};f.d=function(a,b){var c=a.length;if(!Array.isArray(b)||b.length!==c)throw Error("Incompatible sizes.");for(var d=0;d<c;++d){var e=parseInt(b[d], +void 0);if(!Number.isInteger(e))throw Error("Non-integer value.");}for(d=0;d<c;++d)a[d]=parseInt(b[d],void 0);return a};f.g=d;f.h=c;f.a=function(a,b){if(!Array.isArray(a))throw Error("Expected array, but received: "+JSON.stringify(a)+".");return a.map(b)};f.c=e;f.t=g;f.r=l;f.z=k;f.s=function(a,b){var c=b.get(a);if(void 0===c)throw Error("Expected one of "+JSON.stringify(Array.from(b.keys()))+", "+("but received: "+JSON.stringify(a)+"."));return c};f.A=t;f.y=function(a){if(void 0!==a)return t(a)}; +f.x=function(a){if(void 0!==a)return l(a)};f.w=function(a){if(void 0!==a){if("boolean"===typeof a)return a;if("true"===a)return!0;if("false"===a)return!1;throw Error("Expected string or boolean but received: "+JSON.stringify(a));}};f.v=function(a,b,c){a=a.hasOwnProperty(b)?a[b]:void 0;try{return c(a)}catch(z){throw Error("Error parsing "+JSON.stringify(b)+" property: "+z.message);}};f.u=function(a,b){g(a);for(var c=new Map,d=$jscomp.makeIterator(Object.keys(a)),e=d.next();!e.done;e=d.next()){e=e.value; +try{c.set(e,b(a[e]))}catch(E){throw Error("Error parsing value associated with key "+JSON.stringify(e)+": "+E.message);}}return c};f.q=function(a){if("number"!==typeof a||!Number.isFinite(a)||0>a||1<a)throw Error("Expected floating point number in [0,1], but received: "+JSON.stringify(a)+".");return a};f.e=function(a){if(""===a)return{};if(a.startsWith("{"))return c(a);var b={};a=a.split(/[&;]/);a=$jscomp.makeIterator(a);for(var d=a.next();!d.done;d=a.next()){d=d.value;var e=d.match(/^([^=&;]+)=([^&;]*)$/); +if(null===e)throw Error("Invalid query string part: "+JSON.stringify(d)+".");b[e[1]]=decodeURIComponent(e[2])}return b};f.m=function(a,b){if("string"===typeof a&&null!==a.match(/^[a-zA-Z]/)&&(a=a.toUpperCase(),b.hasOwnProperty(a)))return b[a];throw Error("Invalid enum value: "+JSON.stringify(a)+".");};f.k=function(a){return e(m.s.create(),a,p)};f.j=function(a){return e(m.s.create(),a,n)};f.i=function(a){return e(m.s.create(),a,k)};f.l=function(a){if("boolean"!==typeof a)throw Error("Expected boolean, received: "+ +JSON.stringify(a));return a};var m=a(2);h=/('(?:[^'\\]|(?:\\.))*')/;f=/("(?:[^'\\]|(?:\\.))*")/;var r=new RegExp(h.source+"|"+f.source),u=new RegExp(f.source+"|"+h.source),v=/^((?:[^"'\\]|(?:\\[^']))*)("|\\')/,w=/^((?:[^"'\\]|(?:\\.))*)'/},function(h,f,a){var q=this&&this.__extends||function(a,f){function d(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(d.prototype=f.prototype,new d)};h=function(a){function f(){a.apply(this,arguments)}q(f, +a);f.prototype.notifyNext=function(a,b,c,e,g){this.destination.next(b)};f.prototype.notifyError=function(a,b){this.destination.error(a)};f.prototype.notifyComplete=function(a){this.destination.complete()};return f}(a(3).Subscriber);f.OuterSubscriber=h},function(h,f,a){var q=a(16),p=a(199),n=a(200),d=a(195),b=a(0),c=a(68),e=a(374),g=a(87);f.subscribeToResult=function(a,k,t,m){var l=new e.InnerSubscriber(a,t,m);if(l.closed)return null;if(k instanceof b.Observable)if(k._isScalar)l.next(k.value),l.complete(); +else return k.subscribe(l);else if(p.isArrayLike(k)){a=0;for(t=k.length;a<t&&!l.closed;a++)l.next(k[a]);l.closed||l.complete()}else{if(n.isPromise(k))return k.then(function(a){l.closed||(l.next(a),l.complete())},function(a){return l.error(a)}).then(null,function(a){q.root.setTimeout(function(){throw a;})}),l;if(k&&"function"===typeof k[c.iterator]){k=k[c.iterator]();do{a=k.next();if(a.done){l.complete();break}l.next(a.value);if(l.closed)break}while(1)}else if(k&&"function"===typeof k[g.observable])if(k= +k[g.observable](),"function"!==typeof k.subscribe)l.error(new TypeError("Provided object does not correctly implement Symbol.observable"));else return k.subscribe(new e.InnerSubscriber(a,t,m));else k=d.isObject(k)?"an invalid object":"'"+k+"'",l.error(new TypeError("You provided "+k+" where a stream was expected. You can provide an Observable, Promise, Array, or Iterable."))}return null}},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+ +typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}a.d(f,"b",function(){return d});a.d(f,"a",function(){return b});var n=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a, +d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),d=function(){function a(){p(this,a);this.handlers=new Set;this.count=0;var b=this;this.dispatch=function(){var a=this,c=arguments;++b.count;b.handlers.forEach(function(b){b.apply(a,c)})}}n(a,[{key:"add",value:function(a){var b=this;this.handlers.add(a);return function(){return b.remove(a)}}},{key:"remove",value:function(a){return this.handlers.delete(a)}},{key:"dispose",value:function(){this.handlers=void 0}}]);return a}(), +b=function(a){function b(){p(this,b);var a=(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!a||"object"!==typeof a&&"function"!==typeof a?this:a}q(b,a);return b}(d)},function(h,f,a){f.a=function(a){for(;;){var f=a.firstElementChild;if(!f)break;a.removeChild(f)}};f.b=function(a){var f=a.parentElement;return f?(f.removeChild(a),!0):!1}},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}a.d(f,"f",function(){return l});a.d(f, -"c",function(){return k});f.g=function(a,b){for(var c=[],d=1;d<arguments.length;++d)c[d-1]=arguments[d];return new t(a,c)};a.d(f,"a",function(){return m});a.d(f,"d",function(){return r});a.d(f,"b",function(){return u});a.d(f,"e",function(){return v});f.h=function(a,d){function e(){g=a.value;k=new b.a;d(k,g)}var g,k,m=c()(function(){a.value!==g&&(k.dispose(),e())},0),r=a.changed.add(m);e();return function(){m.cancel();r();k.dispose()}};h=a(10);var c=a.n(h),b=a(1),d=a(7),e=function y(a,b,c){null=== -a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return y(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},g=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,d,c){d&&a(b.prototype,d);c&&a(b,c);return b}}(),l=function(){function a(b){n(this,a); -this.value_=b;this.changed=new d.a}g(a,[{key:"value",get:function(){return this.value_},set:function(a){a!==this.value_&&(this.value_=a,this.changed.dispatch())}}]);return a}(),k=function(a){function b(a,d,c){c=void 0===c?a:c;n(this,b);a=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a));a.validator=d;a.defaultValue=c;return a}p(b,a);g(b,[{key:"toJSON",value:function(){if(this.value_!==this.defaultValue)return this.value_}},{key:"reset",value:function(){this.value=this.defaultValue}},{key:"restoreState", -value:function(a){if(void 0!==a){var b=this.validator;try{this.value=b(a);return}catch(D){}}this.value=this.defaultValue}}]);return b}(l),t=function(a){function b(a,c){n(this,b);var e=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));e.changed=new d.a;e.f=a;e.ws=c;a=$jscomp.makeIterator(c);for(c=a.next();!c.done;c=a.next())e.registerDisposer(c.value.changed.add(e.changed.dispatch));return e}p(b,a);g(b,[{key:"value",get:function(){return this.f.apply(this,[].concat($jscomp.arrayFromIterable(this.ws.map(function(a){return a.value}))))}}]); -return b}(b.a),m=function(a){function b(a,c){for(var e=[],g=1;g<arguments.length;++g)e[g-1]=arguments[g];n(this,b);g=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));g.f=a;g.changed=new d.a;e=$jscomp.makeIterator(e);for(var k=e.next();!k.done;k=e.next())g.registerDisposer(k.value.add(g.changed.dispatch));return g}p(b,a);g(b,[{key:"value",get:function(){return this.f()}}]);return b}(b.a),r=function(a){function b(){n(this,b);var a=q(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this, -arguments));a.changed=new d.a;return a}p(b,a);g(b,[{key:"reset",value:function(){this.value=void 0}},{key:"disposed",value:function(){void 0!==this.value_&&this.value_.dispose();this.value_=void 0;e(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}},{key:"value",get:function(){return this.value_},set:function(a){var b=this,c=this.value_;this.value_=a;void 0!==c&&(c.dispose(),this.valueHandler=void 0);if(void 0!==a){var d=this.valueHandler=function(){b.value_=== -a&&(b.value_=void 0,b.changed.dispatch())};a.registerDisposer(d)}a!==c&&this.changed.dispatch()}}]);return b}(b.a),u=function(a){function b(a,c){n(this,b);var d=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.validator=a;d.jsonConverter=c;return d}p(b,a);g(b,[{key:"toJSON",value:function(){var a=this.value;return a&&this.jsonConverter(a)}},{key:"restoreState",value:function(a){this.value=this.validator(a)}}]);return b}(r),v=function(){function a(b){n(this,a);this.changed=new d.a;this.values= +"c",function(){return k});f.g=function(a,b){for(var c=[],d=1;d<arguments.length;++d)c[d-1]=arguments[d];return new t(a,c)};a.d(f,"a",function(){return m});a.d(f,"d",function(){return r});a.d(f,"b",function(){return u});a.d(f,"e",function(){return v});f.h=function(a,c){function e(){g=a.value;k=new b.a;c(k,g)}var g,k,m=d()(function(){a.value!==g&&(k.dispose(),e())},0),l=a.changed.add(m);e();return function(){m.cancel();l();k.dispose()}};h=a(10);var d=a.n(h),b=a(1),c=a(7),e=function y(a,b,c){null=== +a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return y(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},g=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),l=function(){function a(b){n(this,a); +this.value_=b;this.changed=new c.a}g(a,[{key:"value",get:function(){return this.value_},set:function(a){a!==this.value_&&(this.value_=a,this.changed.dispatch())}}]);return a}(),k=function(a){function b(a,c,d){d=void 0===d?a:d;n(this,b);a=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a));a.validator=c;a.defaultValue=d;return a}p(b,a);g(b,[{key:"toJSON",value:function(){if(this.value_!==this.defaultValue)return this.value_}},{key:"reset",value:function(){this.value=this.defaultValue}},{key:"restoreState", +value:function(a){if(void 0!==a){var b=this.validator;try{this.value=b(a);return}catch(D){}}this.value=this.defaultValue}}]);return b}(l),t=function(a){function b(a,d){n(this,b);var e=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));e.changed=new c.a;e.f=a;e.ws=d;a=$jscomp.makeIterator(d);for(d=a.next();!d.done;d=a.next())e.registerDisposer(d.value.changed.add(e.changed.dispatch));return e}p(b,a);g(b,[{key:"value",get:function(){return this.f.apply(this,[].concat($jscomp.arrayFromIterable(this.ws.map(function(a){return a.value}))))}}]); +return b}(b.a),m=function(a){function b(a,d){for(var e=[],g=1;g<arguments.length;++g)e[g-1]=arguments[g];n(this,b);g=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));g.f=a;g.changed=new c.a;e=$jscomp.makeIterator(e);for(var k=e.next();!k.done;k=e.next())g.registerDisposer(k.value.add(g.changed.dispatch));return g}p(b,a);g(b,[{key:"value",get:function(){return this.f()}}]);return b}(b.a),r=function(a){function b(){n(this,b);var a=q(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this, +arguments));a.changed=new c.a;return a}p(b,a);g(b,[{key:"reset",value:function(){this.value=void 0}},{key:"disposed",value:function(){void 0!==this.value_&&this.value_.dispose();this.value_=void 0;e(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}},{key:"value",get:function(){return this.value_},set:function(a){var b=this,c=this.value_;this.value_=a;void 0!==c&&(c.dispose(),this.valueHandler=void 0);if(void 0!==a){var d=this.valueHandler=function(){b.value_=== +a&&(b.value_=void 0,b.changed.dispatch())};a.registerDisposer(d)}a!==c&&this.changed.dispatch()}}]);return b}(b.a),u=function(a){function b(a,c){n(this,b);var d=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.validator=a;d.jsonConverter=c;return d}p(b,a);g(b,[{key:"toJSON",value:function(){var a=this.value;return a&&this.jsonConverter(a)}},{key:"restoreState",value:function(a){this.value=this.validator(a)}}]);return b}(r),v=function(){function a(b){n(this,a);this.changed=new c.a;this.values= void 0===b?new Set:new Set(b)}$jscomp.initSymbol();$jscomp.initSymbolIterator();g(a,[{key:"add",value:function(a){var b=this.values;b.has(a)||(b.add(a),this.changed.dispatch());return this}},{key:"delete",value:function(a){return this.values.delete(a)?(this.changed.dispatch(),!0):!1}},{key:"has",value:function(a){return this.values.has(a)}},{key:Symbol.iterator,value:function(){$jscomp.initSymbol();$jscomp.initSymbolIterator();return this.values[Symbol.iterator]()}},{key:"clear",value:function(){var a= -this.values;0<a.size&&(a.clear(),this.changed.dispatch())}},{key:"size",get:function(){return this.values.size}}]);return a}()},function(h,f,a){var q=a(95),p=a(235),n=a(237),c=Math.max,b=Math.min;h.exports=function(a,e,g){function d(b){var c=u,d=v;u=v=void 0;A=b;return f=a.apply(d,c)}function k(a){var b=a-x;a-=A;return void 0===x||b>=e||0>b||D&&a>=G}function t(){var a=p();if(k(a))return m(a);var c=setTimeout;var d=a-A;a=e-(a-x);d=D?b(a,G-d):a;h=c(t,d)}function m(a){h=void 0;if(E&&u)return d(a);u= -v=void 0;return f}function r(){var a=p(),b=k(a);u=arguments;v=this;x=a;if(b){if(void 0===h)return A=a=x,h=setTimeout(t,e),z?d(a):f;if(D)return h=setTimeout(t,e),d(x)}void 0===h&&(h=setTimeout(t,e));return f}var u,v,f,h,x,A=0,z=!1,D=!1,E=!0;if("function"!=typeof a)throw new TypeError("Expected a function");e=n(e)||0;if(q(g)){z=!!g.leading;var G=(D="maxWait"in g)?c(n(g.maxWait)||0,e):G;E="trailing"in g?!!g.trailing:E}r.cancel=function(){void 0!==h&&clearTimeout(h);A=0;u=x=v=h=void 0};r.flush=function(){return void 0=== -h?f:m(p())};return r}},function(h,f,a){function q(a){return a.reduce(function(a,b){return a.concat(b instanceof e.UnsubscriptionError?b.errors:b)},[])}var p=a(36),n=a(195),c=a(84),b=a(17),d=a(13),e=a(196);h=function(){function a(a){this.closed=!1;this._subscriptions=this._parents=this._parent=null;a&&(this._unsubscribe=a)}a.prototype.unsubscribe=function(){var a=!1;if(!this.closed){var g=this._parent;var t=this._parents,m=this._unsubscribe,r=this._subscriptions;this.closed=!0;this._subscriptions= -this._parents=this._parent=null;for(var u=-1,v=t?t.length:0;g;)g.remove(this),g=++u<v&&t[u]||null;if(c.isFunction(m)&&(g=b.tryCatch(m).call(this),g===d.errorObject)){a=!0;var f=f||(d.errorObject.e instanceof e.UnsubscriptionError?q(d.errorObject.e.errors):[d.errorObject.e])}if(p.isArray(r))for(u=-1,v=r.length;++u<v;)g=r[u],n.isObject(g)&&(g=b.tryCatch(g.unsubscribe).call(g),g===d.errorObject&&(a=!0,f=f||[],g=d.errorObject.e,g instanceof e.UnsubscriptionError?f=f.concat(q(g.errors)):f.push(g)));if(a)throw new e.UnsubscriptionError(f); +this.values;0<a.size&&(a.clear(),this.changed.dispatch())}},{key:"size",get:function(){return this.values.size}}]);return a}()},function(h,f,a){var q=a(96),p=a(235),n=a(237),d=Math.max,b=Math.min;h.exports=function(a,e,g){function c(b){var c=u,d=v;u=v=void 0;A=b;return f=a.apply(d,c)}function k(a){var b=a-x;a-=A;return void 0===x||b>=e||0>b||D&&a>=G}function t(){var a=p();if(k(a))return m(a);var c=setTimeout;var d=a-A;a=e-(a-x);d=D?b(a,G-d):a;h=c(t,d)}function m(a){h=void 0;if(E&&u)return c(a);u= +v=void 0;return f}function r(){var a=p(),b=k(a);u=arguments;v=this;x=a;if(b){if(void 0===h)return A=a=x,h=setTimeout(t,e),z?c(a):f;if(D)return h=setTimeout(t,e),c(x)}void 0===h&&(h=setTimeout(t,e));return f}var u,v,f,h,x,A=0,z=!1,D=!1,E=!0;if("function"!=typeof a)throw new TypeError("Expected a function");e=n(e)||0;if(q(g)){z=!!g.leading;var G=(D="maxWait"in g)?d(n(g.maxWait)||0,e):G;E="trailing"in g?!!g.trailing:E}r.cancel=function(){void 0!==h&&clearTimeout(h);A=0;u=x=v=h=void 0};r.flush=function(){return void 0=== +h?f:m(p())};return r}},function(h,f,a){function q(a){return a.reduce(function(a,b){return a.concat(b instanceof e.UnsubscriptionError?b.errors:b)},[])}var p=a(36),n=a(195),d=a(85),b=a(17),c=a(13),e=a(196);h=function(){function a(a){this.closed=!1;this._subscriptions=this._parents=this._parent=null;a&&(this._unsubscribe=a)}a.prototype.unsubscribe=function(){var a=!1;if(!this.closed){var g=this._parent;var t=this._parents,m=this._unsubscribe,r=this._subscriptions;this.closed=!0;this._subscriptions= +this._parents=this._parent=null;for(var u=-1,v=t?t.length:0;g;)g.remove(this),g=++u<v&&t[u]||null;if(d.isFunction(m)&&(g=b.tryCatch(m).call(this),g===c.errorObject)){a=!0;var f=f||(c.errorObject.e instanceof e.UnsubscriptionError?q(c.errorObject.e.errors):[c.errorObject.e])}if(p.isArray(r))for(u=-1,v=r.length;++u<v;)g=r[u],n.isObject(g)&&(g=b.tryCatch(g.unsubscribe).call(g),g===c.errorObject&&(a=!0,f=f||[],g=c.errorObject.e,g instanceof e.UnsubscriptionError?f=f.concat(q(g.errors)):f.push(g)));if(a)throw new e.UnsubscriptionError(f); }};a.prototype.add=function(b){if(!b||b===a.EMPTY)return a.EMPTY;if(b===this)return this;var c=b;switch(typeof b){case "function":c=new a(b);case "object":if(c.closed||"function"!==typeof c.unsubscribe)return c;if(this.closed)return c.unsubscribe(),c;"function"!==typeof c._addParent&&(b=c,c=new a,c._subscriptions=[b]);break;default:throw Error("unrecognized teardown "+b+" added to Subscription.");}(this._subscriptions||(this._subscriptions=[])).push(c);c._addParent(this);return c};a.prototype.remove= function(a){var b=this._subscriptions;b&&(a=b.indexOf(a),-1!==a&&b.splice(a,1))};a.prototype._addParent=function(a){var b=this._parent,c=this._parents;b&&b!==a?c?-1===c.indexOf(a)&&c.push(a):this._parents=[a]:this._parent=a};a.EMPTY=function(a){a.closed=!0;return a}(new a);return a}();f.Subscription=h},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype, -new c)},p=a(0);h=a(3);var n=a(11),c=a(87),b=a(198),d=a(85),e=function(a){function b(b){a.call(this,b);this.destination=b}q(b,a);return b}(h.Subscriber);f.SubjectSubscriber=e;a=function(a){function k(){a.call(this);this.observers=[];this.hasError=this.isStopped=this.closed=!1;this.thrownError=null}q(k,a);k.prototype[d.rxSubscriber]=function(){return new e(this)};k.prototype.lift=function(a){var b=new g(this,this);b.operator=a;return b};k.prototype.next=function(a){if(this.closed)throw new c.ObjectUnsubscribedError; -if(!this.isStopped){var b=this.observers,d=b.length;b=b.slice();for(var e=0;e<d;e++)b[e].next(a)}};k.prototype.error=function(a){if(this.closed)throw new c.ObjectUnsubscribedError;this.hasError=!0;this.thrownError=a;this.isStopped=!0;var b=this.observers,d=b.length;b=b.slice();for(var e=0;e<d;e++)b[e].error(a);this.observers.length=0};k.prototype.complete=function(){if(this.closed)throw new c.ObjectUnsubscribedError;this.isStopped=!0;var a=this.observers,b=a.length;a=a.slice();for(var d=0;d<b;d++)a[d].complete(); -this.observers.length=0};k.prototype.unsubscribe=function(){this.closed=this.isStopped=!0;this.observers=null};k.prototype._trySubscribe=function(b){if(this.closed)throw new c.ObjectUnsubscribedError;return a.prototype._trySubscribe.call(this,b)};k.prototype._subscribe=function(a){if(this.closed)throw new c.ObjectUnsubscribedError;if(this.hasError)return a.error(this.thrownError),n.Subscription.EMPTY;if(this.isStopped)return a.complete(),n.Subscription.EMPTY;this.observers.push(a);return new b.SubjectSubscription(this, +new c)},p=a(0);h=a(3);var n=a(11),d=a(88),b=a(198),c=a(86),e=function(a){function b(b){a.call(this,b);this.destination=b}q(b,a);return b}(h.Subscriber);f.SubjectSubscriber=e;a=function(a){function k(){a.call(this);this.observers=[];this.hasError=this.isStopped=this.closed=!1;this.thrownError=null}q(k,a);k.prototype[c.rxSubscriber]=function(){return new e(this)};k.prototype.lift=function(a){var b=new g(this,this);b.operator=a;return b};k.prototype.next=function(a){if(this.closed)throw new d.ObjectUnsubscribedError; +if(!this.isStopped){var b=this.observers,c=b.length;b=b.slice();for(var e=0;e<c;e++)b[e].next(a)}};k.prototype.error=function(a){if(this.closed)throw new d.ObjectUnsubscribedError;this.hasError=!0;this.thrownError=a;this.isStopped=!0;var b=this.observers,c=b.length;b=b.slice();for(var e=0;e<c;e++)b[e].error(a);this.observers.length=0};k.prototype.complete=function(){if(this.closed)throw new d.ObjectUnsubscribedError;this.isStopped=!0;var a=this.observers,b=a.length;a=a.slice();for(var c=0;c<b;c++)a[c].complete(); +this.observers.length=0};k.prototype.unsubscribe=function(){this.closed=this.isStopped=!0;this.observers=null};k.prototype._trySubscribe=function(b){if(this.closed)throw new d.ObjectUnsubscribedError;return a.prototype._trySubscribe.call(this,b)};k.prototype._subscribe=function(a){if(this.closed)throw new d.ObjectUnsubscribedError;if(this.hasError)return a.error(this.thrownError),n.Subscription.EMPTY;if(this.isStopped)return a.complete(),n.Subscription.EMPTY;this.observers.push(a);return new b.SubjectSubscription(this, a)};k.prototype.asObservable=function(){var a=new p.Observable;a.source=this;return a};k.create=function(a,b){return new g(a,b)};return k}(p.Observable);f.Subject=a;var g=function(a){function b(b,c){a.call(this);this.destination=b;this.source=c}q(b,a);b.prototype.next=function(a){var b=this.destination;b&&b.next&&b.next(a)};b.prototype.error=function(a){var b=this.destination;b&&b.error&&this.destination.error(a)};b.prototype.complete=function(){var a=this.destination;a&&a.complete&&this.destination.complete()}; b.prototype._subscribe=function(a){return this.source?this.source.subscribe(a):n.Subscription.EMPTY};return b}(a);f.AnonymousSubject=g},function(h,f,a){f.errorObject={e:{}}},function(h,f,a){a.d(f,"a",function(){return e});var q=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),p=new Uint32Array(2),n=[];for(h= -2;36>=h;++h){f=Math.floor(32/Math.log2(h));a=Math.pow(h,f);var c=Math.floor(f/2),b=Math.pow(h,c);c=Math.pow(h,f-c);var d="^[0-"+String.fromCharCode(48+Math.min(9,h-1));10<h&&(d+="a-"+String.fromCharCode(97+h-11),d+="A-"+String.fromCharCode(65+h-11));d+="]{1,"+Math.ceil(64/Math.log2(h))+"}$";n[h]={lowDigits:f,lowBase:a,lowBase1:b,lowBase2:c,pattern:new RegExp(d)}}var e=function(){function a(b,c){b=void 0===b?0:b;c=void 0===c?0:c;if(!(this instanceof a))throw new TypeError("Cannot call a class as a function"); +2;36>=h;++h){f=Math.floor(32/Math.log2(h));a=Math.pow(h,f);var d=Math.floor(f/2),b=Math.pow(h,d);d=Math.pow(h,f-d);var c="^[0-"+String.fromCharCode(48+Math.min(9,h-1));10<h&&(c+="a-"+String.fromCharCode(97+h-11),c+="A-"+String.fromCharCode(65+h-11));c+="]{1,"+Math.ceil(64/Math.log2(h))+"}$";n[h]={lowDigits:f,lowBase:a,lowBase1:b,lowBase2:d,pattern:new RegExp(c)}}var e=function(){function a(b,c){b=void 0===b?0:b;c=void 0===c?0:c;if(!(this instanceof a))throw new TypeError("Cannot call a class as a function"); this.low=b;this.high=c}q(a,[{key:"clone",value:function(){return new a(this.low,this.high)}},{key:"assign",value:function(a){this.low=a.low;this.high=a.high}},{key:"toString",value:function(a){a=void 0===a?10:a;var b=this.low,c=this.high;if(0===c)return b.toString(a);c*=4294967296;var d=n[a],e=d.lowBase;d=d.lowDigits;var g=c%e;c=Math.floor(c/e);b+=g;c+=Math.floor(b/e);b=(b%e).toString(a);return c.toString(a)+"0".repeat(d-b.length)+b}},{key:"tryParseString",value:function(a,b){b=void 0===b?10:b;var c= n[b],d=c.lowDigits,e=c.lowBase,g=c.lowBase1,k=c.lowBase2;if(!c.pattern.test(a))return!1;if(a.length<=d)return this.low=parseInt(a,b),this.high=0,!0;d=a.length-d;c=parseInt(a.substr(d),b);a=parseInt(a.substr(0,d),b);e=Math.floor(a*e/4294967296);g=c+a%4294967296*g%4294967296*k%4294967296;4294967296<=g&&(++e,g-=4294967296);if(g>>>0!==g||e>>>0!==e)return!1;this.low=g;this.high=e;return!0}},{key:"parseString",value:function(a,b){if(!this.tryParseString(a,void 0===b?10:b))throw Error("Failed to parse string as uint64 value: "+ JSON.stringify(a)+".");return this}},{key:"valid",value:function(){var a=this.low,b=this.high;return a>>>0===a&&b>>>0===b}},{key:"toJSON",value:function(){return this.toString()}},{key:"lshift",value:function(b){b&=63;if(0==b)return this.clone();var c=this.low,d=this.high;return 32>b?new a(c<<b,d<<b|c>>>32-b):new a(0,c<<b-32)}},{key:"rshift",value:function(b){b&=63;if(0==b)return this.clone();var c=this.low,d=this.high;return 32>b?new a(c>>>b|d<<32-b,d>>b):new a(d>>b-32,0<=d?0:-1)}},{key:"or",value:function(b){return new a(this.low| b.low,this.high|b.high)}},{key:"xor",value:function(b){return new a(this.low^b.low,this.high^b.high)}},{key:"and",value:function(b){return new a(this.low&b.low,this.high&b.high)}}],[{key:"less",value:function(a,b){return a.high<b.high||a.high===b.high&&a.low<b.low}},{key:"compare",value:function(a,b){return a.high-b.high||a.low-b.low}},{key:"equal",value:function(a,b){return a.low===b.low&&a.high===b.high}},{key:"min",value:function(b,c){return a.less(b,c)?b:c}},{key:"random",value:function(){crypto.getRandomValues(p); return new a(p[0],p[1])}},{key:"parseString",value:function(b,c){c=void 0===c?10:c;return(new a).parseString(b,c)}}]);return a}();e.ZERO=new e(0,0)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+ -typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b){l.set(a,b)}f.e=c;f.d=function(a,d){c(a,function(a){var c=this,e=a.id,g=new b.b;a=d.call(this,a,g);this.set(e,{promise:a,cancellationToken:g});a.then(function(a){var b=a.value;a=a.transfers;c.delete(e);c.invoke("rpc.promise.response",{id:e,value:b},a)},function(a){c.delete(e);c.invoke("rpc.promise.response", -{id:e,error:a.message,errorName:a.name})})})};a.d(f,"a",function(){return m});a.d(f,"b",function(){return r});a.d(f,"c",function(){return u});f.g=function(a){return function(b){b.prototype.RPC_TYPE_ID=a}};f.f=function(a){return function(b){if(void 0!==a)b.prototype.RPC_TYPE_ID=a;else if(a=b.prototype.RPC_TYPE_ID,void 0===a)throw Error("RPC_TYPE_ID should have already been defined");v.set(a,b)}};var b=a(32);h=a(1);var d=function y(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a, +typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function d(a,b){l.set(a,b)}f.e=d;f.d=function(a,c){d(a,function(a){var d=this,e=a.id,g=new b.b;a=c.call(this,a,g);this.set(e,{promise:a,cancellationToken:g});a.then(function(a){var b=a.value;a=a.transfers;d.delete(e);d.invoke("rpc.promise.response",{id:e,value:b},a)},function(a){d.delete(e);d.invoke("rpc.promise.response", +{id:e,error:a.message,errorName:a.name})})})};a.d(f,"a",function(){return m});a.d(f,"b",function(){return r});a.d(f,"c",function(){return u});f.g=function(a){return function(b){b.prototype.RPC_TYPE_ID=a}};f.f=function(a){return function(b){if(void 0!==a)b.prototype.RPC_TYPE_ID=a;else if(a=b.prototype.RPC_TYPE_ID,void 0===a)throw Error("RPC_TYPE_ID should have already been defined");v.set(a,b)}};var b=a(32);h=a(1);var c=function y(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a, b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return y(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},e=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),g=!("undefined"!==typeof Window&&self instanceof Window),l=new Map,k=function(a){function b(a,c){q(this, -b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,c));d.name=a;d.message=c;return d}n(b,a);return b}(Error);c("rpc.promise.cancel",function(a){this.get(a.id).cancellationToken.cancel()});c("rpc.promise.response",function(a){var c=a.id,d=this.get(c),e=d.resolve;d=d.reject;this.delete(c);a.hasOwnProperty("value")?e(a.value):a.errorName===b.a.name?d(b.a):d(new k(a.errorName,a.error))});var t=g?-1:0,m=function(){function a(b){var c=this;q(this,a);this.target=b;this.objects=new Map;this.nextId= +b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,c));d.name=a;d.message=c;return d}n(b,a);return b}(Error);d("rpc.promise.cancel",function(a){this.get(a.id).cancellationToken.cancel()});d("rpc.promise.response",function(a){var c=a.id,d=this.get(c),e=d.resolve;d=d.reject;this.delete(c);a.hasOwnProperty("value")?e(a.value):a.errorName===b.a.name?d(b.a):d(new k(a.errorName,a.error))});var t=g?-1:0,m=function(){function a(b){var c=this;q(this,a);this.target=b;this.objects=new Map;this.nextId= t;b.onmessage=function(a){a=a.data;l.get(a.functionName).call(c,a)}}e(a,[{key:"set",value:function(a,b){this.objects.set(a,b)}},{key:"delete",value:function(a){this.objects.delete(a)}},{key:"get",value:function(a){return this.objects.get(a)}},{key:"getRef",value:function(a){var b=this.get(a.id);b.referencedGeneration=a.gen;b.addRef();return b}},{key:"invoke",value:function(a,b,c){b.functionName=a;this.target.postMessage(b,c)}},{key:"promiseInvoke",value:function(a,c,d,e){var g=this;d=void 0===d?b.e: d;return Object(b.d)(d,function(b,d,m){var k=c.id=g.newId();g.set(k,{resolve:b,reject:d});g.invoke(a,c,e);m.add(function(){g.invoke("rpc.promise.cancel",{id:k})})})}},{key:"newId",value:function(){return g?this.nextId--:this.nextId++}},{key:"numObjects",get:function(){return this.objects.size}}]);return a}(),r=function(a){function b(){q(this,b);var a=p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.rpc=null;a.rpcId=null;return a}n(b,a);e(b,[{key:"initializeSharedObject",value:function(a, -b){b=void 0===b?a.newId():b;this.rpc=a;this.rpcId=b;this.isOwner=!1;a.set(b,this)}},{key:"initializeCounterpart",value:function(a,b){b=void 0===b?{}:b;this.initializeSharedObject(a);this.referencedGeneration=this.unreferencedGeneration=0;this.isOwner=!0;b.id=this.rpcId;b.type=this.RPC_TYPE_ID;a.invoke("SharedObject.new",b)}},{key:"dispose",value:function(){d(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"dispose",this).call(this)}},{key:"addCounterpartRef",value:function(){return{id:this.rpcId, -gen:++this.referencedGeneration}}},{key:"refCountReachedZero",value:function(){!0===this.isOwner?this.referencedGeneration===this.unreferencedGeneration&&this.ownerDispose():!1===this.isOwner?this.rpc.invoke("SharedObject.refCountReachedZero",{id:this.rpcId,gen:this.referencedGeneration}):d(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"refCountReachedZero",this).call(this)}},{key:"ownerDispose",value:function(){var a=this.rpc,c=this.rpcId;d(b.prototype.__proto__||Object.getPrototypeOf(b.prototype), -"refCountReachedZero",this).call(this);a.delete(c);a.invoke("SharedObject.dispose",{id:c})}},{key:"counterpartRefCountReachedZero",value:function(a){this.unreferencedGeneration=a;0===this.refCount&&a===this.referencedGeneration&&this.ownerDispose()}}]);return b}(h.a),u=function(a){function b(a,c){c=void 0===c?{}:c;q(this,b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c=void 0===c?{}:c;null!=a&&d.initializeSharedObject(a,c.id);return d}n(b,a);return b}(r);c("SharedObject.dispose", -function(a){a=this.get(a.id);if(0!==a.refCount)throw Error("Attempted to dispose object with non-zero reference count.");a.disposed();this.delete(a.rpcId);a.rpcId=null;a.rpc=null});c("SharedObject.refCountReachedZero",function(a){this.get(a.id).counterpartRefCountReachedZero(a.gen)});var v=new Map;c("SharedObject.new",function(a){--(new (v.get(a.type))(this,a)).refCount})},function(h,f,a){h=a(73);a="undefined"!==typeof self&&"undefined"!==typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&& -self;h="undefined"!==typeof window&&window||"undefined"!==typeof h&&h||a;f.root=h;if(!h)throw Error("RxJS could not find any global context (window, self, global)");},function(h,f,a){function q(){try{return n.apply(this,arguments)}catch(c){return p.errorObject.e=c,p.errorObject}}var p=a(13),n;f.tryCatch=function(a){n=a;return q}},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); -return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"g",function(){return y});f.k=function(){return new d.e([y.DATA,y.ANNOTATION,y.DEFAULT_ANNOTATION])};a.d(f,"f",function(){return x}); +b){b=void 0===b?a.newId():b;this.rpc=a;this.rpcId=b;this.isOwner=!1;a.set(b,this)}},{key:"initializeCounterpart",value:function(a,b){b=void 0===b?{}:b;this.initializeSharedObject(a);this.referencedGeneration=this.unreferencedGeneration=0;this.isOwner=!0;b.id=this.rpcId;b.type=this.RPC_TYPE_ID;a.invoke("SharedObject.new",b)}},{key:"dispose",value:function(){c(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"dispose",this).call(this)}},{key:"addCounterpartRef",value:function(){return{id:this.rpcId, +gen:++this.referencedGeneration}}},{key:"refCountReachedZero",value:function(){!0===this.isOwner?this.referencedGeneration===this.unreferencedGeneration&&this.ownerDispose():!1===this.isOwner?this.rpc.invoke("SharedObject.refCountReachedZero",{id:this.rpcId,gen:this.referencedGeneration}):c(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"refCountReachedZero",this).call(this)}},{key:"ownerDispose",value:function(){var a=this.rpc,d=this.rpcId;c(b.prototype.__proto__||Object.getPrototypeOf(b.prototype), +"refCountReachedZero",this).call(this);a.delete(d);a.invoke("SharedObject.dispose",{id:d})}},{key:"counterpartRefCountReachedZero",value:function(a){this.unreferencedGeneration=a;0===this.refCount&&a===this.referencedGeneration&&this.ownerDispose()}}]);return b}(h.a),u=function(a){function b(a,c){c=void 0===c?{}:c;q(this,b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c=void 0===c?{}:c;null!=a&&d.initializeSharedObject(a,c.id);return d}n(b,a);return b}(r);d("SharedObject.dispose", +function(a){a=this.get(a.id);if(0!==a.refCount)throw Error("Attempted to dispose object with non-zero reference count.");a.disposed();this.delete(a.rpcId);a.rpcId=null;a.rpc=null});d("SharedObject.refCountReachedZero",function(a){this.get(a.id).counterpartRefCountReachedZero(a.gen)});var v=new Map;d("SharedObject.new",function(a){--(new (v.get(a.type))(this,a)).refCount})},function(h,f,a){h=a(74);a="undefined"!==typeof self&&"undefined"!==typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&& +self;h="undefined"!==typeof window&&window||"undefined"!==typeof h&&h||a;f.root=h;if(!h)throw Error("RxJS could not find any global context (window, self, global)");},function(h,f,a){function q(){try{return n.apply(this,arguments)}catch(d){return p.errorObject.e=d,p.errorObject}}var p=a(13),n;f.tryCatch=function(a){n=a;return q}},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); +return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"g",function(){return y});f.k=function(){return new c.e([y.DATA,y.ANNOTATION,y.DEFAULT_ANNOTATION])};a.d(f,"f",function(){return x}); a.d(f,"j",function(){return A});a.d(f,"i",function(){return z});a.d(f,"d",function(){return D});a.d(f,"a",function(){return E});a.d(f,"e",function(){return G});a.d(f,"c",function(){return C});f.l=function(a,b,c,d,e){return d.registerDisposer(new B(a,b,c,function(a){var b=a.redrawNeeded.add(function(){return d.scheduleRedraw()}),c=e&&e(a);d.scheduleRedraw();return function(){void 0!==c&&c();b();d.scheduleRedraw()}},d.visibility))};a.d(f,"h",function(){return F});a.d(f,"b",function(){return L});h=a(10); -var c=a.n(h);h=a(243);var b=a.n(h),d=a(9),e=a(139);h=a(1);var g=a(2),l=a(4),k=a(7),t=a(244),m=a(14),r=a(29),u=a(40),v=function O(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return O(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},w=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable= +var d=a.n(h);h=a(243);var b=a.n(h),c=a(9),e=a(139);h=a(1);var g=a(2),l=a(4),k=a(7),t=a(244),m=a(14),r=a(29),u=a(40),v=function O(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return O(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},w=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable= !0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),y;(function(a){a[a.DATA=0]="DATA";a[a.ANNOTATION=1]="ANNOTATION";a[a.DEFAULT_ANNOTATION=2]="DEFAULT_ANNOTATION"})(y||(y={}));var x=function(a){function b(){q(this,b);var a=p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.ready=!1;a.role=y.DATA;a.layerChanged=new k.a;a.redrawNeeded=new k.a;a.readyStateChanged=new k.a;a.voxelSize=null;a.boundingBox=null;return a}n(b,a);w(b, [{key:"setReady",value:function(a){this.ready=a;this.readyStateChanged.dispatch();this.layerChanged.dispatch()}},{key:"handleAction",value:function(a){}},{key:"getValueAt",value:function(a){}},{key:"transformPickedValue",value:function(a,b){return a}},{key:"updateMouseState",value:function(a,b,c,d){}}]);return b}(h.a),A=function(a){function b(){q(this,b);var a=p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.visibility=new r.a;return a}n(b,a);return b}(x),z=function(a){function b(a, -c){q(this,b);var g=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));g.manager=a;g.layersChanged=new k.a;g.readyStateChanged=new k.a;g.specificationChanged=new k.a;g.renderLayers=[];g.isReady=!1;g.tabs=g.registerDisposer(new u.c);g.tool=g.registerDisposer(new d.b(function(a){return Object(e.c)(g,a)},function(a){return a.toJSON()}));c;g.tabs.changed.add(g.specificationChanged.dispatch);g.tool.changed.add(g.specificationChanged.dispatch);return g}n(b,a);w(b,[{key:"restoreState",value:function(a){this.tool.restoreState(a.tool); +d){q(this,b);var g=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));g.manager=a;g.layersChanged=new k.a;g.readyStateChanged=new k.a;g.specificationChanged=new k.a;g.renderLayers=[];g.isReady=!1;g.tabs=g.registerDisposer(new u.c);g.tool=g.registerDisposer(new c.b(function(a){return Object(e.c)(g,a)},function(a){return a.toJSON()}));d;g.tabs.changed.add(g.specificationChanged.dispatch);g.tool.changed.add(g.specificationChanged.dispatch);return g}n(b,a);w(b,[{key:"restoreState",value:function(a){this.tool.restoreState(a.tool); this.tabs.restoreState(a.tab)}},{key:"addRenderLayer",value:function(a){this.renderLayers.push(a);var b=this.layersChanged,c=this.readyStateChanged;a.layerChanged.add(b.dispatch);a.readyStateChanged.add(c.dispatch);c.dispatch();b.dispatch()}},{key:"removeRenderLayer",value:function(a){var b=this.renderLayers,c=this.layersChanged,d=this.readyStateChanged,e=b.indexOf(a);if(-1===e)throw Error("Attempted to remove invalid RenderLayer");b.splice(e,1);a.layerChanged.remove(c.dispatch);a.readyStateChanged.remove(d.dispatch); a.dispose();d.dispatch();c.dispatch()}},{key:"disposed",value:function(){for(var a=this.layersChanged,c=this.readyStateChanged,d=$jscomp.makeIterator(this.renderLayers),e=d.next();!e.done;e=d.next())e=e.value,e.layerChanged.remove(a.dispatch),e.readyStateChanged.remove(c.dispatch),e.dispose();v(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}},{key:"getValueAt",value:function(a,b){var c=this.renderLayers,d=b.pickedRenderLayer;if(null!==d&&-1!==c.indexOf(d)){var e= d.transformPickedValue(b.pickedValue,b.pickedOffset);return this.transformPickedValue(e)}b=$jscomp.makeIterator(c);for(c=b.next();!c.done&&(c=c.value,!c.ready||(e=c.getValueAt(a),void 0===e));c=b.next());return this.transformPickedValue(e)}},{key:"transformPickedValue",value:function(a){return a}},{key:"toJSON",value:function(){var a={};return a.tab=this.tabs.toJSON(),a.tool=this.tool.toJSON(),a}},{key:"handleAction",value:function(a){}}]);return b}(h.a),D=function(a){function b(a,c,d){c=void 0=== c?null:c;d=void 0===d?!0:d;q(this,b);var e=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));e.visible=d;e.readyStateChanged=new k.a;e.layerChanged=new k.a;e.specificationChanged=new k.a;e.wasDisposed=!1;e.layer_=null;e.name_=a;e.layer=c;return e}n(b,a);w(b,[{key:"isReady",value:function(){var a=this.layer;return null!==a&&a.isReady}},{key:"handleLayerChanged",value:function(){this.visible&&this.layerChanged.dispatch()}},{key:"setVisible",value:function(a){a!==this.visible&&(this.visible= a,this.layerChanged.dispatch())}},{key:"disposed",value:function(){this.wasDisposed=!0;this.layer=null;v(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}},{key:"layer",get:function(){return this.layer_},set:function(a){var b=this,c=this.layer_;null!=c&&(this.unregisterUserLayer(),c.dispose());this.layer_=a;if(null!=a){var d=[a.layersChanged.add(function(){return b.handleLayerChanged()}),a.readyStateChanged.add(this.readyStateChanged.dispatch),a.specificationChanged.add(this.specificationChanged.dispatch)]; this.unregisterUserLayer=function(){d.forEach(function(a){return a()})};this.readyStateChanged.dispatch();this.handleLayerChanged()}}},{key:"name",get:function(){return this.name_},set:function(a){a!==this.name_&&(this.name_=a,this.layerChanged.dispatch())}}]);return b}(h.a),E=function(a){function b(){q(this,b);var a=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));a.managedLayers=[];a.layerSet=new Set;a.layersChanged=new k.a;a.readyStateChanged=new k.a;a.specificationChanged=new k.a;a.boundPositions= -new WeakSet;a.numDirectUsers=0;a.renderLayerToManagedLayerMapGeneration=-1;a.renderLayerToManagedLayerMap_=new Map;a.scheduleRemoveLayersWithSingleRef=a.registerCancellable(c()(function(){return a.removeLayersWithSingleRef()},0));a.layersChanged.add(a.scheduleRemoveLayersWithSingleRef);return a}n(b,a);w(b,[{key:"filter",value:function(a){var b=this,c=!1;this.managedLayers=this.managedLayers.filter(function(d){return a(d)?!0:(b.unbindManagedLayer(d),b.layerSet.delete(d),c=!0,!1)});c&&this.layersChanged.dispatch()}}, +new WeakSet;a.numDirectUsers=0;a.renderLayerToManagedLayerMapGeneration=-1;a.renderLayerToManagedLayerMap_=new Map;a.scheduleRemoveLayersWithSingleRef=a.registerCancellable(d()(function(){return a.removeLayersWithSingleRef()},0));a.layersChanged.add(a.scheduleRemoveLayersWithSingleRef);return a}n(b,a);w(b,[{key:"filter",value:function(a){var b=this,c=!1;this.managedLayers=this.managedLayers.filter(function(d){return a(d)?!0:(b.unbindManagedLayer(d),b.layerSet.delete(d),c=!0,!1)});c&&this.layersChanged.dispatch()}}, {key:"removeLayersWithSingleRef",value:function(){0<this.numDirectUsers||this.filter(function(a){return 1!==a.refCount})}},{key:"updateSignalBindings",value:function(a,b){b(a.layerChanged,this.layersChanged.dispatch);b(a.readyStateChanged,this.readyStateChanged.dispatch);b(a.specificationChanged,this.specificationChanged.dispatch)}},{key:"useDirectly",value:function(){var a=this;1===++this.numDirectUsers&&this.layersChanged.remove(this.scheduleRemoveLayersWithSingleRef);return function(){0===--a.numDirectUsers&& -(a.layersChanged.add(a.scheduleRemoveLayersWithSingleRef),a.scheduleRemoveLayersWithSingleRef())}}},{key:"addManagedLayer",value:function(a,b){this.updateSignalBindings(a,t.a);this.layerSet.add(a);void 0===b&&(b=this.managedLayers.length);this.managedLayers.splice(b,0,a);this.layersChanged.dispatch();this.readyStateChanged.dispatch();return a}},{key:"addUserLayer",value:function(a,b,c){a=new D(a,b,c);return this.addManagedLayer(a)}},{key:"readyRenderLayers",value:function(){function a(a,l){for(;;)switch(b){case 0:k= -$jscomp.makeIterator(r.managedLayers),m=k.next();case 1:if(m.done){b=3;break}g=m.value;if(g.visible&&g.layer){b=4;break}b=2;break;case 4:e=$jscomp.makeIterator(g.layer.renderLayers),d=e.next();case 5:if(d.done){b=7;break}c=d.value;if(c.ready){b=8;break}b=6;break;case 8:return b=9,{value:c,done:!1};case 9:if(void 0===l){b=10;break}b=-1;throw l;case 10:case 6:d=e.next();b=5;break;case 7:case 2:m=k.next();b=1;break;case 3:b=-1;default:return{value:void 0,done:!0}}}var b=0,c,d,e,g,m,k,r=this,l={next:function(b){return a(b, +(a.layersChanged.add(a.scheduleRemoveLayersWithSingleRef),a.scheduleRemoveLayersWithSingleRef())}}},{key:"addManagedLayer",value:function(a,b){this.updateSignalBindings(a,t.a);this.layerSet.add(a);void 0===b&&(b=this.managedLayers.length);this.managedLayers.splice(b,0,a);this.layersChanged.dispatch();this.readyStateChanged.dispatch();return a}},{key:"addUserLayer",value:function(a,b,c){a=new D(a,b,c);return this.addManagedLayer(a)}},{key:"readyRenderLayers",value:function(){function a(a,l){for(;;)switch(b){case 0:m= +$jscomp.makeIterator(r.managedLayers),k=m.next();case 1:if(k.done){b=3;break}g=k.value;if(g.visible&&g.layer){b=4;break}b=2;break;case 4:e=$jscomp.makeIterator(g.layer.renderLayers),d=e.next();case 5:if(d.done){b=7;break}c=d.value;if(c.ready){b=8;break}b=6;break;case 8:return b=9,{value:c,done:!1};case 9:if(void 0===l){b=10;break}b=-1;throw l;case 10:case 6:d=e.next();b=5;break;case 7:case 2:k=m.next();b=1;break;case 3:b=-1;default:return{value:void 0,done:!0}}}var b=0,c,d,e,g,k,m,r=this,l={next:function(b){return a(b, void 0)},throw:function(b){return a(void 0,b)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();l[Symbol.iterator]=function(){return this};return l}},{key:"unbindManagedLayer",value:function(a){this.updateSignalBindings(a,t.b);a.dispose()}},{key:"clear",value:function(){for(var a=$jscomp.makeIterator(this.managedLayers),b=a.next();!b.done;b=a.next())this.unbindManagedLayer(b.value);this.managedLayers.length=0;this.layerSet.clear();this.layersChanged.dispatch()}}, {key:"remove",value:function(a){var b=this.managedLayers[a];this.unbindManagedLayer(b);this.managedLayers.splice(a,1);this.layerSet.delete(b);this.layersChanged.dispatch()}},{key:"removeManagedLayer",value:function(a){a=this.managedLayers.indexOf(a);if(-1===a)throw Error("Internal error: invalid managed layer.");this.remove(a)}},{key:"reorderManagedLayer",value:function(a,b){var c=this.managedLayers.length;a===b||0>a||a>=c||0>b||b>=c||(a=$jscomp.makeIterator(this.managedLayers.splice(a,1)).next().value, this.managedLayers.splice(b,0,a),this.layersChanged.dispatch())}},{key:"disposed",value:function(){this.clear();v(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}},{key:"getLayerByName",value:function(a){return this.managedLayers.find(function(b){return b.name===a})}},{key:"getUniqueLayerName",value:function(a){for(var b=a,c=0;void 0!==this.getLayerByName(b);)b=a+ ++c;return b}},{key:"has",value:function(a){return this.layerSet.has(a)}},{key:"initializePosition", -value:function(a){var b=this,d=this.boundPositions;d.has(a)||(d.add(a),d=c()(function(){b.updatePositionFromLayers(a)}),this.readyStateChanged.add(d),a.changed.add(d),this.updatePositionFromLayers(a))}},{key:"updatePositionFromLayers",value:function(a){if(!a.valid)for(var b=$jscomp.makeIterator(this.managedLayers),c=b.next();!c.done;c=b.next())if(c=c.value.layer,null!=c){c=$jscomp.makeIterator(c.renderLayers);for(var d=c.next();!d.done;d=c.next())if(d=d.value,d.ready&&(a.voxelSize.valid||null==d.voxelSize|| +value:function(a){var b=this,c=this.boundPositions;c.has(a)||(c.add(a),c=d()(function(){b.updatePositionFromLayers(a)}),this.readyStateChanged.add(c),a.changed.add(c),this.updatePositionFromLayers(a))}},{key:"updatePositionFromLayers",value:function(a){if(!a.valid)for(var b=$jscomp.makeIterator(this.managedLayers),c=b.next();!c.done;c=b.next())if(c=c.value.layer,null!=c){c=$jscomp.makeIterator(c.renderLayers);for(var d=c.next();!d.done;d=c.next())if(d=d.value,d.ready&&(a.voxelSize.valid||null==d.voxelSize|| (g.s.copy(a.voxelSize.size,d.voxelSize),a.voxelSize.setValid()),!a.spatialCoordinatesValid&&!a.voxelCoordinatesValid&&null!=d.boundingBox)){d=d.boundingBox;var e=a.spatialCoordinates;g.s.add(e,d.lower,d.upper);g.s.scale(e,e,.5);a.spatialCoordinatesValid=!0;a.changed.dispatch()}}}},{key:"invokeAction",value:function(a){for(var b=$jscomp.makeIterator(this.managedLayers),c=b.next();!c.done;c=b.next())if(c=c.value,null!==c.layer&&c.visible){c=c.layer;c.handleAction(a);c=$jscomp.makeIterator(c.renderLayers); for(var d=c.next();!d.done;d=c.next())d=d.value,d.ready&&d.handleAction(a)}}},{key:"renderLayerToManagedLayerMap",get:function(){var a=this.layersChanged.count,b=this.renderLayerToManagedLayerMap_;if(this.renderLayerToManagedLayerMapGeneration!==a){this.renderLayerToManagedLayerMapGeneration=a;b.clear();a=$jscomp.makeIterator(this.managedLayers);for(var c=a.next();!c.done;c=a.next()){c=c.value;var d=c.layer;if(null!==d){d=$jscomp.makeIterator(d.renderLayers);for(var e=d.next();!e.done;e=d.next())b.set(e.value, -c)}}}return b}},{key:"renderLayers",get:function(){var a=this;$jscomp.initSymbol();$jscomp.initSymbolIterator();var b={};return b[Symbol.iterator]=function(){function b(b,l){for(;;)switch(c){case 0:r=$jscomp.makeIterator(a.managedLayers),k=r.next();case 1:if(k.done){c=3;break}m=k.value;if(null!==m.layer){c=4;break}c=2;break;case 4:g=$jscomp.makeIterator(m.layer.renderLayers),e=g.next();case 5:if(e.done){c=7;break}d=e.value;c=8;return{value:d,done:!1};case 8:if(void 0===l){c=9;break}c=-1;throw l;case 9:case 6:e= -g.next();c=5;break;case 7:case 2:k=r.next();c=1;break;case 3:c=-1;default:return{value:void 0,done:!0}}}var c=0,d,e,g,m,k,r,l={next:function(a){return b(a,void 0)},throw:function(a){return b(void 0,a)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();l[Symbol.iterator]=function(){return this};return l},b}},{key:"visibleRenderLayers",get:function(){var a=this;$jscomp.initSymbol();$jscomp.initSymbolIterator();var b={};return b[Symbol.iterator]=function(){function b(b, -l){for(;;)switch(c){case 0:r=$jscomp.makeIterator(a.managedLayers),k=r.next();case 1:if(k.done){c=3;break}m=k.value;if(null!==m.layer&&m.visible){c=4;break}c=2;break;case 4:g=$jscomp.makeIterator(m.layer.renderLayers),e=g.next();case 5:if(e.done){c=7;break}d=e.value;c=8;return{value:d,done:!1};case 8:if(void 0===l){c=9;break}c=-1;throw l;case 9:case 6:e=g.next();c=5;break;case 7:case 2:k=r.next();c=1;break;case 3:c=-1;default:return{value:void 0,done:!0}}}var c=0,d,e,g,m,k,r,l={next:function(a){return b(a, +c)}}}return b}},{key:"renderLayers",get:function(){var a=this;$jscomp.initSymbol();$jscomp.initSymbolIterator();var b={};return b[Symbol.iterator]=function(){function b(b,l){for(;;)switch(c){case 0:r=$jscomp.makeIterator(a.managedLayers),m=r.next();case 1:if(m.done){c=3;break}k=m.value;if(null!==k.layer){c=4;break}c=2;break;case 4:g=$jscomp.makeIterator(k.layer.renderLayers),e=g.next();case 5:if(e.done){c=7;break}d=e.value;c=8;return{value:d,done:!1};case 8:if(void 0===l){c=9;break}c=-1;throw l;case 9:case 6:e= +g.next();c=5;break;case 7:case 2:m=r.next();c=1;break;case 3:c=-1;default:return{value:void 0,done:!0}}}var c=0,d,e,g,k,m,r,l={next:function(a){return b(a,void 0)},throw:function(a){return b(void 0,a)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();l[Symbol.iterator]=function(){return this};return l},b}},{key:"visibleRenderLayers",get:function(){var a=this;$jscomp.initSymbol();$jscomp.initSymbolIterator();var b={};return b[Symbol.iterator]=function(){function b(b, +l){for(;;)switch(c){case 0:r=$jscomp.makeIterator(a.managedLayers),m=r.next();case 1:if(m.done){c=3;break}k=m.value;if(null!==k.layer&&k.visible){c=4;break}c=2;break;case 4:g=$jscomp.makeIterator(k.layer.renderLayers),e=g.next();case 5:if(e.done){c=7;break}d=e.value;c=8;return{value:d,done:!1};case 8:if(void 0===l){c=9;break}c=-1;throw l;case 9:case 6:e=g.next();c=5;break;case 7:case 2:m=r.next();c=1;break;case 3:c=-1;default:return{value:void 0,done:!0}}}var c=0,d,e,g,k,m,r,l={next:function(a){return b(a, void 0)},throw:function(a){return b(void 0,a)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();l[Symbol.iterator]=function(){return this};return l},b}}]);return b}(h.a),G=function(){function a(){var c=this;q(this,a);this.changed=new k.a;this.position=g.s.create();this.active=!1;this.pickedRenderLayer=null;this.pickedValue=new m.a(0,0);this.pickedOffset=0;this.updater=this.pickedAnnotationId=this.pickedAnnotationLayer=void 0;this.stale=!1;this.triggerUpdate=b()(function(){c.update()}, 50,{leading:!0,trailing:!0})}w(a,[{key:"updateUnconditionally",value:function(){this.triggerUpdate.cancel();this.update();return this.active}},{key:"updateIfStale",value:function(){this.stale&&this.update()}},{key:"update",value:function(){var a=this.updater;this.stale=!1;a?this.setActive(a(this)):this.setActive(!1)}},{key:"setActive",value:function(a){this.stale=!1;if(this.active!==a||!0===a)this.active=a,this.changed.dispatch()}}]);return a}(),C=function(a){function b(a,c){q(this,b);var d=p(this, (b.__proto__||Object.getPrototypeOf(b)).call(this));d.layerManager=a;d.mouseState=c;d.values=new Map;d.changed=new k.a;d.needsUpdate=!0;d.registerDisposer(c.changed.add(function(){d.handleChange()}));d.registerDisposer(a.layersChanged.add(function(){d.handleLayerChange()}));return d}n(b,a);w(b,[{key:"handleLayerChange",value:function(){this.mouseState.active&&this.handleChange()}},{key:"handleChange",value:function(){this.needsUpdate=!0;this.changed.dispatch()}},{key:"update",value:function(){if(this.needsUpdate){this.needsUpdate= !1;var a=this.values,b=this.mouseState;a.clear();if(b.active)for(var c=b.position,d=$jscomp.makeIterator(this.layerManager.managedLayers),e=d.next();!e.done;e=d.next()){e=e.value;var g=e.layer;e.visible&&g&&a.set(g,g.getValueAt(c,b))}}}},{key:"get",value:function(a){this.update();return this.values.get(a)}},{key:"toJSON",value:function(){this.update();for(var a={},b=this.values,c=$jscomp.makeIterator(this.layerManager.managedLayers),d=c.next();!d.done;d=c.next()){d=d.value;var e=d.layer;e&&(e=b.get(e), -void 0!==e&&(e instanceof m.a&&(e={t:"u64",v:e}),a[d.name]=e))}return a}}]);return b}(h.a),B=function(a){function b(a,d,e,g,m){q(this,b);var k=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));k.layerManager=a;k.renderLayerType=d;k.roles=e;k.layerAdded=g;k.visibility=m;k.visibleLayers=new Map;k.newVisibleLayers=new Set;k.debouncedUpdateVisibleLayers=k.registerCancellable(c()(function(){return k.updateVisibleLayers()},0));k.registerDisposer(a.layersChanged.add(k.debouncedUpdateVisibleLayers)); -k.registerDisposer(e.changed.add(k.debouncedUpdateVisibleLayers));k.updateVisibleLayers();return k}n(b,a);w(b,[{key:"disposed",value:function(){this.visibleLayers.forEach(function(a){return a()});this.visibleLayers.clear();v(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}},{key:"updateVisibleLayers",value:function(){for(var a=this.visibleLayers,b=this.newVisibleLayers,c=this.renderLayerType,d=this.layerAdded,e=this.roles,g={},k=$jscomp.makeIterator(this.layerManager.readyRenderLayers()), -m=k.next();!m.done;g={disposer:g.disposer,visibilityDisposer:g.visibilityDisposer,typedLayer:g.typedLayer},m=k.next())m=m.value,m instanceof c&&e.has(m.role)&&(g.typedLayer=m,b.add(g.typedLayer),a.has(g.typedLayer)||(g.visibilityDisposer=g.typedLayer.visibility.add(this.visibility),g.disposer=d(g.typedLayer),a.set(g.typedLayer.addRef(),function(a){return function(){a.disposer();a.visibilityDisposer();a.typedLayer.dispose()}}(g))));c=$jscomp.makeIterator(a);for(d=c.next();!d.done;d=c.next())e=$jscomp.makeIterator(d.value), +void 0!==e&&(e instanceof m.a&&(e={t:"u64",v:e}),a[d.name]=e))}return a}}]);return b}(h.a),B=function(a){function b(a,c,e,g,k){q(this,b);var m=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));m.layerManager=a;m.renderLayerType=c;m.roles=e;m.layerAdded=g;m.visibility=k;m.visibleLayers=new Map;m.newVisibleLayers=new Set;m.debouncedUpdateVisibleLayers=m.registerCancellable(d()(function(){return m.updateVisibleLayers()},0));m.registerDisposer(a.layersChanged.add(m.debouncedUpdateVisibleLayers)); +m.registerDisposer(e.changed.add(m.debouncedUpdateVisibleLayers));m.updateVisibleLayers();return m}n(b,a);w(b,[{key:"disposed",value:function(){this.visibleLayers.forEach(function(a){return a()});this.visibleLayers.clear();v(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}},{key:"updateVisibleLayers",value:function(){for(var a=this.visibleLayers,b=this.newVisibleLayers,c=this.renderLayerType,d=this.layerAdded,e=this.roles,g={},m=$jscomp.makeIterator(this.layerManager.readyRenderLayers()), +k=m.next();!k.done;g={disposer:g.disposer,visibilityDisposer:g.visibilityDisposer,typedLayer:g.typedLayer},k=m.next())k=k.value,k instanceof c&&e.has(k.role)&&(g.typedLayer=k,b.add(g.typedLayer),a.has(g.typedLayer)||(g.visibilityDisposer=g.typedLayer.visibility.add(this.visibility),g.disposer=d(g.typedLayer),a.set(g.typedLayer.addRef(),function(a){return function(){a.disposer();a.visibilityDisposer();a.typedLayer.dispose()}}(g))));c=$jscomp.makeIterator(a);for(d=c.next();!d.done;d=c.next())e=$jscomp.makeIterator(d.value), d=e.next().value,e=e.next().value,b.has(d)||(a.delete(d),e());b.clear()}},{key:"getVisibleLayers",value:function(){this.debouncedUpdateVisibleLayers.flush();return[].concat($jscomp.arrayFromIterable(this.visibleLayers.keys()))}}]);return b}(h.a),F=function(a){function b(a){q(this,b);var c=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.layerManager=a;c.changed=new k.a;c.visible_=!1;c.registerDisposer(a);return c}n(b,a);w(b,[{key:"toJSON",value:function(){if(void 0!==this.layer)return{layer:this.layer.name, visible:!0===this.visible?!0:void 0}}},{key:"restoreState",value:function(a){if(void 0===a)this.reset();else{Object(l.t)(a);var b=Object(l.v)(a,"layer",l.y);this.layer=void 0!==b?this.layerManager.getLayerByName(b):void 0;this.visible=Object(l.v)(a,"visible",l.w)?!0:!1}}},{key:"reset",value:function(){this.layer=void 0}},{key:"layer",get:function(){return this.layer_},set:function(a){var b=this;if(a!==this.layer_){void 0!==this.layer_&&(this.existingLayerDisposer(),this.existingLayerDisposer=void 0); this.layer_=a;if(void 0!==a){var c=function(){b.layer_=void 0;b.visible=!1;b.existingLayerDisposer=void 0;b.changed.dispatch()};a.registerDisposer(c);var d=a.specificationChanged.add(function(){b.changed.dispatch()});this.existingLayerDisposer=function(){var b=a.layer;null!==b&&(b=b.tool.value,void 0!==b&&b.deactivate());a.unregisterDisposer(c);d()}}else this.visible_=!1;this.changed.dispatch()}}},{key:"visible",get:function(){return this.visible_},set:function(a){void 0===this.layer_&&(a=!1);this.visible_!== -a&&(this.visible_=a,this.changed.dispatch())}}]);return b}(h.a),L=function(a){function b(a,d){q(this,b);var e=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));e.layerManager=a;e.filter=d;e.changed=new k.a;e.validate=c()(function(){var a=e.layerName_;void 0!==a&&(a=e.layerManager.getLayerByName(a),void 0!==a&&e.filter(a)?e.layer_=a:(e.layer_=void 0,e.layerName_=void 0),e.changed.dispatch())},0);e.registerDisposer(a);e.registerDisposer(a.specificationChanged.add(function(){var a=e.layer_; +a&&(this.visible_=a,this.changed.dispatch())}}]);return b}(h.a),L=function(a){function b(a,c){q(this,b);var e=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));e.layerManager=a;e.filter=c;e.changed=new k.a;e.validate=d()(function(){var a=e.layerName_;void 0!==a&&(a=e.layerManager.getLayerByName(a),void 0!==a&&e.filter(a)?e.layer_=a:(e.layer_=void 0,e.layerName_=void 0),e.changed.dispatch())},0);e.registerDisposer(a);e.registerDisposer(a.specificationChanged.add(function(){var a=e.layer_; void 0!==a&&(e.layerManager.layerSet.has(a)&&e.filter(a)?(a=a.name,a!==e.layerName_&&(e.layerName_=a,e.changed.dispatch())):(e.layer_=void 0,e.layerName_=void 0,e.changed.dispatch()))}));return e}n(b,a);w(b,[{key:"restoreState",value:function(a){this.layerName=Object(l.y)(a)}},{key:"toJSON",value:function(){var a=this.layer_;return void 0!==a?a.name:this.layerName_}},{key:"reset",value:function(){this.layer_=this.layerName_=void 0;this.changed.dispatch()}},{key:"layer",get:function(){return this.layer_}, -set:function(a){this.layer_!==a&&(void 0!==a&&this.layerManager.layerSet.has(a)&&this.filter(a)?(this.layer_=a,this.layerName_=a.name):this.layerName_=this.layer_=void 0,this.changed.dispatch())}},{key:"layerName",get:function(){return this.layerName_},set:function(a){a!==this.layerName_&&(this.layer_=void 0,this.layerName_=a,this.changed.dispatch(),this.validate())}}]);return b}(h.a)},function(h,f,a){h=a(69);a=a(70);f.async=new a.AsyncScheduler(h.AsyncAction)},function(h,f,a){a.d(f,"a",function(){return b}); -f.b=function(a,c,g,l){for(var d=[],e=3;e<arguments.length;++e)d[e-3]=arguments[e];return a.memoize.get(Object(p.g)({id:"getMemoizedBuffer",getter:Object(n.a)(g),args:d}),function(){var e=new q.b(b.fromData(a,g.apply(null,[].concat($jscomp.arrayFromIterable(d))),c,WebGL2RenderingContext.STATIC_DRAW));e.registerDisposer(e.value);return e})};var q=a(1),p=a(4),n=a(22),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable= -!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),b=function(){function a(b,c){c=void 0===c?WebGL2RenderingContext.ARRAY_BUFFER:c;if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");this.gl=b;this.bufferType=c;this.gl=b;this.buffer=b.createBuffer()}c(a,[{key:"bind",value:function(){this.gl.bindBuffer(this.bufferType,this.buffer)}},{key:"bindToVertexAttrib",value:function(a,b,c,d,t,m){c=void 0===c?WebGL2RenderingContext.FLOAT: +set:function(a){this.layer_!==a&&(void 0!==a&&this.layerManager.layerSet.has(a)&&this.filter(a)?(this.layer_=a,this.layerName_=a.name):this.layerName_=this.layer_=void 0,this.changed.dispatch())}},{key:"layerName",get:function(){return this.layerName_},set:function(a){a!==this.layerName_&&(this.layer_=void 0,this.layerName_=a,this.changed.dispatch(),this.validate())}}]);return b}(h.a)},function(h,f,a){h=a(70);a=a(71);f.async=new a.AsyncScheduler(h.AsyncAction)},function(h,f,a){a.d(f,"a",function(){return b}); +f.b=function(a,d,g,l){for(var c=[],e=3;e<arguments.length;++e)c[e-3]=arguments[e];return a.memoize.get(Object(p.g)({id:"getMemoizedBuffer",getter:Object(n.a)(g),args:c}),function(){var e=new q.b(b.fromData(a,g.apply(null,[].concat($jscomp.arrayFromIterable(c))),d,WebGL2RenderingContext.STATIC_DRAW));e.registerDisposer(e.value);return e})};var q=a(1),p=a(4),n=a(23),d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable= +!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),b=function(){function a(b,c){c=void 0===c?WebGL2RenderingContext.ARRAY_BUFFER:c;if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");this.gl=b;this.bufferType=c;this.gl=b;this.buffer=b.createBuffer()}d(a,[{key:"bind",value:function(){this.gl.bindBuffer(this.bufferType,this.buffer)}},{key:"bindToVertexAttrib",value:function(a,b,c,d,t,m){c=void 0===c?WebGL2RenderingContext.FLOAT: c;d=void 0===d?!1:d;t=void 0===t?0:t;m=void 0===m?0:m;this.bind();this.gl.enableVertexAttribArray(a);this.gl.vertexAttribPointer(a,b,c,d,t,m)}},{key:"setData",value:function(a,b){b=void 0===b?WebGL2RenderingContext.STATIC_DRAW:b;var c=this.gl;this.bind();c.bufferData(this.bufferType,a,b)}},{key:"dispose",value:function(){this.gl.deleteBuffer(this.buffer);this.gl=this.buffer=void 0}}],[{key:"fromData",value:function(b,c,d,k){b=new a(b,d);b.setData(c,k);return b}}]);return a}()},function(h,f,a){a.d(f, -"k",function(){return n});f.s=function(a){return(a[3]+1/256*a[2]+1/65536*a[1]+1/16777216*a[0])/256};a.d(f,"h",function(){return c});a.d(f,"g",function(){return e});a.d(f,"i",function(){return g});a.d(f,"e",function(){return l});f.r=function(a,b){for(var c=0;4>c;++c)a[c]=(b>>8*c&255)/255;return a};f.a=function(a,b){b=void 0===b?1:b;switch(a){case q.b.FLOAT32:if(1===b)return"float";if(1<b&&4>b)return"vec"+b;break;case q.b.UINT8:if(1===b)return"uint8_t";if(1<b&&4>b)return"uint8x"+b+"_t";break;case q.b.UINT16:if(1=== +"k",function(){return n});f.s=function(a){return(a[3]+1/256*a[2]+1/65536*a[1]+1/16777216*a[0])/256};a.d(f,"h",function(){return d});a.d(f,"g",function(){return e});a.d(f,"i",function(){return g});a.d(f,"e",function(){return l});f.r=function(a,b){for(var c=0;4>c;++c)a[c]=(b>>8*c&255)/255;return a};f.a=function(a,b){b=void 0===b?1:b;switch(a){case q.b.FLOAT32:if(1===b)return"float";if(1<b&&4>b)return"vec"+b;break;case q.b.UINT8:if(1===b)return"uint8_t";if(1<b&&4>b)return"uint8x"+b+"_t";break;case q.b.UINT16:if(1=== b)return"uint16_t";if(2===b)return"uint16x2_t";break;case q.b.UINT32:if(1===b)return"uint32_t";break;case q.b.UINT64:if(1===b)return"uint64_t"}throw Error("No shader type for "+q.b[a]+"["+b+"].");};var q=a(50),p=a(246),n="\nvec4 packFloat01ToFixedPoint(const float value) {\n const vec4 shift = vec4(256.0 * 256.0 * 256.0, 256.0 * 256.0, 256.0, 1.0);\n const vec4 mask = vec4(0.0, 1.0 / 256.0, 1.0 / 256.0, 1.0 / 256.0);\n vec4 result = fract(value * shift);\n result -= result.xxyz * mask;\n return result * 256.0 / 255.0;\n}\n", -c="\nvec3 hueToRgb(float hue) {\n float hue6 = hue * 6.0;\n float r = abs(hue6 - 3.0) - 1.0;\n float g = 2.0 - abs(hue6 - 2.0);\n float b = 2.0 - abs(hue6 - 4.0);\n return clamp(vec3(r, g, b), 0.0, 1.0);\n}\nvec3 hsvToRgb(vec3 c) {\n vec3 hueRgb = hueToRgb(c.x);\n return c.z * ((hueRgb - 1.0) * c.y + 1.0);\n}\n";h=["float","vec2","vec3","vec4"].map(function(a){return"\n"+a+" unnormalizeUint8("+a+" value) {\n return floor(value * 255.0 + 0.5);\n}\n"}).join("");f.q=h;var b=[h,"\nfloat uintleToFloat(float v) {\n return unnormalizeUint8(v);\n}\nfloat uintleToFloat(vec2 v) {\n v = unnormalizeUint8(v);\n return v.x + v.y * 256.0;\n}\nfloat uintleToFloat(vec3 v) {\n v = unnormalizeUint8(v);\n return v.x + v.y * 256.0 + v.z * 256.0 * 256.0;\n}\n"]; -f.p=b;var d=[h,"\nfloat uintbeToFloat(float v) {\n return unnormalizeUint8(v);\n}\nfloat uintbeToFloat(vec2 v) {\n v = unnormalizeUint8(v);\n return v.y + v.x * 256.0;\n}\nfloat uintbeToFloat(vec3 v) {\n v = unnormalizeUint8(v);\n return v.z + v.y * 256.0 + v.x * 256.0 * 256.0;\n}\n"];(function(){var a=p.a===p.b.BIG?"be":"le";return[p.a===p.b.BIG?d:b,"\nfloat uintToFloat(float v) {\n return uint"+a+"ToFloat(v);\n}\nfloat uintToFloat(vec2 v) {\n return uint"+a+"ToFloat(v);\n}\nfloat uintToFloat(vec3 v) {\n return uint"+ +d="\nvec3 hueToRgb(float hue) {\n float hue6 = hue * 6.0;\n float r = abs(hue6 - 3.0) - 1.0;\n float g = 2.0 - abs(hue6 - 2.0);\n float b = 2.0 - abs(hue6 - 4.0);\n return clamp(vec3(r, g, b), 0.0, 1.0);\n}\nvec3 hsvToRgb(vec3 c) {\n vec3 hueRgb = hueToRgb(c.x);\n return c.z * ((hueRgb - 1.0) * c.y + 1.0);\n}\n";h=["float","vec2","vec3","vec4"].map(function(a){return"\n"+a+" unnormalizeUint8("+a+" value) {\n return floor(value * 255.0 + 0.5);\n}\n"}).join("");f.q=h;var b=[h,"\nfloat uintleToFloat(float v) {\n return unnormalizeUint8(v);\n}\nfloat uintleToFloat(vec2 v) {\n v = unnormalizeUint8(v);\n return v.x + v.y * 256.0;\n}\nfloat uintleToFloat(vec3 v) {\n v = unnormalizeUint8(v);\n return v.x + v.y * 256.0 + v.z * 256.0 * 256.0;\n}\n"]; +f.p=b;var c=[h,"\nfloat uintbeToFloat(float v) {\n return unnormalizeUint8(v);\n}\nfloat uintbeToFloat(vec2 v) {\n v = unnormalizeUint8(v);\n return v.y + v.x * 256.0;\n}\nfloat uintbeToFloat(vec3 v) {\n v = unnormalizeUint8(v);\n return v.z + v.y * 256.0 + v.x * 256.0 * 256.0;\n}\n"];(function(){var a=p.a===p.b.BIG?"be":"le";return[p.a===p.b.BIG?c:b,"\nfloat uintToFloat(float v) {\n return uint"+a+"ToFloat(v);\n}\nfloat uintToFloat(vec2 v) {\n return uint"+a+"ToFloat(v);\n}\nfloat uintToFloat(vec3 v) {\n return uint"+ a+"ToFloat(v);\n}\n"]})();f.n="\nstruct uint64_t {\n vec4 low, high;\n};\nuint64_t toUint64(uint64_t x) { return x; }\n";f.o=[h,"\nstruct uint64_t {\n vec4 low, high;\n};\nuint64_t toUint64(uint64_t x) { return x; }\n","\nstruct uint8_t {\n float value;\n};\nstruct uint8x2_t {\n vec2 value;\n};\nstruct uint8x3_t {\n vec3 value;\n};\nstruct uint8x4_t {\n vec4 value;\n};\nfloat toRaw(uint8_t x) { return unnormalizeUint8(x.value); }\nfloat toNormalized(uint8_t x) { return x.value; }\nvec2 toRaw(uint8x2_t x) { return unnormalizeUint8(x.value); }\nvec2 toNormalized(uint8x2_t x) { return x.value; }\nvec3 toRaw(uint8x3_t x) { return unnormalizeUint8(x.value); }\nvec3 toNormalized(uint8x3_t x) { return x.value; }\nvec4 toRaw(uint8x4_t x) { return unnormalizeUint8(x.value); }\nvec4 toNormalized(uint8x4_t x) { return x.value; }\nuint64_t toUint64(uint8_t x) {\n uint64_t result;\n result.low = vec4(x.value, 0.0, 0.0, 0.0);\n result.high = vec4(0.0, 0.0, 0.0, 0.0);\n return result;\n}\n"]; f.f="\nfloat toRaw(float x) { return x; }\nfloat toNormalized(float x) { return x; }\nvec2 toRaw(vec2 x) { return x; }\nvec2 toNormalized(vec2 x) { return x; }\nvec3 toRaw(vec3 x) { return x; }\nvec3 toNormalized(vec3 x) { return x; }\nvec4 toRaw(vec4 x) { return x; }\nvec4 toNormalized(vec4 x) { return x; }\n";f.l=["\nstruct uint64_t {\n vec4 low, high;\n};\nuint64_t toUint64(uint64_t x) { return x; }\n",b,"\nstruct uint16_t {\n vec2 value;\n};\nstruct uint16x2_t {\n vec4 value;\n};\nfloat toRaw(uint16_t x) { return uintleToFloat(x.value); }\nfloat toNormalized(uint16_t x) { return toRaw(x) / 65535.0; }\nvec2 toRaw(uint16x2_t x) { return vec2(uintleToFloat(x.value.xy), uintleToFloat(x.value.zw)); }\nvec2 toNormalized(uint16x2_t x) { return toRaw(x) / 65535.0; }\nuint64_t toUint64(uint16_t x) {\n uint64_t result;\n result.low = vec4(x.value, 0.0, 0.0);\n result.high = vec4(0.0, 0.0, 0.0, 0.0);\n return result;\n}\n"]; h=["\nstruct uint64_t {\n vec4 low, high;\n};\nuint64_t toUint64(uint64_t x) { return x; }\n","\nstruct uint32_t {\n vec4 value;\n};\nuint64_t toUint64(uint32_t x) {\n uint64_t result;\n result.low = x.value;\n result.high = vec4(0.0, 0.0, 0.0, 0.0);\n return result;\n}\n"];f.m=h;var e=["\nvec3 getSubscriptsFromNormalized(vec3 normalizedPosition, vec3 size) {\n return floor(min(normalizedPosition * size, size - 1.0));\n}\n","\nfloat getFortranOrderIndex(vec3 subscripts, vec3 size) {\n return subscripts.x + size.x * (subscripts.y + size.y * subscripts.z);\n}\n", @@ -196,105 +196,105 @@ h=["\nstruct uint64_t {\n vec4 low, high;\n};\nuint64_t toUint64(uint64_t x) { f.b=[h,"\nuint32_t add(uint32_t a, float b) {\n uint32_t result;\n float partial = 0.0;\n\n partial += a.value.x * 255.0 + b;\n {\n float byte0 = mod(partial, 256.0);\n result.value.x = byte0 / 255.0;\n partial = (partial - byte0) / 256.0;\n }\n\n partial += a.value.y * 255.0;\n {\n float byte1 = mod(partial, 256.0);\n result.value.y = byte1 / 255.0;\n partial = (partial - byte1) / 256.0;\n }\n\n partial += a.value.z * 255.0;\n {\n float byte2 = mod(partial, 256.0);\n result.value.z = byte2 / 255.0;\n partial = (partial - byte2) / 256.0;\n }\n\n partial += a.value.w * 255.0;\n {\n float byte3 = mod(partial, 256.0);\n result.value.w = byte3 / 255.0;\n partial = (partial - byte3) / 256.0;\n }\n return result;\n}\n\nuint32_t add(uint32_t a, uint32_t b) {\n uint32_t result;\n float partial = 0.0;\n\n partial += a.value.x * 255.0 + b.value.x * 255.0;\n {\n float byte0 = mod(partial, 256.0);\n result.value.x = byte0 / 255.0;\n partial = (partial - byte0) / 256.0;\n }\n\n partial += a.value.y * 255.0 + b.value.y * 255.0;\n {\n float byte1 = mod(partial, 256.0);\n result.value.y = byte1 / 255.0;\n partial = (partial - byte1) / 256.0;\n }\n\n partial += a.value.z * 255.0 + b.value.z * 255.0;\n {\n float byte2 = mod(partial, 256.0);\n result.value.z = byte2 / 255.0;\n partial = (partial - byte2) / 256.0;\n }\n\n partial += a.value.w * 255.0 + b.value.w * 255.0;\n {\n float byte3 = mod(partial, 256.0);\n result.value.w = byte3 / 255.0;\n partial = (partial - byte3) / 256.0;\n }\n return result;\n}\n"]; f.j=[h,"\nuint32_t multiply(uint32_t a, float b) {\n uint32_t result;\n float partial = 0.0;\n partial += a.value.x * 255.0 * b;\n {\n float byte0 = mod(floor(partial + 0.5), 256.0);\n result.value.x = byte0 / 255.0;\n partial = (partial - byte0) / 256.0;\n }\n\n partial += a.value.y * 255.0 * b;\n {\n float byte1 = mod(floor(partial + 0.5), 256.0);\n result.value.y = byte1 / 255.0;\n partial = (partial - byte1) / 256.0;\n }\n\n partial += a.value.z * 255.0 * b;\n {\n float byte2 = mod(floor(partial + 0.5), 256.0);\n result.value.z = byte2 / 255.0;\n partial = (partial - byte2) / 256.0;\n }\n\n partial += a.value.w * 255.0 * b;\n {\n float byte3 = mod(floor(partial + 0.5), 256.0);\n result.value.w = byte3 / 255.0;\n partial = (partial - byte3) / 256.0;\n }\n return result;\n}\n"]; f.c=[h,"\nfloat divmod(uint32_t dividend, float divisor, out uint32_t quotient) {\n\n float partial = dividend.value.w * 255.0;\n float remainder;\n\n remainder = mod(partial, divisor);\n quotient.value.w = (partial - remainder) / divisor / 255.0;\n partial = remainder * 256.0 + dividend.value.z * 255.0;\n\n remainder = mod(partial, divisor);\n quotient.value.z = (partial - remainder) / divisor / 255.0;\n partial = remainder * 256.0 + dividend.value.y * 255.0;\n\n remainder = mod(partial, divisor);\n quotient.value.y = (partial - remainder) / divisor / 255.0;\n partial = remainder * 256.0 + dividend.value.x * 255.0;\n\n remainder = mod(partial, divisor);\n quotient.value.x = (partial - remainder) / divisor / 255.0;\n\n return remainder;\n}\n"]}, -function(h,f,a){f.a=function(a){if(a instanceof Object){var c=a[q];void 0===c&&(c=a[q]=p++);return"o"+c}return""+JSON.stringify(a)};$jscomp.initSymbol();var q=Symbol("objectId"),p=0},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b); -a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function c(a){if("number"!==typeof a||0>a)throw Error("Expected non-negative number as limit, but received: "+JSON.stringify(a));return a}a.d(f,"b",function(){return w});a.d(f,"a",function(){return y});a.d(f,"d",function(){return x}); +function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function p(a,b){var c="";b&1&&(c+="control+");b&2&&(c+="alt+");b&4&&(c+="meta+");b&8&&(c+="shift+");return c+a}function n(a){return"string"===typeof a?{action:a}:a}function d(a){function b(b, +m){for(;;)switch(c){case 0:g=a.indexOf(":");a:{b=void 0;var k=a.substring(g+1).split("+"),r=0;k=$jscomp.makeIterator(k);for(var l=k.next();!l.done;l=k.next())switch(l=l.value,l){case "control":r|=1;break;case "alt":r|=2;break;case "meta":r|=4;break;case "shift":r|=8;break;default:if(void 0===b)b=l;else{e=void 0;break a}}e=void 0===b?void 0:p(b,r)}if(void 0!==e){c=1;break}c=-1;throw Error("Invalid event identifier: "+JSON.stringify(a));case 1:if(-1===g){c=2;break}d=a.substring(0,g);if("at"===d||"bubble"=== +d){c=4;break}c=-1;throw Error("Invalid event phase: "+JSON.stringify(d));case 4:return c=5,{value:d+":"+e,done:!1};case 5:if(void 0===m){c=6;break}c=-1;throw m;case 6:c=3;break;case 2:return c=7,{value:"at:"+e,done:!1};case 7:if(void 0===m){c=8;break}c=-1;throw m;case 8:return c=9,{value:"bubble:"+e,done:!1};case 9:if(void 0===m){c=10;break}c=-1;throw m;case 10:case 3:c=-1;default:return{value:void 0,done:!0}}}var c=0,d,e,g,k={next:function(a){return b(a,void 0)},throw:function(a){return b(void 0, +a)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();k[Symbol.iterator]=function(){return this};return k}a.d(f,"a",function(){return l});f.b=function(a,b,c){a=k[b.eventPhase]+":"+p(a,(b.ctrlKey?1:0)|(b.altKey?2:0)|(b.metaKey?4:0)|(b.shiftKey?8:0));c=c.get(a);void 0!==c&&(!1!==c.stopPropagation&&b.stopPropagation(),a=new CustomEvent("action:"+c.action,{bubbles:!0,detail:b,cancelable:!0}),a=!b.target.dispatchEvent(a),(!1!==c.preventDefault||a)&&b.preventDefault())}; +f.c=function(a,c,d,e){return Object(b.c)(a,"action:"+c,d,e)};var b=a(1);h=a(257);var c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),e=function m(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return m(a,b,c)}else{if("value"in +d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},g;(function(a){a[a.CONTROL=1]="CONTROL";a[a.ALT=2]="ALT";a[a.META=4]="META";a[a.SHIFT=8]="SHIFT"})(g||(g={}));var l=function(a){function b(){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var a=(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!a||"object"!==typeof a&&"function"!==typeof a?this: +a}q(b,a);c(b,[{key:"setFromObject",value:function(a){for(var b=$jscomp.makeIterator(Object.keys(a)),c=b.next();!c.done;c=b.next())c=c.value,this.set(c,n(a[c]))}},{key:"set",value:function(a,c){c=n(c);a=$jscomp.makeIterator(d(a));for(var g=a.next();!g.done;g=a.next())g=g.value,e(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"set",this).call(this,g,c)}},{key:"delete",value:function(a){a=$jscomp.makeIterator(d(a));for(var c=a.next();!c.done;c=a.next())c=c.value,e(b.prototype.__proto__||Object.getPrototypeOf(b.prototype), +"delete",this).call(this,c)}}],[{key:"fromObject",value:function(a,c){c=void 0===c?{}:c;var d=new b;d.label=c.label;if(void 0!==c.parents){c=$jscomp.makeIterator(c.parents);for(var e=c.next();!e.done;e=c.next()){var g=$jscomp.makeIterator(e.value);e=g.next().value;g=g.next().value;d.addParent(e,g)}}c=$jscomp.makeIterator(Object.keys(a));for(e=c.next();!e.done;e=c.next())e=e.value,d.set(e,n(a[e]));return d}}]);return b}(h.a),k=[];k[Event.AT_TARGET]="at";k[Event.CAPTURING_PHASE]="capture";k[Event.BUBBLING_PHASE]= +"bubble"},function(h,f,a){f.a=function(a){if(a instanceof Object){var d=a[q];void 0===d&&(d=a[q]=p++);return"o"+d}return""+JSON.stringify(a)};$jscomp.initSymbol();var q=Symbol("objectId"),p=0},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+ +typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function d(a){if("number"!==typeof a||0>a)throw Error("Expected non-negative number as limit, but received: "+JSON.stringify(a));return a}a.d(f,"b",function(){return w});a.d(f,"a",function(){return y});a.d(f,"d",function(){return x}); a.d(f,"c",function(){return A});a.d(f,"e",function(){return z});f.f=function(a,b){a=function(a){function b(a){for(var c=[],d=0;d<arguments.length;++d)c[d-0]=arguments[d];n(this,b);var e;d=q(this,(e=b.__proto__||Object.getPrototypeOf(b)).call.apply(e,[].concat([this],$jscomp.arrayFromIterable(c))));d.parameters=c[1].parameters;return d}p(b,a);u(b,[{key:"initializeCounterpart",value:function(a,c){c.parameters=this.parameters;r(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"initializeCounterpart", -this).call(this,a,c)}}],[{key:"encodeOptions",value:function(a){var c=r(b.__proto__||Object.getPrototypeOf(b),"encodeOptions",this).call(this,a);c.parameters=a.parameters;return c}}]);return b}(a);return a=v([Object(m.g)(b.RPC_ID)],a)};var b=a(30),d=a(74),e=a(9),g=a(4),l=a(97),k=a(22),t=a(7),m=a(15),r=function E(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return E(a,b,c)}else{if("value"in d)return d.value; -b=d.get;return void 0===b?void 0:b.call(c)}},u=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),v=this&&this.__decorate||function(a,b,c,d){var e=arguments.length,g=3>e?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d,m;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)g=Reflect.decorate(a, -b,c,d);else for(var k=a.length-1;0<=k;k--)if(m=a[k])g=(3>e?m(g):3<e?m(b,c,g):m(b,c))||g;return 3<e&&g&&Object.defineProperty(b,c,g),g},w=function(){function a(c){n(this,a);this.source=c;this.state=b.d.SYSTEM_MEMORY}u(a,[{key:"copyToGPU",value:function(a){this.state=b.d.GPU_MEMORY}},{key:"freeGPUMemory",value:function(a){this.state=b.d.SYSTEM_MEMORY}},{key:"gl",get:function(){return this.source.gl}}]);return a}(),y=function G(a){var b=void 0===a?{}:a;a=void 0===b.defaultItemLimit?Number.POSITIVE_INFINITY: -b.defaultItemLimit;b=void 0===b.defaultSizeLimit?Number.POSITIVE_INFINITY:b.defaultSizeLimit;n(this,G);this.sizeLimit=new e.c(b,c);this.itemLimit=new e.c(a,c)},x=function(a){function c(a,b,e){n(this,c);var g=q(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));g.gl=b;g.capacities=e;g.visibleChunksChanged=new t.a;g.pendingChunkUpdates=null;g.pendingChunkUpdatesTail=null;g.chunkUpdateDeadline=null;g.chunkUpdateDelay=30;b=function(b){return{itemLimit:g.registerDisposer(d.a.makeFromExisting(a,b.itemLimit)).rpcId, -sizeLimit:g.registerDisposer(d.a.makeFromExisting(a,b.sizeLimit)).rpcId}};g.initializeCounterpart(a,{gpuMemoryCapacity:b(e.gpuMemory),systemMemoryCapacity:b(e.systemMemory),downloadCapacity:b(e.download)});return g}p(c,a);u(c,[{key:"scheduleChunkUpdate",value:function(){var a=this.chunkUpdateDeadline;a=null===a||Date.now()<a?0:this.chunkUpdateDelay;setTimeout(this.processPendingChunkUpdates.bind(this),a)}},{key:"processPendingChunkUpdates",value:function(){var a=this.chunkUpdateDeadline;null===a&& +this).call(this,a,c)}}],[{key:"encodeOptions",value:function(a){var c=r(b.__proto__||Object.getPrototypeOf(b),"encodeOptions",this).call(this,a);c.parameters=a.parameters;return c}}]);return b}(a);return a=v([Object(m.g)(b.RPC_ID)],a)};var b=a(30),c=a(75),e=a(9),g=a(4),l=a(98),k=a(23),t=a(7),m=a(15),r=function E(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return E(a,b,c)}else{if("value"in d)return d.value; +b=d.get;return void 0===b?void 0:b.call(c)}},u=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),v=this&&this.__decorate||function(a,b,c,d){var e=arguments.length,g=3>e?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d,k;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)g=Reflect.decorate(a, +b,c,d);else for(var m=a.length-1;0<=m;m--)if(k=a[m])g=(3>e?k(g):3<e?k(b,c,g):k(b,c))||g;return 3<e&&g&&Object.defineProperty(b,c,g),g},w=function(){function a(c){n(this,a);this.source=c;this.state=b.d.SYSTEM_MEMORY}u(a,[{key:"copyToGPU",value:function(a){this.state=b.d.GPU_MEMORY}},{key:"freeGPUMemory",value:function(a){this.state=b.d.SYSTEM_MEMORY}},{key:"gl",get:function(){return this.source.gl}}]);return a}(),y=function G(a){var b=void 0===a?{}:a;a=void 0===b.defaultItemLimit?Number.POSITIVE_INFINITY: +b.defaultItemLimit;b=void 0===b.defaultSizeLimit?Number.POSITIVE_INFINITY:b.defaultSizeLimit;n(this,G);this.sizeLimit=new e.c(b,d);this.itemLimit=new e.c(a,d)},x=function(a){function d(a,b,e){n(this,d);var g=q(this,(d.__proto__||Object.getPrototypeOf(d)).call(this));g.gl=b;g.capacities=e;g.visibleChunksChanged=new t.a;g.pendingChunkUpdates=null;g.pendingChunkUpdatesTail=null;g.chunkUpdateDeadline=null;g.chunkUpdateDelay=30;b=function(b){return{itemLimit:g.registerDisposer(c.a.makeFromExisting(a,b.itemLimit)).rpcId, +sizeLimit:g.registerDisposer(c.a.makeFromExisting(a,b.sizeLimit)).rpcId}};g.initializeCounterpart(a,{gpuMemoryCapacity:b(e.gpuMemory),systemMemoryCapacity:b(e.systemMemory),downloadCapacity:b(e.download)});return g}p(d,a);u(d,[{key:"scheduleChunkUpdate",value:function(){var a=this.chunkUpdateDeadline;a=null===a||Date.now()<a?0:this.chunkUpdateDelay;setTimeout(this.processPendingChunkUpdates.bind(this),a)}},{key:"processPendingChunkUpdates",value:function(){var a=this.chunkUpdateDeadline;null===a&& (a=Date.now()+30);for(var b=!1;;){if(Date.now()>a){setTimeout(this.processPendingChunkUpdates.bind(this),this.chunkUpdateDelay);break}var c=this.pendingChunkUpdates;this.applyChunkUpdate(c)&&(b=!0);c=this.pendingChunkUpdates=c.nextUpdate;--window.numPendingChunkUpdates;if(null==c){this.pendingChunkUpdatesTail=null;break}}b&&this.visibleChunksChanged.dispatch()}},{key:"applyChunkUpdate",value:function(a){var c=!1,d=this.rpc.get(a.source);if(void 0===a.id){c=$jscomp.makeIterator(d.chunks.keys());for(var e= -c.next();!e.done;e=c.next())d.deleteChunk(e.value);c=!0}else if(e=a.state,e===b.d.EXPIRED)d.deleteChunk(a.id);else{var g=a.id;a["new"]?(a=d.getChunk(a),d.addChunk(g,a)):a=d.chunks.get(g);if(e!==a.state)switch(e){case b.d.GPU_MEMORY:a.copyToGPU(this.gl);c=!0;break;case b.d.SYSTEM_MEMORY:a.freeGPUMemory(this.gl);break;default:throw Error("INTERNAL ERROR: Invalid chunk state: "+b.d[e]);}}return c}}]);return c}(m.b);x=v([Object(m.g)(b.b)],x);window.numPendingChunkUpdates=0;Object(m.e)("Chunk.update", +c.next();!e.done;e=c.next())d.deleteChunk(e.value);c=!0}else if(e=a.state,e===b.d.EXPIRED)d.deleteChunk(a.id);else{var g=a.id;a["new"]?(a=d.getChunk(a),d.addChunk(g,a)):a=d.chunks.get(g);if(e!==a.state)switch(e){case b.d.GPU_MEMORY:a.copyToGPU(this.gl);c=!0;break;case b.d.SYSTEM_MEMORY:a.freeGPUMemory(this.gl);break;default:throw Error("INTERNAL ERROR: Invalid chunk state: "+b.d[e]);}}return c}}]);return d}(m.b);x=v([Object(m.g)(b.b)],x);window.numPendingChunkUpdates=0;Object(m.e)("Chunk.update", function(a){var b=this.get(a.source),c=b.chunkManager.chunkQueueManager;b.immediateChunkUpdates?c.applyChunkUpdate(a)&&c.visibleChunksChanged.dispatch():(b=c.pendingChunkUpdatesTail,++window.numPendingChunkUpdates,null==b?(c.pendingChunkUpdates=a,c.pendingChunkUpdatesTail=a,c.scheduleChunkUpdate()):(b.nextUpdate=a,c.pendingChunkUpdatesTail=a))});var A=function(a){function b(a){n(this,b);var c=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.chunkQueueManager=a;c.memoize=new l.b;c.registerDisposer(a.addRef()); c.initializeCounterpart(a.rpc,{chunkQueueManager:a.rpcId});return c}p(b,a);u(b,[{key:"getChunkSource",value:function(a,b){var c=this,d=a.encodeOptions(b);d.constructorId=Object(k.a)(a);d=Object(g.g)(d);return this.memoize.get(d,function(){var d=new a(c,b);d.initializeCounterpart(c.rpc,{});return d})}},{key:"gl",get:function(){return this.chunkQueueManager.gl}}]);return b}(m.b);A=v([Object(m.g)(b.a)],A);var z=function(a){function c(a,b){n(this,c);b=q(this,(c.__proto__||Object.getPrototypeOf(c)).call(this)); b.chunkManager=a;b.chunks=new Map;b.immediateChunkUpdates=!1;return b}p(c,a);u(c,[{key:"initializeCounterpart",value:function(a,b){b.chunkManager=this.chunkManager.rpcId;r(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"initializeCounterpart",this).call(this,a,b)}},{key:"deleteChunk",value:function(a){var c=this.chunks.get(a);c.state===b.d.GPU_MEMORY&&c.freeGPUMemory(this.gl);this.chunks.delete(a)}},{key:"addChunk",value:function(a,b){this.chunks.set(a,b)}},{key:"getChunk",value:function(a){throw Error("Not implemented."); }},{key:"invalidateCache",value:function(){this.rpc.invoke(b.c,{id:this.rpcId})}},{key:"gl",get:function(){return this.chunkManager.chunkQueueManager.gl}}],[{key:"encodeOptions",value:function(a){return{}}}]);return c}(m.b)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b} -function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b,c){var d=a.createShader(c);a.shaderSource(d,b);a.compileShader(d);if(!a.getShaderParameter(d,a.COMPILE_STATUS)){a=a.getShaderInfoLog(d)||"";var g=a.replace("\x00","");d=[]; +function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function d(a,b,c){var d=a.createShader(c);a.shaderSource(d,b);a.compileShader(d);if(!a.getShaderParameter(d,a.COMPILE_STATUS)){a=a.getShaderInfoLog(d)||"";var g=a.replace("\x00","");d=[]; g=$jscomp.makeIterator(g.split("\n"));for(var k=g.next();!k.done;k=g.next()){k=k.value;var m=k.match(/^ERROR:\s*(\d+):(\d+)\s*(.+)$/);null!==m?d.push({message:m[3].trim(),file:parseInt(m[1],10),line:parseInt(m[2],10)}):(m=k.match(/^ERROR:\s*(.+)$/),null!==m?d.push({message:m[1]}):(k=k.trim())&&d.push({message:k}))}throw new e(c,b,a,d);}return d}a.d(f,"a",function(){return t});f.b=function(a,b,c){var d=new Map;return function(e){var g=d.get(e);void 0===g&&(g=new t(b),g.require(e),c(g),g=a.registerDisposer(g.build()), -d.set(e,g));return g}};h=a(1);var b=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),d;(function(a){a[a.VERTEX=WebGL2RenderingContext.VERTEX_SHADER]="VERTEX";a[a.FRAGMENT=WebGL2RenderingContext.FRAGMENT_SHADER]="FRAGMENT"})(d||(d={}));var e=function(a){function b(a,c,e,g){q(this,b);var k="Error compiling "+ -d[a].toLowerCase()+" shader: "+e,m=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,k));m.name="ShaderCompilationError";m.log=e;m.message=k;m.shaderType=a;m.source=c;m.errorMessages=g;return m}n(b,a);return b}(Error),g=function(a){function b(a,c,d){q(this,b);var e="Error linking shader: "+d,g=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,e));g.name="ShaderLinkError";g.log=d;g.message=e;g.vertexSource=a;g.fragmentSource=c;return g}n(b,a);return b}(Error),l=function(a){function d(a, -b,e,k,m){q(this,d);var r=p(this,(d.__proto__||Object.getPrototypeOf(d)).call(this));r.gl=a;r.vertexSource=b;r.fragmentSource=e;r.attributes=new Map;r.uniforms=new Map;var l=r.vertexShader=c(a,b,a.VERTEX_SHADER),t=r.fragmentShader=c(a,e,a.FRAGMENT_SHADER),u=a.createProgram();a.attachShader(u,l);a.attachShader(u,t);a.linkProgram(u);if(!a.getProgramParameter(u,a.LINK_STATUS))throw a=a.getProgramInfoLog(u)||"",new g(b,e,a);r.program=u;e=r.uniforms;b=r.attributes;if(k)for(k=$jscomp.makeIterator(k),l=k.next();!l.done;l= -k.next())l=l.value,e.set(l,a.getUniformLocation(u,l));if(m)for(m=$jscomp.makeIterator(m),l=m.next();!l.done;l=m.next())k=l.value,b.set(k,a.getAttribLocation(u,k));return r}n(d,a);b(d,[{key:"uniform",value:function(a){return this.uniforms.get(a)}},{key:"attribute",value:function(a){return this.attributes.get(a)}},{key:"textureUnit",value:function(a){return this.textureUnits.get(a)}},{key:"bind",value:function(){this.gl.useProgram(this.program)}},{key:"disposed",value:function(){var a=this.gl;a.deleteShader(this.vertexShader); -this.vertexShader=void 0;a.deleteShader(this.fragmentShader);this.fragmentShader=void 0;a.deleteProgram(this.program);this.uniforms=this.attributes=this.gl=this.program=void 0}}]);return d}(h.a),k=function(){function a(){q(this,a);this.code="";this.parts=new Set}b(a,[{key:"add",value:function(a){if(!this.parts.has(a))switch(this.parts.add(a),typeof a){case "string":this.code+=a;break;case "function":this.add(a());break;default:if(Array.isArray(a)){a=$jscomp.makeIterator(a);for(var b=a.next();!b.done;b= +d.set(e,g));return g}};h=a(1);var b=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),c;(function(a){a[a.VERTEX=WebGL2RenderingContext.VERTEX_SHADER]="VERTEX";a[a.FRAGMENT=WebGL2RenderingContext.FRAGMENT_SHADER]="FRAGMENT"})(c||(c={}));var e=function(a){function b(a,d,e,g){q(this,b);var k="Error compiling "+ +c[a].toLowerCase()+" shader: "+e,m=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,k));m.name="ShaderCompilationError";m.log=e;m.message=k;m.shaderType=a;m.source=d;m.errorMessages=g;return m}n(b,a);return b}(Error),g=function(a){function b(a,c,d){q(this,b);var e="Error linking shader: "+d,g=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,e));g.name="ShaderLinkError";g.log=d;g.message=e;g.vertexSource=a;g.fragmentSource=c;return g}n(b,a);return b}(Error),l=function(a){function c(a, +b,e,k,m){q(this,c);var l=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));l.gl=a;l.vertexSource=b;l.fragmentSource=e;l.attributes=new Map;l.uniforms=new Map;var r=l.vertexShader=d(a,b,a.VERTEX_SHADER),t=l.fragmentShader=d(a,e,a.FRAGMENT_SHADER),u=a.createProgram();a.attachShader(u,r);a.attachShader(u,t);a.linkProgram(u);if(!a.getProgramParameter(u,a.LINK_STATUS))throw a=a.getProgramInfoLog(u)||"",new g(b,e,a);l.program=u;e=l.uniforms;b=l.attributes;if(k)for(k=$jscomp.makeIterator(k),r=k.next();!r.done;r= +k.next())r=r.value,e.set(r,a.getUniformLocation(u,r));if(m)for(m=$jscomp.makeIterator(m),r=m.next();!r.done;r=m.next())k=r.value,b.set(k,a.getAttribLocation(u,k));return l}n(c,a);b(c,[{key:"uniform",value:function(a){return this.uniforms.get(a)}},{key:"attribute",value:function(a){return this.attributes.get(a)}},{key:"textureUnit",value:function(a){return this.textureUnits.get(a)}},{key:"bind",value:function(){this.gl.useProgram(this.program)}},{key:"disposed",value:function(){var a=this.gl;a.deleteShader(this.vertexShader); +this.vertexShader=void 0;a.deleteShader(this.fragmentShader);this.fragmentShader=void 0;a.deleteProgram(this.program);this.uniforms=this.attributes=this.gl=this.program=void 0}}]);return c}(h.a),k=function(){function a(){q(this,a);this.code="";this.parts=new Set}b(a,[{key:"add",value:function(a){if(!this.parts.has(a))switch(this.parts.add(a),typeof a){case "string":this.code+=a;break;case "function":this.add(a());break;default:if(Array.isArray(a)){a=$jscomp.makeIterator(a);for(var b=a.next();!b.done;b= a.next())this.add(b.value)}else throw Error("Invalid code type");}}},{key:"toString",value:function(){return this.code}}]);return a}(),t=function(){function a(b){q(this,a);this.gl=b;this.nextTextureUnit=this.nextSymbolID=0;this.varyingsCodeFS=this.varyingsCodeVS=this.attributesCode=this.uniformsCode="";this.fragmentExtensionsSet=new Set;this.fragmentExtensions="";this.vertexCode=new k;this.vertexMain="";this.fragmentCode=new k;this.fragmentMain=this.outputBufferCode="";this.required=new Set;this.uniforms= [];this.attributes=[];this.initializers=[];this.textureUnits=new Map}b(a,[{key:"allocateTextureUnit",value:function(a,b){b=void 0===b?1:b;if(this.textureUnits.has(a))throw Error("Duplicate texture unit symbol: "+a);var c=this.nextTextureUnit;this.nextTextureUnit+=b;this.textureUnits.set(a,c);return c}},{key:"addTextureSampler2D",value:function(a,b,c){var d=this.allocateTextureUnit(b,c);this.addUniform("highp sampler2D",a,c);this.addInitializer(function(b){if(c){for(var e=new Int32Array(c),g=0;g<c;++g)e[g]= g+d;b.gl.uniform1iv(b.uniform(a),e)}else b.gl.uniform1i(b.uniform(a),d)});return d}},{key:"symbol",value:function(a){return a+this.nextSymbolID++}},{key:"addAttribute",value:function(a,b){this.attributes.push(b);this.attributesCode+="in "+a+" "+b+";\n";return b}},{key:"addVarying",value:function(a,b){this.varyingsCodeVS+="out "+a+" "+b+";\n";this.varyingsCodeFS+="in "+a+" "+b+";\n"}},{key:"addOutputBuffer",value:function(a,b,c){null!==c&&(this.outputBufferCode+="layout(location = "+c+") ");this.outputBufferCode+= "out "+a+" "+b+";\n"}},{key:"addUniform",value:function(a,b,c){this.uniforms.push(b);this.uniformsCode=null!=c?this.uniformsCode+("uniform "+a+" "+b+"["+c+"];\n"):this.uniformsCode+("uniform "+a+" "+b+";\n");return b}},{key:"addFragmentExtension",value:function(a){this.fragmentExtensionsSet.has(a)||(this.fragmentExtensionsSet.add(a),this.fragmentExtensions+="#extension "+a+" : require\n")}},{key:"addVertexCode",value:function(a){this.vertexCode.add(a)}},{key:"addFragmentCode",value:function(a){this.fragmentCode.add(a)}}, {key:"setVertexMain",value:function(a){this.vertexMain=a}},{key:"addVertexMain",value:function(a){this.vertexMain=(this.vertexMain||"")+a}},{key:"setFragmentMain",value:function(a){this.fragmentMain="void main() {\n"+a+"\n}\n"}},{key:"setFragmentMainFunction",value:function(a){this.fragmentMain=a}},{key:"addInitializer",value:function(a){this.initializers.push(a)}},{key:"require",value:function(a){this.required.has(a)||(this.required.add(a),a(this))}},{key:"build",value:function(){var a=new l(this.gl, "#version 300 es\nprecision highp float;\n"+this.uniformsCode+"\n"+this.attributesCode+"\n"+this.varyingsCodeVS+"\n"+this.vertexCode+"\nvoid main() {\n"+this.vertexMain+"\n}\n","#version 300 es\n"+this.fragmentExtensions+"\nprecision highp float;\n"+this.uniformsCode+"\n"+this.varyingsCodeFS+"\n"+this.outputBufferCode+"\n"+this.fragmentCode+"\n"+this.fragmentMain+"\n",this.uniforms,this.attributes);a.textureUnits=this.textureUnits;var b=this.initializers;if(0<b.length){a.bind();b=$jscomp.makeIterator(b); -for(var c=b.next();!c.done;c=b.next())c=c.value,c(a)}return a}}]);return a}()},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function p(a,b){var c="";b&1&&(c+="control+");b&2&&(c+="alt+");b&4&&(c+="meta+");b&8&&(c+= -"shift+");return c+a}function n(a){return"string"===typeof a?{action:a}:a}function c(a){function b(b,k){for(;;)switch(c){case 0:g=a.indexOf(":");a:{b=void 0;var m=a.substring(g+1).split("+"),l=0;m=$jscomp.makeIterator(m);for(var r=m.next();!r.done;r=m.next())switch(r=r.value,r){case "control":l|=1;break;case "alt":l|=2;break;case "meta":l|=4;break;case "shift":l|=8;break;default:if(void 0===b)b=r;else{e=void 0;break a}}e=void 0===b?void 0:p(b,l)}if(void 0!==e){c=1;break}c=-1;throw Error("Invalid event identifier: "+ -JSON.stringify(a));case 1:if(-1===g){c=2;break}d=a.substring(0,g);if("at"===d||"bubble"===d){c=4;break}c=-1;throw Error("Invalid event phase: "+JSON.stringify(d));case 4:return c=5,{value:d+":"+e,done:!1};case 5:if(void 0===k){c=6;break}c=-1;throw k;case 6:c=3;break;case 2:return c=7,{value:"at:"+e,done:!1};case 7:if(void 0===k){c=8;break}c=-1;throw k;case 8:return c=9,{value:"bubble:"+e,done:!1};case 9:if(void 0===k){c=10;break}c=-1;throw k;case 10:case 3:c=-1;default:return{value:void 0,done:!0}}} -var c=0,d,e,g,k={next:function(a){return b(a,void 0)},throw:function(a){return b(void 0,a)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();k[Symbol.iterator]=function(){return this};return k}a.d(f,"a",function(){return l});f.b=function(a,b,c){a=k[b.eventPhase]+":"+p(a,(b.ctrlKey?1:0)|(b.altKey?2:0)|(b.metaKey?4:0)|(b.shiftKey?8:0));c=c.get(a);void 0!==c&&(!1!==c.stopPropagation&&b.stopPropagation(),a=new CustomEvent("action:"+c.action,{bubbles:!0,detail:b,cancelable:!0}), -a=!b.target.dispatchEvent(a),(!1!==c.preventDefault||a)&&b.preventDefault())};f.c=function(a,c,d,e){return Object(b.c)(a,"action:"+c,d,e)};var b=a(1);h=a(257);var d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),e=function m(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a, -b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return m(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},g;(function(a){a[a.CONTROL=1]="CONTROL";a[a.ALT=2]="ALT";a[a.META=4]="META";a[a.SHIFT=8]="SHIFT"})(g||(g={}));var l=function(a){function b(){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var a=(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); -return!a||"object"!==typeof a&&"function"!==typeof a?this:a}q(b,a);d(b,[{key:"setFromObject",value:function(a){for(var b=$jscomp.makeIterator(Object.keys(a)),c=b.next();!c.done;c=b.next())c=c.value,this.set(c,n(a[c]))}},{key:"set",value:function(a,d){d=n(d);a=$jscomp.makeIterator(c(a));for(var g=a.next();!g.done;g=a.next())g=g.value,e(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"set",this).call(this,g,d)}},{key:"delete",value:function(a){a=$jscomp.makeIterator(c(a));for(var d=a.next();!d.done;d= -a.next())d=d.value,e(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"delete",this).call(this,d)}}],[{key:"fromObject",value:function(a,c){c=void 0===c?{}:c;var d=new b;d.label=c.label;if(void 0!==c.parents){c=$jscomp.makeIterator(c.parents);for(var e=c.next();!e.done;e=c.next()){var g=$jscomp.makeIterator(e.value);e=g.next().value;g=g.next().value;d.addParent(e,g)}}c=$jscomp.makeIterator(Object.keys(a));for(e=c.next();!e.done;e=c.next())e=e.value,d.set(e,n(a[e]));return d}}]);return b}(h.a), -k=[];k[Event.AT_TARGET]="at";k[Event.CAPTURING_PHASE]="capture";k[Event.BUBBLING_PHASE]="bubble"},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"c",function(){return e});a.d(f,"b",function(){return g});var p=a(39), -n=a(50),c=a(2);a.d(f,"a",function(){return n.b});var b=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),d=function k(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return k(a,b,c)}else{if("value"in d)return d.value;b= -d.get;return void 0===b?void 0:b.call(c)}},e;(function(a){a[a.UNKNOWN=0]="UNKNOWN";a[a.IMAGE=1]="IMAGE";a[a.SEGMENTATION=2]="SEGMENTATION"})(e||(e={}));var g=function(a){function g(a){if(!(this instanceof g))throw new TypeError("Cannot call a class as a function");for(var b=void 0===a.lowerVoxelBound?c.h:a.lowerVoxelBound,d=a.upperVoxelBound,e=a.chunkDataSize,k=a.voxelSize,m=a.transform,t=void 0===a.baseVoxelOffset?c.h:a.baseVoxelOffset,f=void 0===a.lowerClipBound?c.s.multiply(c.s.create(),k,b):a.lowerClipBound, -h=void 0===a.upperClipBound?c.s.multiply(c.s.create(),k,d):a.upperClipBound,p=c.s.multiply(c.s.create(),e,k),E=c.s.create(),G=c.s.create(),C=0;3>C;++C)E[C]=Math.floor(b[C]/e[C]),G[C]=Math.floor((d[C]-1)/e[C]+1);k=(g.__proto__||Object.getPrototypeOf(g)).call(this,{voxelSize:k,transform:m,lowerChunkBound:E,upperChunkBound:G,chunkSize:p});if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");k=!k||"object"!==typeof k&&"function"!==typeof k?this:k;k.baseVoxelOffset= -t;k.lowerClipBound=f;k.upperClipBound=h;k.lowerVoxelBound=b;k.upperVoxelBound=d;k.chunkDataSize=e;b=k.dataType=a.dataType;d=k.numChannels=a.numChannels;k.chunkBytes=Object(c.l)(e)*n.a[b]*d;k.compressedSegmentationBlockSize=a.compressedSegmentationBlockSize;return k}q(g,a);b(g,[{key:"toObject",value:function(){return Object.assign({},d(g.prototype.__proto__||Object.getPrototypeOf(g.prototype),"toObject",this).call(this),{numChannels:this.numChannels,chunkDataSize:this.chunkDataSize,dataType:this.dataType, -lowerVoxelBound:this.lowerVoxelBound,upperVoxelBound:this.upperVoxelBound,lowerClipBound:this.lowerClipBound,upperClipBound:this.upperClipBound,baseVoxelOffset:this.baseVoxelOffset,compressedSegmentationBlockSize:this.compressedSegmentationBlockSize})}}],[{key:"make",value:function(a){return new g(Object.assign({},a,{transform:Object(p.k)(a.transform,a.volumeSourceOptions)}))}},{key:"fromObject",value:function(a){return new g(a)}},{key:"withDefaultCompression",value:function(a){var b=a.compressedSegmentationBlockSize, -c=a.dataType,d=a.voxelSize,k=a.transform,m=a.lowerVoxelBound,t=a.upperVoxelBound;k=Object(p.k)(k,a.volumeSourceOptions);void 0!==b||a.volumeType!==e.SEGMENTATION||c!==n.b.UINT32&&c!==n.b.UINT64||(b=Object(p.l)({voxelSize:d,transform:k,lowerVoxelBound:m,upperVoxelBound:t,maxVoxelsPerChunkLog2:9}));return new g(Object.assign({},a,{compressedSegmentationBlockSize:b,transform:k}))}},{key:"getDefaults",value:function(a){var b=Object.assign({},a,{transform:Object(p.k)(a.transform,a.volumeSourceOptions)}); -return(void 0===a.chunkDataSizes?Object(p.j)(b):a.chunkDataSizes).map(function(b){return g.withDefaultCompression(Object.assign({},a,{chunkDataSize:b}))})}}]);return g}(p.i)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+ -typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b,c,d){d=void 0===d?{}:d;return e.a.forPromise(new Promise(function(e){e(a.getVolume(b,c,d))}),{initialMessage:"Retrieving metadata for volume "+c+".",delay:!0,errorPrefix:"Error retrieving metadata for volume "+c+": "})}f.d=c;a.d(f,"b",function(){return t});a.d(f,"c",function(){return m});a.d(f,"a",function(){return r}); -f.e=function(a,b){u.set(a,b)};f.f=function(a,b){v.set(a,b)};var b=a(18),d=a(26),e=a(31);h=a(1);var g=a(4),l=a(7),k=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),t=function(a){function b(a,c,d){q(this,b);a=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a));a.initialSpecification=c;a.manager=d;return a} +for(var c=b.next();!c.done;c=b.next())c=c.value,c(a)}return a}}]);return a}()},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"c",function(){return e});a.d(f,"b",function(){return g});var p=a(39),n=a(50),d=a(2); +a.d(f,"a",function(){return n.b});var b=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),c=function k(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return k(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0=== +b?void 0:b.call(c)}},e;(function(a){a[a.UNKNOWN=0]="UNKNOWN";a[a.IMAGE=1]="IMAGE";a[a.SEGMENTATION=2]="SEGMENTATION"})(e||(e={}));var g=function(a){function g(a){if(!(this instanceof g))throw new TypeError("Cannot call a class as a function");for(var b=void 0===a.lowerVoxelBound?d.h:a.lowerVoxelBound,c=a.upperVoxelBound,e=a.chunkDataSize,k=a.voxelSize,m=a.transform,t=void 0===a.baseVoxelOffset?d.h:a.baseVoxelOffset,f=void 0===a.lowerClipBound?d.s.multiply(d.s.create(),k,b):a.lowerClipBound,h=void 0=== +a.upperClipBound?d.s.multiply(d.s.create(),k,c):a.upperClipBound,p=d.s.multiply(d.s.create(),e,k),E=d.s.create(),G=d.s.create(),C=0;3>C;++C)E[C]=Math.floor(b[C]/e[C]),G[C]=Math.floor((c[C]-1)/e[C]+1);k=(g.__proto__||Object.getPrototypeOf(g)).call(this,{voxelSize:k,transform:m,lowerChunkBound:E,upperChunkBound:G,chunkSize:p});if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");k=!k||"object"!==typeof k&&"function"!==typeof k?this:k;k.baseVoxelOffset=t;k.lowerClipBound= +f;k.upperClipBound=h;k.lowerVoxelBound=b;k.upperVoxelBound=c;k.chunkDataSize=e;b=k.dataType=a.dataType;c=k.numChannels=a.numChannels;k.chunkBytes=Object(d.l)(e)*n.a[b]*c;k.compressedSegmentationBlockSize=a.compressedSegmentationBlockSize;return k}q(g,a);b(g,[{key:"toObject",value:function(){return Object.assign({},c(g.prototype.__proto__||Object.getPrototypeOf(g.prototype),"toObject",this).call(this),{numChannels:this.numChannels,chunkDataSize:this.chunkDataSize,dataType:this.dataType,lowerVoxelBound:this.lowerVoxelBound, +upperVoxelBound:this.upperVoxelBound,lowerClipBound:this.lowerClipBound,upperClipBound:this.upperClipBound,baseVoxelOffset:this.baseVoxelOffset,compressedSegmentationBlockSize:this.compressedSegmentationBlockSize})}}],[{key:"make",value:function(a){return new g(Object.assign({},a,{transform:Object(p.k)(a.transform,a.volumeSourceOptions)}))}},{key:"fromObject",value:function(a){return new g(a)}},{key:"withDefaultCompression",value:function(a){var b=a.compressedSegmentationBlockSize,c=a.dataType,d= +a.voxelSize,k=a.transform,m=a.lowerVoxelBound,t=a.upperVoxelBound;k=Object(p.k)(k,a.volumeSourceOptions);void 0!==b||a.volumeType!==e.SEGMENTATION||c!==n.b.UINT32&&c!==n.b.UINT64||(b=Object(p.l)({voxelSize:d,transform:k,lowerVoxelBound:m,upperVoxelBound:t,maxVoxelsPerChunkLog2:9}));return new g(Object.assign({},a,{compressedSegmentationBlockSize:b,transform:k}))}},{key:"getDefaults",value:function(a){var b=Object.assign({},a,{transform:Object(p.k)(a.transform,a.volumeSourceOptions)});return(void 0=== +a.chunkDataSizes?Object(p.j)(b):a.chunkDataSizes).map(function(b){return g.withDefaultCompression(Object.assign({},a,{chunkDataSize:b}))})}}]);return g}(p.i)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+ +typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function d(a,b,c,d){d=void 0===d?{}:d;return e.a.forPromise(new Promise(function(e){e(a.getVolume(b,c,d))}),{initialMessage:"Retrieving metadata for volume "+c+".",delay:!0,errorPrefix:"Error retrieving metadata for volume "+c+": "})}f.d=d;a.d(f,"b",function(){return t});a.d(f,"c",function(){return m});a.d(f,"a",function(){return r}); +f.e=function(a,b){u.set(a,b)};f.f=function(a,b){v.set(a,b)};var b=a(18),c=a(26),e=a(31);h=a(1);var g=a(4),l=a(7),k=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),t=function(a){function b(a,c,d){q(this,b);a=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a));a.initialSpecification=c;a.manager=d;return a} n(b,a);k(b,[{key:"toJSON",value:function(){var a=this.layer;if(!a)return this.initialSpecification;a=a.toJSON();this.visible||(a.visible=!1);return a}}]);return b}(b.d),m=function(a){function b(a,c,d,e,g){q(this,b);var k=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));k.dataSourceProvider=a;k.layerManager=c;k.chunkManager=d;k.layerSelectedValues=e;k.voxelSize=g;k.changed=new l.a;k.voxelCoordinatesSet=new l.b;k.spatialCoordinatesSet=new l.b;k.registerDisposer(c.layersChanged.add(k.changed.dispatch)); k.registerDisposer(c.specificationChanged.add(k.changed.dispatch));return k}n(b,a);k(b,[{key:"reset",value:function(){this.layerManager.clear()}},{key:"restoreState",value:function(a){Object(g.t)(a);this.layerManager.clear();for(var b=$jscomp.makeIterator(Object.keys(a)),c=b.next();!c.done;c=b.next())c=c.value,this.layerManager.addManagedLayer(this.getLayer(c,a[c]))}},{key:"initializeLayerFromSpec",value:function(a,b){var e=this;a.initialSpecification=b;"string"===typeof b&&(b={source:b});Object(g.t)(b); -var k=Object(g.v)(b,"type",g.y);a.visible=Object(g.v)(b,"visible",function(a){if(void 0===a||!0===a)return!0;if(!1===a)return!1;throw Error("Expected boolean, but received: "+JSON.stringify(a)+".");});var m=function(b,c){b=new b(e,c);b.restoreState(c);a.layer=b},l=a.sourceUrl=Object(g.v)(b,"source",g.y);if(void 0===k){if(void 0===l)throw Error("Either layer 'type' or 'source' URL must be specified.");c(this.dataSourceProvider,this.chunkManager,l).then(function(c){if(-1!==e.layerManager.managedLayers.indexOf(a)){var g= -v.get(c.volumeType);if(void 0!==g)m(g,b);else throw Error("Unsupported volume type: "+d.c[c.volumeType]+".");}})}else if(l=u.get(k),void 0!==l)m(l,b);else throw Error("Unsupported layer type: "+JSON.stringify(k)+".");}},{key:"getLayer",value:function(a,b){a=new t(a,b,this);this.initializeLayerFromSpec(a,b);return a}},{key:"add",value:function(a,b){-1===this.layerManager.managedLayers.indexOf(a)&&(a.name=this.layerManager.getUniqueLayerName(a.name));this.layerManager.addManagedLayer(a,b)}},{key:"toJSON", +var k=Object(g.v)(b,"type",g.y);a.visible=Object(g.v)(b,"visible",function(a){if(void 0===a||!0===a)return!0;if(!1===a)return!1;throw Error("Expected boolean, but received: "+JSON.stringify(a)+".");});var m=function(b,c){b=new b(e,c);b.restoreState(c);a.layer=b},l=a.sourceUrl=Object(g.v)(b,"source",g.y);if(void 0===k){if(void 0===l)throw Error("Either layer 'type' or 'source' URL must be specified.");d(this.dataSourceProvider,this.chunkManager,l).then(function(d){if(-1!==e.layerManager.managedLayers.indexOf(a)){var g= +v.get(d.volumeType);if(void 0!==g)m(g,b);else throw Error("Unsupported volume type: "+c.c[d.volumeType]+".");}})}else if(l=u.get(k),void 0!==l)m(l,b);else throw Error("Unsupported layer type: "+JSON.stringify(k)+".");}},{key:"getLayer",value:function(a,b){a=new t(a,b,this);this.initializeLayerFromSpec(a,b);return a}},{key:"add",value:function(a,b){-1===this.layerManager.managedLayers.indexOf(a)&&(a.name=this.layerManager.getUniqueLayerName(a.name));this.layerManager.addManagedLayer(a,b)}},{key:"toJSON", value:function(){for(var a={},b=0,c=$jscomp.makeIterator(this.layerManager.managedLayers),d=c.next();!d.done;d=c.next()){d=d.value;var e=d.toJSON();null!=e&&(a[d.name]=e,++b)}if(0!==b)return a}},{key:"setVoxelCoordinates",value:function(a){this.voxelCoordinatesSet.dispatch(a)}},{key:"setSpatialCoordinates",value:function(a){this.spatialCoordinatesSet.dispatch(a)}},{key:"worker",get:function(){return this.chunkManager.rpc}},{key:"rpc",get:function(){return this.chunkManager.rpc}},{key:"rootLayers", get:function(){return this.layerManager}}]);return b}(h.a),r=function(a){function c(a){q(this,c);var d=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));d.master=a;d.changed=new l.a;d.layerManager=new b.a;d.registerDisposer(a);a=d.layerManager;d.registerDisposer(a.layersChanged.add(d.changed.dispatch));d.registerDisposer(a.specificationChanged.add(d.changed.dispatch));return d}n(c,a);k(c,[{key:"reset",value:function(){this.layerManager.clear()}},{key:"restoreState",value:function(a){var b= this.master.layerManager,c=[];a=$jscomp.makeIterator(new Set(Object(g.a)(a,g.A)));for(var d=a.next();!d.done;d=a.next()){d=d.value;var e=b.getLayerByName(d);if(void 0===e)throw Error("Undefined layer referenced in subset specification: "+JSON.stringify(d));c.push(e)}this.layerManager.clear();b=$jscomp.makeIterator(c);for(c=b.next();!c.done;c=b.next())this.layerManager.addManagedLayer(c.value.addRef())}},{key:"toJSON",value:function(){return this.layerManager.managedLayers.map(function(a){return a.name})}}, {key:"initializeLayerFromSpec",value:function(a,b){this.master.initializeLayerFromSpec(a,b)}},{key:"getLayer",value:function(a,b){return this.master.getLayer(a,b)}},{key:"add",value:function(a,b){-1===this.master.layerManager.managedLayers.indexOf(a)&&(a.name=this.master.layerManager.getUniqueLayerName(a.name),this.master.layerManager.addManagedLayer(a.addRef()));this.layerManager.addManagedLayer(a,b)}},{key:"setVoxelCoordinates",value:function(a){this.master.setVoxelCoordinates(a)}},{key:"setSpatialCoordinates", value:function(a){this.master.setSpatialCoordinates(a)}},{key:"voxelCoordinatesSet",get:function(){return this.master.voxelCoordinatesSet}},{key:"spatialCoordinatesSet",get:function(){return this.master.spatialCoordinatesSet}},{key:"worker",get:function(){return this.master.rpc}},{key:"rpc",get:function(){return this.master.rpc}},{key:"dataSourceProvider",get:function(){return this.master.dataSourceProvider}},{key:"chunkManager",get:function(){return this.master.chunkManager}},{key:"voxelSize",get:function(){return this.master.voxelSize}}, {key:"layerSelectedValues",get:function(){return this.master.layerSelectedValues}},{key:"rootLayers",get:function(){return this.master.rootLayers}}]);return c}(h.a),u=new Map,v=new Map},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&& -null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a){return A.get(a)}function b(a){var b=c(a.type).toJSON(a);b.type=y[a.type].toLowerCase();b.id=a.id;b.description=a.description||void 0;a=a.segments;void 0!==a&&0<a.length&&(b.segments=a.map(function(a){return a.toString()})); -return b}function d(a,b){b=void 0===b?!1:b;Object(t.t)(a);var d=Object(t.v)(a,"type",function(a){return Object(t.m)(a,y)});b={id:Object(t.v)(a,"id",b?t.y:t.A)||e(),description:Object(t.v)(a,"description",t.y),segments:Object(t.v)(a,"segments",function(a){return void 0===a?void 0:Object(t.a)(a,function(a){return u.a.parseString(a)})}),type:d};c(d).restoreState(b,a);return b}function e(){return Object(m.a)(160)}function g(a,b){return a.id<b.id?-1:a.id===b.id?0:1}function l(a){for(var b=0,d=[],e=0,k= -0,m=$jscomp.makeIterator(x),l=m.next();!l.done;l=m.next()){l=l.value;d[l]=b;for(var r=a[l],t=0,u=$jscomp.makeIterator(r),f=u.next();!f.done;f=u.next())f=f.value.segments,void 0!==f&&(t+=f.length);k+=r.length;e+=t;r.sort(g);r=r.length;l=c(l);b+=l.serializedBytes*r}var v=new Uint32Array(k+1),h=new Uint32Array(2*e);e=[];b=new ArrayBuffer(b);var n=0,w=0;k={};m=$jscomp.makeIterator(x);for(l=m.next();!l.done;k={serializer:k.serializer},l=m.next())l=l.value,r=a[l],e[l]=r.map(function(a){return a.id}),t= -r.length,u=c(l),k.serializer=u.serializer(b,d[l],t),r.forEach(function(a){return function(b,c){a.serializer(b,c);v[w++]=n;b=b.segments;if(void 0!==b)for(b=$jscomp.makeIterator(b),c=b.next();!c.done;c=b.next())c=c.value,h[2*n]=c.low,h[2*n+1]=c.high,++n}}(k));return{data:new Uint8Array(b),typeToIds:e,typeToOffset:d,segmentListIndex:v,segmentList:h}}a.d(f,"a",function(){return w});a.d(f,"c",function(){return y});f.g=c;a.d(f,"b",function(){return z});a.d(f,"d",function(){return D});f.h=e;f.i=function(a, +null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function d(a){return A.get(a)}function b(a){var b=d(a.type).toJSON(a);b.type=y[a.type].toLowerCase();b.id=a.id;b.description=a.description||void 0;a=a.segments;void 0!==a&&0<a.length&&(b.segments=a.map(function(a){return a.toString()})); +return b}function c(a,b){b=void 0===b?!1:b;Object(t.t)(a);var c=Object(t.v)(a,"type",function(a){return Object(t.m)(a,y)});b={id:Object(t.v)(a,"id",b?t.y:t.A)||e(),description:Object(t.v)(a,"description",t.y),segments:Object(t.v)(a,"segments",function(a){return void 0===a?void 0:Object(t.a)(a,function(a){return u.a.parseString(a)})}),type:c};d(c).restoreState(b,a);return b}function e(){return Object(m.a)(160)}function g(a,b){return a.id<b.id?-1:a.id===b.id?0:1}function l(a){for(var b=0,c=[],e=0,k= +0,m=$jscomp.makeIterator(x),l=m.next();!l.done;l=m.next()){l=l.value;c[l]=b;for(var r=a[l],t=0,u=$jscomp.makeIterator(r),f=u.next();!f.done;f=u.next())f=f.value.segments,void 0!==f&&(t+=f.length);k+=r.length;e+=t;r.sort(g);r=r.length;l=d(l);b+=l.serializedBytes*r}var v=new Uint32Array(k+1),h=new Uint32Array(2*e);e=[];b=new ArrayBuffer(b);var n=0,w=0;k={};m=$jscomp.makeIterator(x);for(l=m.next();!l.done;k={serializer:k.serializer},l=m.next())l=l.value,r=a[l],e[l]=r.map(function(a){return a.id}),t= +r.length,u=d(l),k.serializer=u.serializer(b,c[l],t),r.forEach(function(a){return function(b,c){a.serializer(b,c);v[w++]=n;b=b.segments;if(void 0!==b)for(b=$jscomp.makeIterator(b),c=b.next();!c.done;c=b.next())c=c.value,h[2*n]=c.low,h[2*n+1]=c.high,++n}}(k));return{data:new Uint8Array(b),typeToIds:e,typeToOffset:c,segmentListIndex:v,segmentList:h}}a.d(f,"a",function(){return w});a.d(f,"c",function(){return y});f.g=d;a.d(f,"b",function(){return z});a.d(f,"d",function(){return D});f.h=e;f.i=function(a, b){return{type:y.AXIS_ALIGNED_BOUNDING_BOX,id:"data-bounds",description:"Data Bounds",pointA:a,pointB:b}};f.f=function(a){if(null==a)return a;var b=a.segments;void 0!==b&&(a.segments=b.map(function(a){return new u.a(a.low,a.high)}));return a};h=a(1);var k=a(2),t=a(4),m=a(136),r=a(7),u=a(14),v=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype, c);d&&a(b,d);return b}}(),w=function(a){function b(a){q(this,b);var c=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.id=a;c.changed=new r.a;return c}n(b,a);return b}(h.a),y;(function(a){a[a.POINT=0]="POINT";a[a.LINE=1]="LINE";a[a.AXIS_ALIGNED_BOUNDING_BOX=2]="AXIS_ALIGNED_BOUNDING_BOX";a[a.ELLIPSOID=3]="ELLIPSOID"})(y||(y={}));var x=[y.POINT,y.LINE,y.AXIS_ALIGNED_BOUNDING_BOX,y.ELLIPSOID];f.e=x;var A=new Map;A.set(y.LINE,{icon:"\ua579",description:"Line",toJSON:function(a){return{pointA:Array.from(a.pointA), pointB:Array.from(a.pointB)}},restoreState:function(a,b){a.pointA=Object(t.v)(b,"pointA",t.k);a.pointB=Object(t.v)(b,"pointB",t.k)},serializedBytes:24,serializer:function(a,b,c){var d=new Float32Array(a,b,6*c);return function(a,b){var c=a.pointA;a=a.pointB;b*=6;d[b]=c[0];d[b+1]=c[1];d[b+2]=c[2];d[b+3]=a[0];d[b+4]=a[1];d[b+5]=a[2]}}});A.set(y.POINT,{icon:"\u26ac",description:"Point",toJSON:function(a){return{point:Array.from(a.point)}},restoreState:function(a,b){a.point=Object(t.v)(b,"point",t.k)}, serializedBytes:12,serializer:function(a,b,c){var d=new Float32Array(a,b,3*c);return function(a,b){a=a.point;b*=3;d[b]=a[0];d[b+1]=a[1];d[b+2]=a[2]}}});A.set(y.AXIS_ALIGNED_BOUNDING_BOX,{icon:"\u2751",description:"Bounding Box",toJSON:function(a){return{pointA:Array.from(a.pointA),pointB:Array.from(a.pointB)}},restoreState:function(a,b){a.pointA=Object(t.v)(b,"pointA",t.k);a.pointB=Object(t.v)(b,"pointB",t.k)},serializedBytes:24,serializer:function(a,b,c){var d=new Float32Array(a,b,6*c);return function(a, b){var c=a.pointA;a=a.pointB;b*=6;d[b]=Math.min(c[0],a[0]);d[b+1]=Math.min(c[1],a[1]);d[b+2]=Math.min(c[2],a[2]);d[b+3]=Math.max(c[0],a[0]);d[b+4]=Math.max(c[1],a[1]);d[b+5]=Math.max(c[2],a[2])}}});A.set(y.ELLIPSOID,{icon:"\u25ce",description:"Ellipsoid",toJSON:function(a){return{center:Array.from(a.center),radii:Array.from(a.radii)}},restoreState:function(a,b){a.center=Object(t.v)(b,"center",t.k);a.radii=Object(t.v)(b,"radii",t.j)},serializedBytes:24,serializer:function(a,b,c){var d=new Float32Array(a, -b,6*c);return function(a,b){var c=a.radii;b*=6;d.set(a.center,b);d.set(c,b+3)}}});var z=function(a){function c(a){a=void 0===a?k.k.create():a;q(this,c);var b=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));b.objectToLocal=a;b.annotationMap=new Map;b.changed=new r.a;b.readonly=!1;b.pending=new Set;b.references=new Map;return b}n(c,a);$jscomp.initSymbol();$jscomp.initSymbolIterator();v(c,[{key:"add",value:function(a,b){b=void 0===b?!0:b;if(!a.id)a.id=e();else if(this.annotationMap.has(a.id))throw Error("Annotation id already exists: "+ +b,6*c);return function(a,b){var c=a.radii;b*=6;d.set(a.center,b);d.set(c,b+3)}}});var z=function(a){function d(a){a=void 0===a?k.k.create():a;q(this,d);var b=p(this,(d.__proto__||Object.getPrototypeOf(d)).call(this));b.objectToLocal=a;b.annotationMap=new Map;b.changed=new r.a;b.readonly=!1;b.pending=new Set;b.references=new Map;return b}n(d,a);$jscomp.initSymbol();$jscomp.initSymbolIterator();v(d,[{key:"add",value:function(a,b){b=void 0===b?!0:b;if(!a.id)a.id=e();else if(this.annotationMap.has(a.id))throw Error("Annotation id already exists: "+ JSON.stringify(a.id)+".");this.annotationMap.set(a.id,a);this.changed.dispatch();b||this.pending.add(a.id);return this.getReference(a.id)}},{key:"commit",value:function(a){this.pending.delete(a.id)}},{key:"update",value:function(a,b){if(null===a.value)throw Error("Annotation already deleted.");a.value=b;this.annotationMap.set(b.id,b);a.changed.dispatch();this.changed.dispatch()}},{key:Symbol.iterator,value:function(){return this.annotationMap.values()}},{key:"get",value:function(a){return this.annotationMap.get(a)}}, {key:"delete",value:function(a){null!==a.value&&(a.value=null,this.annotationMap.delete(a.id),this.pending.delete(a.id),a.changed.dispatch(),this.changed.dispatch())}},{key:"getReference",value:function(a){var b=this,c=this.references.get(a);if(void 0!==c)return c.addRef();c=new w(a);c.value=this.annotationMap.get(a)||null;this.references.set(a,c);c.registerDisposer(function(){b.references.delete(a)});return c}},{key:"toJSON",value:function(){for(var a=[],c=this.pending,d=$jscomp.makeIterator(this), -e=d.next();!e.done;e=d.next())e=e.value,c.has(e.id)||a.push(b(e));return a}},{key:"clear",value:function(){this.annotationMap.clear();this.pending.clear();this.changed.dispatch()}},{key:"restoreState",value:function(a){var b=this.annotationMap;b.clear();this.pending.clear();void 0!==a&&Object(t.a)(a,function(a){a=d(a);b.set(a.id,a)});a=$jscomp.makeIterator(this.references.values());for(var c=a.next();!c.done;c=a.next()){c=c.value;var e=b.get(c.id);c.value=e||null;c.changed.dispatch()}this.changed.dispatch()}}, -{key:"reset",value:function(){this.clear()}}]);return c}(h.a),D=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);return b}(z);(function(){function a(){q(this,a);this.annotations=[[],[],[],[]]}v(a,[{key:"add",value:function(a){this.annotations[a.type].push(a)}},{key:"serialize",value:function(){return l(this.annotations)}}]);return a})()},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function"); +e=d.next();!e.done;e=d.next())e=e.value,c.has(e.id)||a.push(b(e));return a}},{key:"clear",value:function(){this.annotationMap.clear();this.pending.clear();this.changed.dispatch()}},{key:"restoreState",value:function(a){var b=this.annotationMap;b.clear();this.pending.clear();void 0!==a&&Object(t.a)(a,function(a){a=c(a);b.set(a.id,a)});a=$jscomp.makeIterator(this.references.values());for(var d=a.next();!d.done;d=a.next()){d=d.value;var e=b.get(d.id);d.value=e||null;d.changed.dispatch()}this.changed.dispatch()}}, +{key:"reset",value:function(){this.clear()}}]);return d}(h.a),D=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);return b}(z);(function(){function a(){q(this,a);this.annotations=[[],[],[],[]]}v(a,[{key:"add",value:function(a){this.annotations[a.type].push(a)}},{key:"serialize",value:function(){return l(this.annotations)}}]);return a})()},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function"); }function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"b",function(){return e}); -a.d(f,"a",function(){return g});f.c=function(a){return function(a){function e(){q(this,e);var a=p(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments));a.visibility=new g;return a}n(e,a);d(e,[{key:"initializeCounterpart",value:function(a,d){d=void 0===d?{}:d;d.visibility=this.registerDisposer(c.a.makeFromExisting(a,this.visibility)).rpcId;b(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"initializeCounterpart",this).call(this,a,d)}}]);return e}(a)};var c=a(74);h=a(9);var b= -function k(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return k(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),e=function(a){function b(a){a= -void 0===a?Number.NEGATIVE_INFINITY:a;q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a))}n(b,a);d(b,[{key:"visible",get:function(){return this.value===Number.POSITIVE_INFINITY}},{key:"ignored",get:function(){return this.value===Number.NEGATIVE_INFINITY}}]);return b}(h.f);e.VISIBLE=Number.POSITIVE_INFINITY;e.IGNORED=Number.NEGATIVE_INFINITY;var g=function(a){function b(){q(this,b);var a=p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.contributors= -new Map;return a}n(b,a);d(b,[{key:"add",value:function(a){var b=this,c=this.contributors,d=a.changed.add(function(){b.update()}),e=function(){c.delete(e);d();b.update()};c.set(e,a);this.update();return e}},{key:"update",value:function(){for(var a=Number.NEGATIVE_INFINITY,b=$jscomp.makeIterator(this.contributors.values()),c=b.next();!c.done;c=b.next())a=Math.max(a,c.value.value);this.value=a}}]);return b}(e)},function(h,f,a){a.d(f,"d",function(){return q});var q;(function(a){a[a.GPU_MEMORY=0]="GPU_MEMORY"; +a.d(f,"a",function(){return g});f.c=function(a){return function(a){function e(){q(this,e);var a=p(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments));a.visibility=new g;return a}n(e,a);c(e,[{key:"initializeCounterpart",value:function(a,c){c=void 0===c?{}:c;c.visibility=this.registerDisposer(d.a.makeFromExisting(a,this.visibility)).rpcId;b(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"initializeCounterpart",this).call(this,a,c)}}]);return e}(a)};var d=a(75);h=a(9);var b= +function k(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return k(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),e=function(a){function b(a){a= +void 0===a?Number.NEGATIVE_INFINITY:a;q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a))}n(b,a);c(b,[{key:"visible",get:function(){return this.value===Number.POSITIVE_INFINITY}},{key:"ignored",get:function(){return this.value===Number.NEGATIVE_INFINITY}}]);return b}(h.f);e.VISIBLE=Number.POSITIVE_INFINITY;e.IGNORED=Number.NEGATIVE_INFINITY;var g=function(a){function b(){q(this,b);var a=p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.contributors= +new Map;return a}n(b,a);c(b,[{key:"add",value:function(a){var b=this,c=this.contributors,d=a.changed.add(function(){b.update()}),e=function(){c.delete(e);d();b.update()};c.set(e,a);this.update();return e}},{key:"update",value:function(){for(var a=Number.NEGATIVE_INFINITY,b=$jscomp.makeIterator(this.contributors.values()),c=b.next();!c.done;c=b.next())a=Math.max(a,c.value.value);this.value=a}}]);return b}(e)},function(h,f,a){a.d(f,"d",function(){return q});var q;(function(a){a[a.GPU_MEMORY=0]="GPU_MEMORY"; a[a.SYSTEM_MEMORY=1]="SYSTEM_MEMORY";a[a.SYSTEM_MEMORY_WORKER=2]="SYSTEM_MEMORY_WORKER";a[a.DOWNLOADING=3]="DOWNLOADING";a[a.QUEUED=4]="QUEUED";a[a.NEW=5]="NEW";a[a.FAILED=6]="FAILED";a[a.EXPIRED=7]="EXPIRED"})(q||(q={}));var p;(function(a){a[a.FIRST_TIER=0]="FIRST_TIER";a[a.FIRST_ORDERED_TIER=0]="FIRST_ORDERED_TIER";a[a.VISIBLE=0]="VISIBLE";a[a.PREFETCH=1]="PREFETCH";a[a.LAST_ORDERED_TIER=1]="LAST_ORDERED_TIER";a[a.RECENT=2]="RECENT";a[a.LAST_TIER=2]="LAST_TIER"})(p||(p={}));f.b="ChunkQueueManager"; -f.a="ChunkManager";f.c="ChunkSource.invalidate"},function(h,f,a){a.d(f,"a",function(){return n});var q=function(){function a(a,c){for(var b=0;b<c.length;b++){var d=c[b];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,e){c&&a(b.prototype,c);e&&a(b,e);return b}}();a(247);var p=null,n=function(){function a(b){b=void 0===b?!1:b;if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");null===p&&(p= +f.a="ChunkManager";f.c="ChunkSource.invalidate"},function(h,f,a){a.d(f,"a",function(){return n});var q=function(){function a(a,c){for(var b=0;b<c.length;b++){var d=c[b];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();a(247);var p=null,n=function(){function a(b){b=void 0===b?!1:b;if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");null===p&&(p= document.createElement("ul"),p.id="statusContainer",document.body.appendChild(p));var c=document.createElement("li");this.element=c;!0===b&&(b=200);!1!==b?(this.setVisible(!1),this.timer=setTimeout(this.setVisible.bind(this,!0),b)):this.timer=null;p.appendChild(c)}q(a,[{key:"dispose",value:function(){p.removeChild(this.element);this.element=void 0;null!==this.timer&&clearTimeout(this.timer)}},{key:"setText",value:function(a,c){this.element.textContent=a;c&&this.setVisible(!0)}},{key:"setHTML",value:function(a, c){this.element.innerHTML=a;c&&this.setVisible(!0)}},{key:"setVisible",value:function(a){null!==this.timer&&(clearTimeout(this.timer),this.timer=null);this.element.style.display=a?"block":"none"}},{key:"setErrorMessage",value:function(a){var b=this;this.element.textContent=a+" ";a=document.createElement("button");a.textContent="Dismiss";a.addEventListener("click",function(){b.dispose()});this.element.appendChild(a)}}],[{key:"forPromise",value:function(b,c){var d=new a(c.delay);d.setText(c.initialMessage); var g=d.dispose.bind(d);b.then(g,function(a){d.setErrorMessage((void 0===c.errorPrefix?"":c.errorPrefix)+(a instanceof Error?a.message:""+a));d.setVisible(!0)});return b}},{key:"showMessage",value:function(b){var c=new a;c.element.textContent=b;c.setVisible(!0);return c}},{key:"showTemporaryMessage",value:function(a,c){c=void 0===c?2E3:c;var b=this.showMessage(a);setTimeout(function(){return b.dispose()},c);return b}}]);return a}()},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!== -b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}a.d(f,"b",function(){return d});a.d(f,"c",function(){return e});f.d=function(a,c){return new Promise(function(e,g){if(a===b)c(e,g,b);else{var k= -new d,l=a.add(function(){k.cancel()});c(function(a){l();e(a)},function(a){l();g(a)},k)}})};var n=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();h=new (function(){function a(){p(this,a);this.name="CancellationError";this.message="CANCELED"}n(a,[{key:"toString",value:function(){return"CANCELED"}}]);return a}()); -f.a=h;var c=function(){},b={isCanceled:!1,add:function(){return c},remove:c};f.e=b;var d=function(){function a(){p(this,a)}n(a,[{key:"cancel",value:function(){var a=this.handlers;if(null!==a&&(this.handlers=null,void 0!==a)){a=$jscomp.makeIterator(a);for(var b=a.next();!b.done;b=a.next())b=b.value,b()}}},{key:"add",value:function(a){var b=this,d=this.handlers;if(null===d)return a(),c;void 0===d&&(d=this.handlers=new Set);d.add(a);return function(){b.remove(a)}}},{key:"remove",value:function(a){var b= +b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}a.d(f,"b",function(){return c});a.d(f,"c",function(){return e});f.d=function(a,d){return new Promise(function(e,g){if(a===b)d(e,g,b);else{var k= +new c,l=a.add(function(){k.cancel()});d(function(a){l();e(a)},function(a){l();g(a)},k)}})};var n=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();h=new (function(){function a(){p(this,a);this.name="CancellationError";this.message="CANCELED"}n(a,[{key:"toString",value:function(){return"CANCELED"}}]);return a}()); +f.a=h;var d=function(){},b={isCanceled:!1,add:function(){return d},remove:d};f.e=b;var c=function(){function a(){p(this,a)}n(a,[{key:"cancel",value:function(){var a=this.handlers;if(null!==a&&(this.handlers=null,void 0!==a)){a=$jscomp.makeIterator(a);for(var b=a.next();!b.done;b=a.next())b=b.value,b()}}},{key:"add",value:function(a){var b=this,c=this.handlers;if(null===c)return a(),d;void 0===c&&(c=this.handlers=new Set);c.add(a);return function(){b.remove(a)}}},{key:"remove",value:function(a){var b= this.handlers;null!=b&&b.delete(a)}},{key:"isCanceled",get:function(){return null===this.handlers}}]);return a}(),e=function(a){function c(){p(this,c);var a=(c.__proto__||Object.getPrototypeOf(c)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");a=!a||"object"!==typeof a&&"function"!==typeof a?this:a;a.consumers=new Set;return a}q(c,a);n(c,[{key:"addConsumer",value:function(a){var c=this;a=void 0===a?b:a;var d=this.consumers;d.has(a)|| -a.isCanceled||(d.add(a),a.add(function(){d.delete(a);0===d.size&&c.cancel()}))}}]);return c}(d)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+ -typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b){for(var c=$jscomp.makeIterator(l),d=c.next();!d.done;d=c.next())if(d=d.value,d=d(a,b),null!=d)return d;throw Error("No chunk format handler found.");}f.c=function(a){l.push(a)};a.d(f,"b",function(){return k});a.d(f,"a",function(){return t});h=a(44);var b=a(2),d=function(){function a(a,b){for(var c= -0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),e=b.s.create(),g=b.s.create(),l=[],k=function(a){function k(a,b){q(this,k);b=p(this,(k.__proto__||Object.getPrototypeOf(k)).call(this,a,b));b.chunkFormatHandler=b.registerDisposer(c(a.chunkQueueManager.gl,b.spec));return b}n(k,a);d(k,[{key:"getValueAt",value:function(a,c){c=void 0===c?this.spec.chunkLayout: +a.isCanceled||(d.add(a),a.add(function(){d.delete(a);0===d.size&&c.cancel()}))}}]);return c}(c)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+ +typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function d(a,b){for(var c=$jscomp.makeIterator(l),d=c.next();!d.done;d=c.next())if(d=d.value,d=d(a,b),null!=d)return d;throw Error("No chunk format handler found.");}f.c=function(a){l.push(a)};a.d(f,"b",function(){return k});a.d(f,"a",function(){return t});h=a(44);var b=a(2),c=function(){function a(a,b){for(var c= +0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),e=b.s.create(),g=b.s.create(),l=[],k=function(a){function k(a,b){q(this,k);b=p(this,(k.__proto__||Object.getPrototypeOf(k)).call(this,a,b));b.chunkFormatHandler=b.registerDisposer(d(a.chunkQueueManager.gl,b.spec));return b}n(k,a);c(k,[{key:"getValueAt",value:function(a,c){c=void 0===c?this.spec.chunkLayout: c;var d=this.spec,k=c.size;c.globalToLocalSpatial(g,a);for(a=0;3>a;++a)e[a]=Math.floor(g[a]/k[a]);a=Object(b.t)(e);a=this.chunks.get(a);if(!a)return null;c=d.voxelSize;for(var l=0;3>l;++l)e[l]=Math.floor((g[l]-e[l]*k[l])/c[l]);k=a.chunkDataSize;for(c=0;3>c;++c)if(e[c]>=k[c])return;d=d.numChannels;if(1===d)return a.getChannelValueAt(e,0);k=Array(d);for(c=0;c<d;++c)k[c]=a.getChannelValueAt(e,c);return k}},{key:"getChunk",value:function(a){return this.chunkFormatHandler.getChunk(this,a)}},{key:"chunkFormat", -get:function(){return this.chunkFormatHandler.chunkFormat}}]);return k}(h.c),t=function(a){function b(a,c){q(this,b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,c));d.chunkDataSize=c.chunkDataSize||a.spec.chunkDataSize;return d}n(b,a);d(b,[{key:"chunkFormat",get:function(){return this.source.chunkFormat}}]);return b}(h.b)},function(h,f,a){a.d(f,"a",function(){return q});f.b=1E-6;var q="undefined"!==typeof Float32Array?Float32Array:Array;f.c=Math.random},function(h,f,a){function q(a, +get:function(){return this.chunkFormatHandler.chunkFormat}}]);return k}(h.c),t=function(a){function b(a,c){q(this,b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,c));d.chunkDataSize=c.chunkDataSize||a.spec.chunkDataSize;return d}n(b,a);c(b,[{key:"chunkFormat",get:function(){return this.source.chunkFormat}}]);return b}(h.b)},function(h,f,a){a.d(f,"a",function(){return q});f.b=1E-6;var q="undefined"!==typeof Float32Array?Float32Array:Array;f.c=Math.random},function(h,f,a){function q(a, b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){if(!(a instanceof -b))throw new TypeError("Cannot call a class as a function");}a.d(f,"b",function(){return g});a.d(f,"c",function(){return l});a.d(f,"a",function(){return k});h=a(10);var c=a.n(h);h=a(1);var b=a(7),d=function m(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return m(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},e=function(){function a(a,b){for(var c=0;c<b.length;c++){var d= +b))throw new TypeError("Cannot call a class as a function");}a.d(f,"b",function(){return g});a.d(f,"c",function(){return l});a.d(f,"a",function(){return k});h=a(10);var d=a.n(h);h=a(1);var b=a(7),c=function m(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return m(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},e=function(){function a(a,b){for(var c=0;c<b.length;c++){var d= b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),g=function(){function a(c,d){d=void 0===d?c:d;n(this,a);this.value_=c;this.defaultValue=d;this.changed=new b.a}e(a,[{key:"toggle",value:function(){this.value=!this.value}},{key:"toJSON",value:function(){if(this.value_!==this.defaultValue)return this.value_}},{key:"restoreState",value:function(a){this.value=!0===a||!1=== a?a:this.defaultValue}},{key:"reset",value:function(){this.value=this.defaultValue}},{key:"value",get:function(){return this.value_},set:function(a){a!==this.value_&&(this.value_=a,this.changed.dispatch())}}]);return a}(),l=function(a){function b(a){n(this,b);var c=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.model=a;c.element=document.createElement("input");var d=c.element;d.type="checkbox";c.registerDisposer(a.changed.add(function(){c.updateCheckbox()}));c.updateCheckbox();c.registerEventListener(d, -"change",function(b){a.value=this.checked});d.addEventListener("mousedown",function(a){a.preventDefault()});return c}p(b,a);e(b,[{key:"updateCheckbox",value:function(){this.element.checked=this.model.value}},{key:"disposed",value:function(){var a=this.element,c=a.parentElement;c&&c.removeChild(a);d(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}}]);return b}(h.a),k=function(a){function b(a,d){n(this,b);var e=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this)); -e.model=a;e.element=d;e.initialDisplay=e.element.style.display;e.updateVisibility();e.registerDisposer(a.changed.add(e.registerCancellable(c()(function(){return e.updateVisibility()},0))));return e}p(b,a);e(b,[{key:"updateVisibility",value:function(){this.element.style.display=this.model.value?this.initialDisplay:"none"}}]);return b}(h.a)},function(h,f,a){f.isArray=Array.isArray||function(a){return a&&"number"===typeof a.length}},function(h,f,a){f.isScheduler=function(a){return a&&"function"===typeof a.schedule}}, -function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(0);var p=a(124),n=a(42),c=a(37);a=function(a){function b(b,c){a.call(this);this.array=b;this.scheduler=c;c||1!==b.length||(this._isScalar=!0,this.value=b[0])}q(b,a);b.create=function(a,c){return new b(a,c)};b.of=function(){for(var a=[],d=0;d<arguments.length;d++)a[d-0]=arguments[d];d=a[a.length- -1];c.isScheduler(d)?a.pop():d=null;var l=a.length;return 1<l?new b(a,d):1===l?new p.ScalarObservable(a[0],d):new n.EmptyObservable(d)};b.dispatch=function(a){var b=a.array,c=a.index,d=a.subscriber;c>=a.count?d.complete():(d.next(b[c]),d.closed||(a.index=c+1,this.schedule(a)))};b.prototype._subscribe=function(a){var c=this.array,d=c.length,e=this.scheduler;if(e)return e.schedule(b.dispatch,0,{array:c,index:0,count:d,subscriber:a});for(e=0;e<d&&!a.closed;e++)a.next(c[e]);a.complete()};return b}(h.Observable); +"change",function(b){a.value=this.checked});d.addEventListener("mousedown",function(a){a.preventDefault()});return c}p(b,a);e(b,[{key:"updateCheckbox",value:function(){this.element.checked=this.model.value}},{key:"disposed",value:function(){var a=this.element,d=a.parentElement;d&&d.removeChild(a);c(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}}]);return b}(h.a),k=function(a){function b(a,c){n(this,b);var e=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this)); +e.model=a;e.element=c;e.initialDisplay=e.element.style.display;e.updateVisibility();e.registerDisposer(a.changed.add(e.registerCancellable(d()(function(){return e.updateVisibility()},0))));return e}p(b,a);e(b,[{key:"updateVisibility",value:function(){this.element.style.display=this.model.value?this.initialDisplay:"none"}}]);return b}(h.a)},function(h,f,a){f.isArray=Array.isArray||function(a){return a&&"number"===typeof a.length}},function(h,f,a){f.isScheduler=function(a){return a&&"function"===typeof a.schedule}}, +function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(0);var p=a(124),n=a(42),d=a(37);a=function(a){function b(b,c){a.call(this);this.array=b;this.scheduler=c;c||1!==b.length||(this._isScalar=!0,this.value=b[0])}q(b,a);b.create=function(a,c){return new b(a,c)};b.of=function(){for(var a=[],c=0;c<arguments.length;c++)a[c-0]=arguments[c];c=a[a.length- +1];d.isScheduler(c)?a.pop():c=null;var l=a.length;return 1<l?new b(a,c):1===l?new p.ScalarObservable(a[0],c):new n.EmptyObservable(c)};b.dispatch=function(a){var b=a.array,c=a.index,d=a.subscriber;c>=a.count?d.complete():(d.next(b[c]),d.closed||(a.index=c+1,this.schedule(a)))};b.prototype._subscribe=function(a){var c=this.array,d=c.length,e=this.scheduler;if(e)return e.schedule(b.dispatch,0,{array:c,index:0,count:d,subscriber:a});for(e=0;e<d&&!a.closed;e++)a.next(c[e]);a.complete()};return b}(h.Observable); f.ArrayObservable=a},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b,c){for(var d=0;3>d;++d)a[d]=Number.POSITIVE_INFINITY, -b[d]=Number.NEGATIVE_INFINITY;c=$jscomp.makeIterator(c);for(d=c.next();!d.done;d=c.next()){var e=d.value.spec;d=e.lowerChunkBound;e=e.upperChunkBound;for(var g=0;3>g;++g)a[g]=Math.min(a[g],d[g]),b[g]=Math.max(b[g],e[g])}}function c(a,b,c,d){for(var e=v.FULLY_INSIDE,g=0;3>g;++g){var k=a[g];var l=b[g],m=c[g],r=d[g];k=k>=r||l<=m?v.FULLY_OUTSIDE:k>=m&&l<=r?v.FULLY_INSIDE:v.PARTIALLY_INSIDE;switch(k){case v.FULLY_OUTSIDE:return k;case v.PARTIALLY_INSIDE:e=k}}return e}function b(a){var b=a.transform,c= -a.transformedSources,d=b.changed.count;d!==a.transformedSourcesGeneration&&(a.transformedSourcesGeneration=d,c=m.k.equals(b.transform,m.d)?a.sources.map(function(a){return a.map(function(a){return{source:a,chunkLayout:a.spec.chunkLayout}})}):a.sources.map(function(a){return a.map(function(a){var c=a.spec.chunkLayout;return{chunkLayout:l.a.get(c.size,g(c.transform,b)),source:a}})}),a.transformedSources=c);return c}function d(a,b){var c=b.length,d=0;if(1<c)for(var e=0,g=0;g<c;++g){var k=b[g].chunkLayout; +b[d]=Number.NEGATIVE_INFINITY;c=$jscomp.makeIterator(c);for(d=c.next();!d.done;d=c.next()){var e=d.value.spec;d=e.lowerChunkBound;e=e.upperChunkBound;for(var g=0;3>g;++g)a[g]=Math.min(a[g],d[g]),b[g]=Math.max(b[g],e[g])}}function d(a,b,c,d){for(var e=v.FULLY_INSIDE,g=0;3>g;++g){var k=a[g];var l=b[g],m=c[g],r=d[g];k=k>=r||l<=m?v.FULLY_OUTSIDE:k>=m&&l<=r?v.FULLY_INSIDE:v.PARTIALLY_INSIDE;switch(k){case v.FULLY_OUTSIDE:return k;case v.PARTIALLY_INSIDE:e=k}}return e}function b(a){var b=a.transform,c= +a.transformedSources,d=b.changed.count;d!==a.transformedSourcesGeneration&&(a.transformedSourcesGeneration=d,c=m.k.equals(b.transform,m.d)?a.sources.map(function(a){return a.map(function(a){return{source:a,chunkLayout:a.spec.chunkLayout}})}):a.sources.map(function(a){return a.map(function(a){var c=a.spec.chunkLayout;return{chunkLayout:l.a.get(c.size,g(c.transform,b)),source:a}})}),a.transformedSources=c);return c}function c(a,b){var c=b.length,d=0;if(1<c)for(var e=0,g=0;g<c;++g){var k=b[g].chunkLayout; var l=k.size;k=k.globalToLocalSpatialVector(u,a);for(var m=0,r=0,t=1,f=0;3>f;++f){var v=l[f];t*=v;v*=k[f];m=Math.min(m,v);r=Math.max(r,v)}l=t/(r-m);l>e&&(e=l,d=g)}return b[d]}function e(a){var b=a.voxelSize,c=void 0===a.lowerVoxelBound?m.h:a.lowerVoxelBound,d=a.upperVoxelBound,e=void 0===a.maxVoxelsPerChunkLog2?18:a.maxVoxelsPerChunkLog2;a=void 0===a.transform?m.d:a.transform;a=Object(m.c)(m.s.create(),a);b=m.s.multiply(a,a,b);a=m.s.fromValues(1,1,1);if(void 0===d)var g=m.f;else{g=m.s.create();for(var k= 0;3>k;++k)g[k]=Math.pow(2,Math.floor(Math.log2(d[k]-c[k])))}for(c=0;c<e;++c){d=Infinity;k=-1;for(var l=0;3>l;++l)if(!(a[l]>=g[l])){var r=a[l]*b[l];r<d&&(d=r,k=l)}d=k;if(-1===d)break;a[d]*=2}return a}function g(a,b){b=b.transform;return void 0===b?void 0===a?m.d:a:void 0===a?b:m.k.multiply(m.k.create(),b,a)}f.m=b;a.d(f,"h",function(){return y});f.l=e;a.d(f,"a",function(){return x});f.k=g;f.j=function(a){if(void 0!==a.chunkDataSizes)return a.chunkDataSizes;var b=void 0===a.chunkLayoutPreference?x.ISOTROPIC: a.chunkLayoutPreference;switch(b){case x.ISOTROPIC:return[e(a)];case x.FLAT:b=[];for(var c=0;3>c;++c){var d=c;var g=a.lowerVoxelBound;var k=a.upperVoxelBound,l=c,r=a.voxelSize,t=a.maxVoxelsPerChunkLog2,f=a.transform;m.s.subtract(u,void 0===k?m.f:k,void 0===g?m.h:g);u[l]=1;g=e({voxelSize:r,upperVoxelBound:u,maxVoxelsPerChunkLog2:t,transform:f});b[d]=g}b.push(e(a));return b}throw Error("Invalid chunk layout preference: "+b+".");};a.d(f,"i",function(){return A});var l=a(232),k=a(43),t=a(233);a(50);var m= @@ -303,147 +303,147 @@ e);var a=(e.__proto__||Object.getPrototypeOf(e)).call(this);if(!this)throw new R new Map;a.visibleLayers=new Map;a.visibleSourcesStale=!0;a.pixelSize=0;m.k.identity(a.viewportToData);return a}p(e,a);r(e,[{key:"onViewportChanged",value:function(){}},{key:"maybeSetHasValidViewport",value:function(){!this.hasValidViewport&&-1!==this.width&&-1!==this.height&&this.hasViewportToData&&(this.hasValidViewport=!0,this.onHasValidViewport());if(this.hasValidViewport)this.onViewportChanged()}},{key:"onHasValidViewport",value:function(){}},{key:"setViewportSize",value:function(a,b){return a!== this.width||b!==this.height?(this.width=a,this.height=b,this.maybeSetHasValidViewport(),!0):!1}},{key:"setViewportToDataMatrix",value:function(a){if(this.hasViewportToData&&m.k.equals(this.viewportToData,a))return!1;this.hasViewportToData=!0;var b=this.viewportToData;m.k.copy(b,a);Object(m.o)(b);m.s.transformMat4(this.centerDataPosition,m.h,a);a=0;for(var c=this.viewportAxes,d=this.previousViewportAxes,e=0;3>e;++e){var g=c[e];Object(m.p)(g,m.e[e],b);0===e&&(a=m.s.length(g));m.s.normalize(g,g)}this.viewportAxes= c;this.previousViewportAxes=d;if(!Object(t.a)(a,this.pixelSize)||.95>m.s.dot(c[0],d[0])||.95>m.s.dot(c[1],d[1]))m.s.copy(d[0],c[0]),m.s.copy(d[1],c[1]),this.visibleSourcesStale=!0,this.pixelSize=a;this.viewportPlaneDistanceToOrigin=m.s.dot(this.centerDataPosition,this.viewportAxes[2]);this.onViewportToDataMatrixChanged();this.maybeSetHasValidViewport();return!0}},{key:"onViewportToDataMatrixChanged",value:function(){}},{key:"updateVisibleSources",value:function(){if(this.visibleSourcesStale){this.visibleSourcesStale= -!1;var a=1.1*this.pixelSize,c=this.visibleChunkLayouts,e=this.viewportAxes[2],g=this.visibleLayers;c.clear();var k={};g=$jscomp.makeIterator(g);for(var l=g.next();!l.done;k={smallestVoxelSize:k.smallestVoxelSize,visibleSources:k.visibleSources},l=g.next()){l=$jscomp.makeIterator(l.value);var m=l.next().value;k.visibleSources=l.next().value;k.visibleSources.length=0;l=b(m);var r=l.length;m=void 0;k.smallestVoxelSize=l[0][0].source.spec.voxelSize;var t=function(b){return function(c){for(var d=0;3>d;++d){var e= -c[d];if(e>a&&e>b.smallestVoxelSize[d])return!0}return!1}}(k),u=function(a){return function(b,d){var e=b.source,g=b.chunkLayout;a.visibleSources[a.visibleSources.length++]=b;b=c.get(g);void 0===b&&(b=new Map,c.set(g,b));b.set(e,d)}}(k);for(m=r-1;;){r=d(e,l[m]);u(r,m);if(0===m||!t(r.source.spec.voxelSize))break;--m}k.visibleSources.reverse()}}}},{key:"computeVisibleChunks",value:function(a,b){var d=this;this.updateVisibleSources();for(var e=this.width,g=this.height,l=this.viewportToData,r=0;3>r;++r)w[0][r]= --m.e[0][r]*e/2-m.e[1][r]*g/2,w[1][r]=-m.e[0][r]*e/2+m.e[1][r]*g/2,w[2][r]=m.e[0][r]*e/2-m.e[1][r]*g/2,w[3][r]=m.e[0][r]*e/2+m.e[1][r]*g/2;for(e=0;4>e;++e)m.s.transformMat4(w[e],w[e],l);var t=m.s.create(),f=m.s.create(),h=m.s.create(),p=m.s.create(),x=m.s.create(),D=m.s.create(),y=[],z=[];this.visibleChunkLayouts.forEach(function(e,g){function l(){for(var a=0,b=0,c=0;3>c;++c){var d=D[c],e=t[c],g=f[c]-e,k=x[c]*g;a+=d*(e+k);b+=d*(e+g-k)}return a<G?!1:b<=G}function r(a){function d(){F=Object(k.c)(y,0, -w,function(a){var b=a.spec;switch(c(t,f,b.lowerChunkBound,b.upperChunkBound)){case v.PARTIALLY_INSIDE:return!0;case v.FULLY_INSIDE:z.push(a);default:return!1}})}if(0!==z.length||0!==F){for(var e=1,m=0;3>m;++m)e*=Math.max(0,f[m]-t[m]);if(0!==e&&l())if(1===e)b(g,q,t,z);else{for(var u;;)if(e=t[a],m=f[a],u=m-e,1===u)a=(a+1)%3;else break;u=e+Math.floor(.5*u);var h=(a+1)%3,n=z.length;f[a]=u;var w=F;d();r(h);z.length=n;F=w;f[a]=m;t[a]=u;d();r(h);t[a]=e;z.length=n;F=w}}}var q=a(g);n(h,p,e.keys());m.s.set(t, -Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY);m.s.set(f,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY);g.globalToLocalSpatialVector(D,d.viewportAxes[2]);for(var C=0;3>C;++C)x[C]=0<D[C]?1:0;var G=m.s.dot(g.globalToLocalGrid(u,d.centerDataPosition),D);for(C=0;4>C;++C)for(var E=g.globalToLocalGrid(u,w[C]),A=0;3>A;++A)t[A]=Math.min(t[A],Math.floor(E[A])),f[A]=Math.max(f[A],Math.floor(E[A])+1);m.s.max(t,t,h);m.s.min(f,f,p);z.length=0;y.length= -0;e=$jscomp.makeIterator(e.keys());for(C=e.next();!C.done;C=e.next())switch(C=C.value,E=C.spec,c(t,f,E.lowerChunkBound,E.upperChunkBound)){case v.FULLY_INSIDE:z.push(C);break;case v.PARTIALLY_INSIDE:y.push(C)}var F=y.length;r(0)})}}]);return e}(h.b),x;(function(a){a[a.ISOTROPIC=0]="ISOTROPIC";a[a.FLAT=1]="FLAT"})(x||(x={}));var A=function(){function a(b){q(this,a);var c=b.chunkSize,d=b.transform,e=void 0===b.lowerChunkBound?m.h:b.lowerChunkBound,g=b.upperChunkBound;this.voxelSize=b.voxelSize;this.chunkLayout= +!1;var a=1.1*this.pixelSize,d=this.visibleChunkLayouts,e=this.viewportAxes[2],g=this.visibleLayers;d.clear();var k={};g=$jscomp.makeIterator(g);for(var l=g.next();!l.done;k={smallestVoxelSize:k.smallestVoxelSize,visibleSources:k.visibleSources},l=g.next()){l=$jscomp.makeIterator(l.value);var m=l.next().value;k.visibleSources=l.next().value;k.visibleSources.length=0;l=b(m);var r=l.length;m=void 0;k.smallestVoxelSize=l[0][0].source.spec.voxelSize;var t=function(b){return function(c){for(var d=0;3>d;++d){var e= +c[d];if(e>a&&e>b.smallestVoxelSize[d])return!0}return!1}}(k),u=function(a){return function(b,c){var e=b.source,g=b.chunkLayout;a.visibleSources[a.visibleSources.length++]=b;b=d.get(g);void 0===b&&(b=new Map,d.set(g,b));b.set(e,c)}}(k);for(m=r-1;;){r=c(e,l[m]);u(r,m);if(0===m||!t(r.source.spec.voxelSize))break;--m}k.visibleSources.reverse()}}}},{key:"computeVisibleChunks",value:function(a,b){var c=this;this.updateVisibleSources();for(var e=this.width,g=this.height,l=this.viewportToData,r=0;3>r;++r)w[0][r]= +-m.e[0][r]*e/2-m.e[1][r]*g/2,w[1][r]=-m.e[0][r]*e/2+m.e[1][r]*g/2,w[2][r]=m.e[0][r]*e/2-m.e[1][r]*g/2,w[3][r]=m.e[0][r]*e/2+m.e[1][r]*g/2;for(e=0;4>e;++e)m.s.transformMat4(w[e],w[e],l);var t=m.s.create(),f=m.s.create(),h=m.s.create(),p=m.s.create(),x=m.s.create(),D=m.s.create(),y=[],z=[];this.visibleChunkLayouts.forEach(function(e,g){function l(){for(var a=0,b=0,c=0;3>c;++c){var d=D[c],e=t[c],g=f[c]-e,k=x[c]*g;a+=d*(e+k);b+=d*(e+g-k)}return a<G?!1:b<=G}function r(a){function c(){F=Object(k.c)(y,0, +w,function(a){var b=a.spec;switch(d(t,f,b.lowerChunkBound,b.upperChunkBound)){case v.PARTIALLY_INSIDE:return!0;case v.FULLY_INSIDE:z.push(a);default:return!1}})}if(0!==z.length||0!==F){for(var e=1,m=0;3>m;++m)e*=Math.max(0,f[m]-t[m]);if(0!==e&&l())if(1===e)b(g,q,t,z);else{for(var u;;)if(e=t[a],m=f[a],u=m-e,1===u)a=(a+1)%3;else break;u=e+Math.floor(.5*u);var h=(a+1)%3,n=z.length;f[a]=u;var w=F;c();r(h);z.length=n;F=w;f[a]=m;t[a]=u;c();r(h);t[a]=e;z.length=n;F=w}}}var q=a(g);n(h,p,e.keys());m.s.set(t, +Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY);m.s.set(f,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY);g.globalToLocalSpatialVector(D,c.viewportAxes[2]);for(var C=0;3>C;++C)x[C]=0<D[C]?1:0;var G=m.s.dot(g.globalToLocalGrid(u,c.centerDataPosition),D);for(C=0;4>C;++C)for(var E=g.globalToLocalGrid(u,w[C]),A=0;3>A;++A)t[A]=Math.min(t[A],Math.floor(E[A])),f[A]=Math.max(f[A],Math.floor(E[A])+1);m.s.max(t,t,h);m.s.min(f,f,p);z.length=0;y.length= +0;e=$jscomp.makeIterator(e.keys());for(C=e.next();!C.done;C=e.next())switch(C=C.value,E=C.spec,d(t,f,E.lowerChunkBound,E.upperChunkBound)){case v.FULLY_INSIDE:z.push(C);break;case v.PARTIALLY_INSIDE:y.push(C)}var F=y.length;r(0)})}}]);return e}(h.b),x;(function(a){a[a.ISOTROPIC=0]="ISOTROPIC";a[a.FLAT=1]="FLAT"})(x||(x={}));var A=function(){function a(b){q(this,a);var c=b.chunkSize,d=b.transform,e=void 0===b.lowerChunkBound?m.h:b.lowerChunkBound,g=b.upperChunkBound;this.voxelSize=b.voxelSize;this.chunkLayout= l.a.get(c,d);this.lowerChunkBound=e;this.upperChunkBound=g}r(a,[{key:"toObject",value:function(){return{transform:this.chunkLayout.transform,chunkSize:this.chunkLayout.size,voxelSize:this.voxelSize,lowerChunkBound:this.lowerChunkBound,upperChunkBound:this.upperChunkBound}}}]);return a}();f.f="SliceView";f.d="sliceview/RenderLayer";f.b="SliceView.addVisibleLayer";f.c="SliceView.removeVisibleLayer";f.g="SliceView.updateView";f.e="SliceView.updateTransform"},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a, -b):a.__proto__=b)}a.d(f,"b",function(){return l});a.d(f,"a",function(){return k});a.d(f,"c",function(){return t});a.d(f,"d",function(){return m});h=a(245);a.n(h);h=a(1);var c=a(8),b=a(7),d=a(29),e=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),g=function u(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a, -b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return u(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},l=function(a){function b(a){a=void 0===a?new d.b:a;q(this,b);var c=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.visibility=a;c.element=document.createElement("div");c.element.classList.add("neuroglancer-tab-content");return c}n(b,a);e(b,[{key:"disposed",value:function(){Object(c.b)(this.element);g(b.prototype.__proto__||Object.getPrototypeOf(b.prototype), +b):a.__proto__=b)}a.d(f,"b",function(){return l});a.d(f,"a",function(){return k});a.d(f,"c",function(){return t});a.d(f,"d",function(){return m});h=a(245);a.n(h);h=a(1);var d=a(8),b=a(7),c=a(29),e=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),g=function u(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a, +b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return u(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},l=function(a){function b(a){a=void 0===a?new c.b:a;q(this,b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.visibility=a;d.element=document.createElement("div");d.element.classList.add("neuroglancer-tab-content");return d}n(b,a);e(b,[{key:"disposed",value:function(){Object(d.b)(this.element);g(b.prototype.__proto__||Object.getPrototypeOf(b.prototype), "disposed",this).call(this)}},{key:"visible",get:function(){return this.visibility.visible}}]);return b}(h.a);a=function(a){function c(){q(this,c);var a=p(this,(c.__proto__||Object.getPrototypeOf(c)).apply(this,arguments));a.changed=new b.a;a.options=new Map;a.optionsChanged=new b.a;a.selectedValue=void 0;a.defaultValue=void 0;a.ready_=!0;return a}n(c,a);e(c,[{key:"add",value:function(a,b){var c=this.options;if(c.has(a))throw Error("Option already defined: "+JSON.stringify(a)+".");c.set(a,b);this.optionsChanged.dispatch(); void 0===this.defaultValue&&(this.default=a)}},{key:"toJSON",value:function(){var a=this.value;if(a!==this.defaultValue)return a}},{key:"reset",value:function(){this.value=void 0}},{key:"restoreState",value:function(a){"string"!==typeof a&&(a=void 0);this.value=a}},{key:"value",get:function(){var a=this.selectedValue;return void 0!==a?a:this.defaultValue},set:function(a){void 0!==a&&this.ready_&&!this.options.has(a)&&(a=void 0);this.selectedValue!==a&&(this.selectedValue=a,this.changed.dispatch())}}, -{key:"default",set:function(a){this.defaultValue!==a&&(this.defaultValue=a,this.changed.dispatch())},get:function(){return this.defaultValue}},{key:"validValue",get:function(){var a=this.selectedValue;return void 0!==a&&this.options.has(a)?a:this.defaultValue}},{key:"ready",get:function(){return this.ready_},set:function(a){if(a!==this.ready_){if(this.ready_=a)this.value=this.value;this.changed.dispatch()}}}]);return c}(h.a);var k=function(a){function k(a,c){c=void 0===c?new d.b:c;q(this,k);var e= -p(this,(k.__proto__||Object.getPrototypeOf(k)).call(this));e.getter=a;e.visibility=c;e.element=document.createElement("div");e.tabs=new Map;e.tabVisibilityChanged=new b.b;e.element.className="neuroglancer-stack-view";e.registerDisposer(c.changed.add(function(){return e.updateSelectedTab()}));e.updateSelectedTab();return e}n(k,a);e(k,[{key:"invalidate",value:function(a){var b=this.tabs,c=b.get(a);void 0!==c&&(c.dispose(),b.delete(a),a===this.displayedTab&&(this.displayedTab=void 0,this.updateSelectedTab()))}}, -{key:"hideTab",value:function(a){var b=this.tabs.get(a);void 0!==b&&(b.visibility.value=d.b.IGNORED,b.element.style.display="none");this.tabVisibilityChanged.dispatch(a,!1)}},{key:"showTab",value:function(a){var b=this.tabs,c=b.get(a);void 0===c&&(c=this.getter(a),this.element.appendChild(c.element),b.set(a,c));c.element.style.display=null;c.visibility.value=d.b.VISIBLE;this.tabVisibilityChanged.dispatch(a,!0)}},{key:"updateSelectedTab",value:function(){var a=this.displayedTab,b=this.visible?this.selectedTabValue: -void 0;b!==a&&(void 0!==a&&this.hideTab(a),this.displayedTab=b,void 0!==b&&this.showTab(b))}},{key:"invalidateAll",value:function(){for(var a=this.tabs,b=$jscomp.makeIterator(a.values()),c=b.next();!c.done;c=b.next())c.value.dispose();a.clear();this.updateSelectedTab()}},{key:"disposed",value:function(){this.selectedTabValue=void 0;this.invalidateAll();Object(c.b)(this.element);g(k.prototype.__proto__||Object.getPrototypeOf(k.prototype),"disposed",this).call(this)}},{key:"visible",get:function(){return this.visibility.visible}}, -{key:"selected",get:function(){return this.selectedTabValue},set:function(a){this.selectedTabValue=a;this.updateSelectedTab()}}]);return k}(h.a),t=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);return b}(a),m=function(a){function b(a,c){c=void 0===c?new d.b:c;q(this,b);var e=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));e.state=a;e.visibility=c;e.element=document.createElement("div");e.tabBar=document.createElement("div"); -e.tabLabels=new Map;e.tabsGeneration=-1;a=e.element;var g=e.tabBar;a.className="neuroglancer-tab-view";g.className="neuroglancer-tab-view-bar";a.appendChild(g);e.registerDisposer(c.changed.add(function(){e.updateTabs()}));c=e.stack=e.registerDisposer(new k(function(a){return e.state.options.get(a).getter()},e.visibility));a.appendChild(c.element);e.registerDisposer(e.state.changed.add(function(){return e.updateSelectedTab()}));e.registerDisposer(e.state.optionsChanged.add(function(){return e.updateTabs()})); +{key:"default",set:function(a){this.defaultValue!==a&&(this.defaultValue=a,this.changed.dispatch())},get:function(){return this.defaultValue}},{key:"validValue",get:function(){var a=this.selectedValue;return void 0!==a&&this.options.has(a)?a:this.defaultValue}},{key:"ready",get:function(){return this.ready_},set:function(a){if(a!==this.ready_){if(this.ready_=a)this.value=this.value;this.changed.dispatch()}}}]);return c}(h.a);var k=function(a){function k(a,d){d=void 0===d?new c.b:d;q(this,k);var e= +p(this,(k.__proto__||Object.getPrototypeOf(k)).call(this));e.getter=a;e.visibility=d;e.element=document.createElement("div");e.tabs=new Map;e.tabVisibilityChanged=new b.b;e.element.className="neuroglancer-stack-view";e.registerDisposer(d.changed.add(function(){return e.updateSelectedTab()}));e.updateSelectedTab();return e}n(k,a);e(k,[{key:"invalidate",value:function(a){var b=this.tabs,c=b.get(a);void 0!==c&&(c.dispose(),b.delete(a),a===this.displayedTab&&(this.displayedTab=void 0,this.updateSelectedTab()))}}, +{key:"hideTab",value:function(a){var b=this.tabs.get(a);void 0!==b&&(b.visibility.value=c.b.IGNORED,b.element.style.display="none");this.tabVisibilityChanged.dispatch(a,!1)}},{key:"showTab",value:function(a){var b=this.tabs,d=b.get(a);void 0===d&&(d=this.getter(a),this.element.appendChild(d.element),b.set(a,d));d.element.style.display=null;d.visibility.value=c.b.VISIBLE;this.tabVisibilityChanged.dispatch(a,!0)}},{key:"updateSelectedTab",value:function(){var a=this.displayedTab,b=this.visible?this.selectedTabValue: +void 0;b!==a&&(void 0!==a&&this.hideTab(a),this.displayedTab=b,void 0!==b&&this.showTab(b))}},{key:"invalidateAll",value:function(){for(var a=this.tabs,b=$jscomp.makeIterator(a.values()),c=b.next();!c.done;c=b.next())c.value.dispose();a.clear();this.updateSelectedTab()}},{key:"disposed",value:function(){this.selectedTabValue=void 0;this.invalidateAll();Object(d.b)(this.element);g(k.prototype.__proto__||Object.getPrototypeOf(k.prototype),"disposed",this).call(this)}},{key:"visible",get:function(){return this.visibility.visible}}, +{key:"selected",get:function(){return this.selectedTabValue},set:function(a){this.selectedTabValue=a;this.updateSelectedTab()}}]);return k}(h.a),t=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);return b}(a),m=function(a){function b(a,d){d=void 0===d?new c.b:d;q(this,b);var e=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));e.state=a;e.visibility=d;e.element=document.createElement("div");e.tabBar=document.createElement("div"); +e.tabLabels=new Map;e.tabsGeneration=-1;a=e.element;var g=e.tabBar;a.className="neuroglancer-tab-view";g.className="neuroglancer-tab-view-bar";a.appendChild(g);e.registerDisposer(d.changed.add(function(){e.updateTabs()}));d=e.stack=e.registerDisposer(new k(function(a){return e.state.options.get(a).getter()},e.visibility));a.appendChild(d.element);e.registerDisposer(e.state.changed.add(function(){return e.updateSelectedTab()}));e.registerDisposer(e.state.optionsChanged.add(function(){return e.updateTabs()})); e.stack.tabVisibilityChanged.add(function(a,b){a=e.tabLabels.get(a);b?a.classList.add("neuroglancer-selected-tab-label"):a.classList.remove("neuroglancer-selected-tab-label")});e.updateTabs();return e}n(b,a);e(b,[{key:"updateTabs",value:function(){this.tabsGeneration!==this.state.optionsChanged.count&&(this.destroyTabs(),this.visible&&this.makeTabs(),this.updateSelectedTab())}},{key:"updateSelectedTab",value:function(){this.stack.selected=this.state.value}},{key:"destroyTabs",value:function(){-1!== -this.tabsGeneration&&(this.stack.selected=void 0,this.tabLabels.clear(),Object(c.a)(this.tabBar),this.tabsGeneration=-1,this.stack.invalidateAll())}},{key:"makeTabs",value:function(){var a=this,b=this.tabBar,c=this.tabLabels,d=Array.from(this.state.options);d.sort(function(a,b){a=$jscomp.makeIterator(a);a.next();a=a.next().value;a=void 0===a.order?0:a.order;b=$jscomp.makeIterator(b);b.next();b=b.next().value;return a-(void 0===b.order?0:b.order)});var e={};d=$jscomp.makeIterator(d);for(var g=d.next();!g.done;e= -{id:e.id},g=d.next()){g=$jscomp.makeIterator(g.value);e.id=g.next().value;g=g.next().value.label;var k=document.createElement("div");k.classList.add("neuroglancer-tab-label");k.textContent=g;k.addEventListener("click",function(b){return function(){a.state.value=b.id}}(e));c.set(e.id,k);b.appendChild(k)}this.tabsGeneration=this.state.optionsChanged.count}},{key:"disposed",value:function(){Object(c.a)(this.tabBar);this.tabLabels.clear();Object(c.b)(this.element);g(b.prototype.__proto__||Object.getPrototypeOf(b.prototype), -"disposed",this).call(this)}},{key:"visible",get:function(){return this.visibility.visible}}]);return b}(h.a)},function(h,f,a){f.b=function(a,c){p.set(a,c)};f.a=function(a){for(var c=new q.b,b=$jscomp.makeIterator(p),d=b.next();!d.done;d=b.next()){var e=$jscomp.makeIterator(d.value);d=e.next().value;e=e.next().value;c.register(d,e(a))}return c};var q=a(46),p=new Map},function(h,f,a){var q=this&&this.__extends||function(a,f){function c(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]= -f[b]);a.prototype=null===f?Object.create(f):(c.prototype=f.prototype,new c)};h=function(a){function f(c){a.call(this);this.scheduler=c}q(f,a);f.create=function(a){return new f(a)};f.dispatch=function(a){a.subscriber.complete()};f.prototype._subscribe=function(a){var b=this.scheduler;if(b)return b.schedule(f.dispatch,0,{subscriber:a});a.complete()};return f}(a(0).Observable);f.EmptyObservable=h},function(h,f,a){f.c=function(a,f,h,c){for(;f<h;){var b=a[f];c(b)?++f:(--h,a[f]=a[h],a[h]=b)}return h};f.b= -function(a,f){if(a.length===f)return a;f=new a.constructor(f);f.set(a);return f};f.d=function(a,f,h,c){for(var b=a.length/f,d=new a.constructor(a.length*h*c),e=a.length*c,g=f*c,l=0;l<b;++l)for(var k=0;k<f;++k)for(var t=a[l*f+k],m=l*g+k,r=0;r<h;++r)for(var u=0;u<c;++u)d[r*e+u*f+m]=t;return d};f.a=function(a,f,h,c,b){c=void 0===c?0:c;for(b=void 0===b?a.length:b;c<b;){var d=c+b-1>>1,e=h(f,a[d]);if(0<e)c=d+1;else if(0>e)b=d;else return d}return~c}},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function"); +this.tabsGeneration&&(this.stack.selected=void 0,this.tabLabels.clear(),Object(d.a)(this.tabBar),this.tabsGeneration=-1,this.stack.invalidateAll())}},{key:"makeTabs",value:function(){var a=this,b=this.tabBar,c=this.tabLabels,d=Array.from(this.state.options);d.sort(function(a,b){a=$jscomp.makeIterator(a);a.next();a=a.next().value;a=void 0===a.order?0:a.order;b=$jscomp.makeIterator(b);b.next();b=b.next().value;return a-(void 0===b.order?0:b.order)});var e={};d=$jscomp.makeIterator(d);for(var g=d.next();!g.done;e= +{id:e.id},g=d.next()){g=$jscomp.makeIterator(g.value);e.id=g.next().value;g=g.next().value.label;var k=document.createElement("div");k.classList.add("neuroglancer-tab-label");k.textContent=g;k.addEventListener("click",function(b){return function(){a.state.value=b.id}}(e));c.set(e.id,k);b.appendChild(k)}this.tabsGeneration=this.state.optionsChanged.count}},{key:"disposed",value:function(){Object(d.a)(this.tabBar);this.tabLabels.clear();Object(d.b)(this.element);g(b.prototype.__proto__||Object.getPrototypeOf(b.prototype), +"disposed",this).call(this)}},{key:"visible",get:function(){return this.visibility.visible}}]);return b}(h.a)},function(h,f,a){f.b=function(a,d){p.set(a,d)};f.a=function(a){for(var d=new q.b,b=$jscomp.makeIterator(p),c=b.next();!c.done;c=b.next()){var e=$jscomp.makeIterator(c.value);c=e.next().value;e=e.next().value;d.register(c,e(a))}return d};var q=a(46),p=new Map},function(h,f,a){var q=this&&this.__extends||function(a,f){function d(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]= +f[b]);a.prototype=null===f?Object.create(f):(d.prototype=f.prototype,new d)};h=function(a){function f(d){a.call(this);this.scheduler=d}q(f,a);f.create=function(a){return new f(a)};f.dispatch=function(a){a.subscriber.complete()};f.prototype._subscribe=function(a){var b=this.scheduler;if(b)return b.schedule(f.dispatch,0,{subscriber:a});a.complete()};return f}(a(0).Observable);f.EmptyObservable=h},function(h,f,a){f.c=function(a,f,h,d){for(;f<h;){var b=a[f];d(b)?++f:(--h,a[f]=a[h],a[h]=b)}return h};f.b= +function(a,f){if(a.length===f)return a;f=new a.constructor(f);f.set(a);return f};f.d=function(a,f,h,d){for(var b=a.length/f,c=new a.constructor(a.length*h*d),e=a.length*d,g=f*d,l=0;l<b;++l)for(var k=0;k<f;++k)for(var t=a[l*f+k],m=l*g+k,r=0;r<h;++r)for(var u=0;u<d;++u)c[r*e+u*f+m]=t;return c};f.a=function(a,f,h,d,b){d=void 0===d?0:d;for(b=void 0===b?a.length:b;d<b;){var c=d+b-1>>1,e=h(f,a[c]);if(0<e)d=c+1;else if(0>e)b=c;else return c}return~d}},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function"); }function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return A}); -a.d(f,"c",function(){return z});a.d(f,"b",function(){return D});a.d(f,"d",function(){return E});h=a(10);var c=a.n(h),b=a(30);h=a(23);var d=a(39),e=a(75);f=a(1);var g=a(2),l=a(22),k=a(7),t=a(29),m=a(98),r=a(24),u=a(52);a=a(15);var v=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),w=function C(a,b,c){null=== +a.d(f,"c",function(){return z});a.d(f,"b",function(){return D});a.d(f,"d",function(){return E});h=a(10);var d=a.n(h),b=a(30);h=a(24);var c=a(39),e=a(76);f=a(1);var g=a(2),l=a(23),k=a(7),t=a(29),m=a(99),r=a(25),u=a(52);a=a(15);var v=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),w=function C(a,b,c){null=== a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return C(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},y=this&&this.__decorate||function(a,b,c,d){var e=arguments.length,g=3>e?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d,k;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var l=a.length-1;0<=l;l--)if(k=a[l])g=(3>e?k(g):3<e? -k(b,c,g):k(b,c))||g;return 3<e&&g&&Object.defineProperty(b,c,g),g},x=g.k.create(),A=function(a){function l(a,b,d){q(this,l);var e=p(this,(l.__proto__||Object.getPrototypeOf(l)).call(this));e.chunkManager=a;e.layerManager=b;e.navigationState=d;e.gl=e.chunkManager.gl;e.dataToViewport=g.k.create();e.viewportToDevice=g.k.create();e.dataToDevice=g.k.create();e.visibleChunks=new Map;e.viewChanged=new k.a;e.renderingStale=!0;e.visibleChunksStale=!0;e.visibleLayerList=[];e.newVisibleLayers=new Set;e.offscreenFramebuffer= -e.registerDisposer(new m.b(e.gl,{colorBuffers:Object(m.e)(e.gl,1),depthBuffer:new m.d(e.gl)}));e.numVisibleChunks=0;e.updateVisibleLayers=e.registerCancellable(c()(function(){e.updateVisibleLayersNow()},0));e.invalidateVisibleSources=function(){e.visibleSourcesStale=!0;e.viewChanged.dispatch()};e.setViewportSizeDebounced=e.registerCancellable(c()(function(a,b){return e.setViewportSize(a,b)},0));g.k.identity(e.dataToViewport);e.initializeCounterpart(e.chunkManager.rpc,{chunkManager:a.rpcId});e.registerDisposer(d.changed.add(function(){e.updateViewportFromNavigationState()})); +k(b,c,g):k(b,c))||g;return 3<e&&g&&Object.defineProperty(b,c,g),g},x=g.k.create(),A=function(a){function l(a,b,c){q(this,l);var e=p(this,(l.__proto__||Object.getPrototypeOf(l)).call(this));e.chunkManager=a;e.layerManager=b;e.navigationState=c;e.gl=e.chunkManager.gl;e.dataToViewport=g.k.create();e.viewportToDevice=g.k.create();e.dataToDevice=g.k.create();e.visibleChunks=new Map;e.viewChanged=new k.a;e.renderingStale=!0;e.visibleChunksStale=!0;e.visibleLayerList=[];e.newVisibleLayers=new Set;e.offscreenFramebuffer= +e.registerDisposer(new m.b(e.gl,{colorBuffers:Object(m.e)(e.gl,1),depthBuffer:new m.d(e.gl)}));e.numVisibleChunks=0;e.updateVisibleLayers=e.registerCancellable(d()(function(){e.updateVisibleLayersNow()},0));e.invalidateVisibleSources=function(){e.visibleSourcesStale=!0;e.viewChanged.dispatch()};e.setViewportSizeDebounced=e.registerCancellable(d()(function(a,b){return e.setViewportSize(a,b)},0));g.k.identity(e.dataToViewport);e.initializeCounterpart(e.chunkManager.rpc,{chunkManager:a.rpcId});e.registerDisposer(c.changed.add(function(){e.updateViewportFromNavigationState()})); e.updateViewportFromNavigationState();e.registerDisposer(b.layersChanged.add(function(){e.hasValidViewport&&e.updateVisibleLayers()}));e.viewChanged.add(function(){e.renderingStale=!0});e.registerDisposer(a.chunkQueueManager.visibleChunksChanged.add(e.viewChanged.dispatch));e.updateViewportFromNavigationState();e.updateVisibleLayers();return e}n(l,a);v(l,[{key:"isReady",value:function(){this.setViewportSizeDebounced.flush();if(!this.hasValidViewport)return!1;this.maybeUpdateVisibleChunks();for(var a= 0,c=$jscomp.makeIterator(this.visibleLayers.values()),d=c.next();!d.done;d=c.next()){d=$jscomp.makeIterator(d.value);for(var e=d.next();!e.done;e=d.next()){var g=e.value;e=g.source;g=this.visibleChunks.get(g.chunkLayout);if(!g)return!1;e=e.chunks;g=$jscomp.makeIterator(g);for(var k=g.next();!k.done;k=g.next())(k=e.get(k.value))&&k.state===b.d.GPU_MEMORY&&++a}}return a===this.numVisibleChunks}},{key:"updateViewportFromNavigationState",value:function(){var a=this.navigationState;a.valid&&(a.toMat4(x), -this.setViewportToDataMatrix(x))}},{key:"bindVisibleRenderLayer",value:function(a){a.redrawNeeded.add(this.viewChanged.dispatch);a.transform.changed.add(this.invalidateVisibleSources)}},{key:"unbindVisibleRenderLayer",value:function(a){a.redrawNeeded.remove(this.viewChanged.dispatch);a.transform.changed.remove(this.invalidateVisibleSources)}},{key:"updateVisibleLayersNow",value:function(){if(this.wasDisposed||!this.hasValidViewport)return!1;var a=this.visibleLayers,b=this.rpc,c={id:this.rpcId},g= -this.newVisibleLayers,k=!1,l=this.visibleLayerList;l.length=0;for(var m=$jscomp.makeIterator(this.layerManager.readyRenderLayers()),r=m.next();!r.done;r=m.next())r=r.value,r instanceof e.a&&(g.add(r),l.push(r),a.has(r)||(a.set(r.addRef(),[]),this.bindVisibleRenderLayer(r),c.layerId=r.rpcId,b.invoke(d.b,c),k=!0));l=$jscomp.makeIterator(a.keys());for(r=l.next();!r.done;r=l.next())m=r.value,g.has(m)||(a.delete(m),this.unbindVisibleRenderLayer(m),c.layerId=m.rpcId,b.invoke(d.c,c),m.dispose(),k=!0);g.clear(); +this.setViewportToDataMatrix(x))}},{key:"bindVisibleRenderLayer",value:function(a){a.redrawNeeded.add(this.viewChanged.dispatch);a.transform.changed.add(this.invalidateVisibleSources)}},{key:"unbindVisibleRenderLayer",value:function(a){a.redrawNeeded.remove(this.viewChanged.dispatch);a.transform.changed.remove(this.invalidateVisibleSources)}},{key:"updateVisibleLayersNow",value:function(){if(this.wasDisposed||!this.hasValidViewport)return!1;var a=this.visibleLayers,b=this.rpc,d={id:this.rpcId},g= +this.newVisibleLayers,k=!1,l=this.visibleLayerList;l.length=0;for(var m=$jscomp.makeIterator(this.layerManager.readyRenderLayers()),r=m.next();!r.done;r=m.next())r=r.value,r instanceof e.a&&(g.add(r),l.push(r),a.has(r)||(a.set(r.addRef(),[]),this.bindVisibleRenderLayer(r),d.layerId=r.rpcId,b.invoke(c.b,d),k=!0));l=$jscomp.makeIterator(a.keys());for(r=l.next();!r.done;r=l.next())m=r.value,g.has(m)||(a.delete(m),this.unbindVisibleRenderLayer(m),d.layerId=m.rpcId,b.invoke(c.c,d),m.dispose(),k=!0);g.clear(); k&&(this.visibleSourcesStale=!0);this.viewChanged.dispatch();return k}},{key:"onViewportChanged",value:function(){var a=this.width,b=this.height,c=this.viewportToDevice,d=this.dataToViewport,e=this.dataToDevice;g.k.ortho(c,-a/2,a/2,b/2,-b/2,-10,10);g.k.multiply(e,c,d);this.visibleChunksStale=!0;this.viewChanged.dispatch()}},{key:"setViewportSize",value:function(a,b){this.setViewportSizeDebounced.cancel();return w(l.prototype.__proto__||Object.getPrototypeOf(l.prototype),"setViewportSize",this).call(this, -a,b)?(this.rpc.invoke(d.g,{id:this.rpcId,width:a,height:b}),!0):!1}},{key:"onViewportToDataMatrixChanged",value:function(){var a=this.viewportToData,b=this.dataToViewport;g.k.invert(b,a);Object(g.o)(b);this.rpc.invoke(d.g,{id:this.rpcId,viewportToData:a})}},{key:"onHasValidViewport",value:function(){this.updateVisibleLayers()}},{key:"updateRendering",value:function(){this.setViewportSizeDebounced.flush();if(this.renderingStale&&this.hasValidViewport&&0!==this.width&&0!==this.height){this.renderingStale= +a,b)?(this.rpc.invoke(c.g,{id:this.rpcId,width:a,height:b}),!0):!1}},{key:"onViewportToDataMatrixChanged",value:function(){var a=this.viewportToData,b=this.dataToViewport;g.k.invert(b,a);Object(g.o)(b);this.rpc.invoke(c.g,{id:this.rpcId,viewportToData:a})}},{key:"onHasValidViewport",value:function(){this.updateVisibleLayers()}},{key:"updateRendering",value:function(){this.setViewportSizeDebounced.flush();if(this.renderingStale&&this.hasValidViewport&&0!==this.width&&0!==this.height){this.renderingStale= !1;this.maybeUpdateVisibleChunks();var a=this.gl,b=this.offscreenFramebuffer;b.bind(this.width,this.height);a.disable(a.SCISSOR_TEST);a.clearStencil(0);a.clearColor(0,0,0,0);a.colorMask(!0,!0,!0,!0);a.clear(a.COLOR_BUFFER_BIT);a.enable(a.STENCIL_TEST);a.disable(a.DEPTH_TEST);a.stencilOpSeparate(a.FRONT_AND_BACK,a.KEEP,a.KEEP,a.REPLACE);for(var c=0,d=$jscomp.makeIterator(this.visibleLayerList),e=d.next();!e.done;e=d.next())e=e.value,a.clear(a.STENCIL_BUFFER_BIT),a.stencilFuncSeparate(a.FRONT_AND_BACK, a.GREATER,1,1),e.setGLBlendMode(a,c),e.draw(this),++c;a.disable(a.BLEND);a.disable(a.STENCIL_TEST);b.unbind()}}},{key:"maybeUpdateVisibleChunks",value:function(){this.updateVisibleLayers.flush();if(!this.visibleChunksStale&&!this.visibleSourcesStale)return!1;this.visibleChunksStale=!1;this.updateVisibleChunks();return!0}},{key:"updateVisibleChunks",value:function(){var a=this.visibleChunks,b=0;this.computeVisibleChunks(function(b){var c=a.get(b);void 0===c?(c=[],a.set(b,c)):c.length=0;return c},function(a, -c,d,e){a=Object(g.t)(d);c[c.length]=a;b+=e.length});this.numVisibleChunks=b}},{key:"disposed",value:function(){for(var a=$jscomp.makeIterator(this.visibleLayers.keys()),b=a.next();!b.done;b=a.next())b=b.value,this.unbindVisibleRenderLayer(b),b.dispose();this.visibleLayers.clear();this.visibleLayerList.length=0}}]);return l}(Object(t.c)(d.h));A=y([Object(a.g)(d.f)],A);var z=function(a){function b(a,c){q(this,b);a=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,c));a.spec=c.spec;return a} +c,d,e){a=Object(g.t)(d);c[c.length]=a;b+=e.length});this.numVisibleChunks=b}},{key:"disposed",value:function(){for(var a=$jscomp.makeIterator(this.visibleLayers.keys()),b=a.next();!b.done;b=a.next())b=b.value,this.unbindVisibleRenderLayer(b),b.dispose();this.visibleLayers.clear();this.visibleLayerList.length=0}}]);return l}(Object(t.c)(c.h));A=y([Object(a.g)(c.f)],A);var z=function(a){function b(a,c){q(this,b);a=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,c));a.spec=c.spec;return a} n(b,a);v(b,[{key:"initializeCounterpart",value:function(a,c){c.spec=this.spec.toObject();w(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"initializeCounterpart",this).call(this,a,c)}}],[{key:"encodeOptions",value:function(a){var c=w(b.__proto__||Object.getPrototypeOf(b),"encodeOptions",this).call(this,a);c.spec=a.spec.toObject();return c}}]);return b}(h.e),D=function(a){function c(a,d){q(this,c);a=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this,a));a.chunkGridPosition=d.chunkGridPosition; a.state=b.d.SYSTEM_MEMORY;return a}n(c,a);return c}(h.b),E=function(a){function b(a,c){q(this,b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.gl=a;d.copyVertexPositionsBuffer=Object(u.a)(d.gl);d.textureCoordinateAdjustment=new Float32Array(4);var e=new r.a(a);e.addVarying("vec2","vTexCoord");e.addUniform("sampler2D","uSampler");e.addInitializer(function(b){a.uniform1i(b.uniform("uSampler"),0)});e.addUniform("vec4","uColorFactor");e.addUniform("vec4","uBackgroundColor");e.addUniform("mat4", "uProjectionMatrix");e.addUniform("vec4","uTextureCoordinateAdjustment");e.require(c);e.setFragmentMain("\nvec4 sampledColor = texture(uSampler, vTexCoord);\nif (sampledColor.a == 0.0) {\n sampledColor = uBackgroundColor;\n}\nemit(sampledColor * uColorFactor, vec4(0,0,0,0));\n");e.addAttribute("vec4","aVertexPosition");e.setVertexMain("\nvTexCoord = uTextureCoordinateAdjustment.xy + 0.5 * (aVertexPosition.xy + 1.0) * uTextureCoordinateAdjustment.zw;\ngl_Position = uProjectionMatrix * aVertexPosition;\n"); d.shader=d.registerDisposer(e.build());return d}n(b,a);v(b,[{key:"draw",value:function(a,b,c,d,e,g,k,l){var m=this.gl,r=this.shader,t=this.textureCoordinateAdjustment;t[0]=e;t[1]=g;t[2]=k-e;t[3]=l-g;r.bind();m.activeTexture(m.TEXTURE0);m.bindTexture(m.TEXTURE_2D,a);m.uniformMatrix4fv(r.uniform("uProjectionMatrix"),!1,b);m.uniform4fv(r.uniform("uColorFactor"),c);m.uniform4fv(r.uniform("uBackgroundColor"),d);m.uniform4fv(r.uniform("uTextureCoordinateAdjustment"),t);a=r.attribute("aVertexPosition"); this.copyVertexPositionsBuffer.bindToVertexAttrib(a,2);m.drawArrays(m.TRIANGLE_FAN,0,4);m.disableVertexAttribArray(a);m.bindTexture(m.TEXTURE_2D,null)}}],[{key:"get",value:function(a,c){return a.memoize.get("sliceview/SliceViewRenderHelper:"+Object(l.a)(c),function(){return new b(a,c)})}}]);return b}(f.a)},function(h,f){},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); -return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b){void 0===b&&(b=-1===a.indexOf("/")?":":"/");a=a.lastIndexOf(b);return-1===a?0:a+1}a.d(f,"a",function(){return g}); -a.d(f,"b",function(){return k});var b=a(32),d=a(61);h=a(1);var e=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),g=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);return b}(h.a),l=/^(?:([a-zA-Z-+_]+):\/\/)?(.*)$/,k=function(a){function g(){q(this, +return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function d(a,b){void 0===b&&(b=-1===a.indexOf("/")?":":"/");a=a.lastIndexOf(b);return-1===a?0:a+1}a.d(f,"a",function(){return g}); +a.d(f,"b",function(){return k});var b=a(32),c=a(62);h=a(1);var e=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),g=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);return b}(h.a),l=/^(?:([a-zA-Z-+_]+):\/\/)?(.*)$/,k=function(a){function g(){q(this, g);var a=p(this,(g.__proto__||Object.getPrototypeOf(g)).apply(this,arguments));a.dataSources=new Map;return a}n(g,a);e(g,[{key:"register",value:function(a,b){this.dataSources.set(a,this.registerDisposer(b))}},{key:"getDataSource",value:function(a){a=a.match(l);if(null===a||void 0===a[1])throw Error('Data source URL must have the form "<protocol>://<path>".');var b=a[1],c=this.dataSources.get(b);if(void 0===c)throw Error("Unsupported data source: "+JSON.stringify(b)+".");return[c,a[2],b]}},{key:"getVolume", value:function(a,c,d,e){d=void 0===d?{}:d;e=void 0===e?b.e:e;c=$jscomp.makeIterator(this.getDataSource(c));var g=c.next().value,k=c.next().value;return new Promise(function(b){b(g.getVolume(a,k,d,e))})}},{key:"getAnnotationSource",value:function(a,c,d){d=void 0===d?b.e:d;c=$jscomp.makeIterator(this.getDataSource(c));var e=c.next().value,g=c.next().value;return new Promise(function(b){b(e.getAnnotationSource(a,g,d))})}},{key:"getVectorGraphicsSource",value:function(a,c,d,e){d=void 0===d?{}:d;e=void 0=== e?b.e:e;c=$jscomp.makeIterator(this.getDataSource(c));var g=c.next().value,k=c.next().value;return new Promise(function(b){b(g.getVectorGraphicsSource(a,k,d,e))})}},{key:"getMeshSource",value:function(a,c,d){d=void 0===d?b.e:d;c=$jscomp.makeIterator(this.getDataSource(c));var e=c.next().value,g=c.next().value;return new Promise(function(b){b(e.getMeshSource(a,g,d))})}},{key:"getSkeletonSource",value:function(a,c,d){d=void 0===d?b.e:d;c=$jscomp.makeIterator(this.getDataSource(c));var e=c.next().value, -g=c.next().value;return new Promise(function(b){b(e.getSkeletonSource(a,g,d))})}},{key:"volumeCompleter",value:function(a,c,e){e=void 0===e?b.e:e;var g=a.match(l),k=g[1];if(void 0===k){c=[];e=$jscomp.makeIterator(this.dataSources);for(g=e.next();!g.done;g=e.next()){var m=$jscomp.makeIterator(g.value);g=m.next().value;m=m.next().value;g+="://";g.startsWith(a)&&c.push({value:g,description:m.description})}return Promise.resolve({offset:0,completions:c})}a=this.dataSources.get(k);return void 0!==a&&void 0!== -a.volumeCompleter?a.volumeCompleter(g[2],c,e).then(function(a){return Object(d.a)(k.length+3,a)}):Promise.reject(null)}},{key:"suggestLayerName",value:function(a){a=$jscomp.makeIterator(this.getDataSource(a));var b=a.next().value;a=a.next().value;b=b.suggestLayerName;if(void 0!==b)return b(a);b=c(a,void 0);return a.substring(b)}},{key:"findSourceGroup",value:function(a){var b=$jscomp.makeIterator(this.getDataSource(a));a=b.next().value;var d=b.next().value;b=b.next().value;return(a.findSourceGroup|| -c)(d)+b.length+3}}]);return g}(h.a)},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a, -b):a.__proto__=b)}a.d(f,"b",function(){return e});a.d(f,"a",function(){return l});var n=a(79);h=a(1);var c=a(60),b=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),d=function t(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!== -a)return t(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(283);var e=0,g=c.a.fromObject({escape:{action:"close"}}),l=function(a){function l(){if(!(this instanceof l))throw new TypeError("Cannot call a class as a function");var a=q(this,(l.__proto__||Object.getPrototypeOf(l)).call(this));a.keyMap=new c.a;a.keyMap.addParent(g,Number.NEGATIVE_INFINITY);++e;var b=a.container=document.createElement("div");b.className="overlay";var d=a.content=document.createElement("div"); -a.registerDisposer(new n.a(d));d.className="overlay-content";b.appendChild(d);document.body.appendChild(b);a.registerDisposer(new c.b(a.container,a.keyMap));a.registerEventListener(b,"action:close",function(){a.dispose()});d.focus();return a}p(l,a);b(l,[{key:"disposed",value:function(){--e;document.body.removeChild(this.container);d(l.prototype.__proto__||Object.getPrototypeOf(l.prototype),"disposed",this).call(this)}}]);return l}(h.a)},function(h,f,a){(function(a,f){h.exports=f()})(this,function(){function a(a){return new RegExp("(^|\\s)"+ -a+"(?:$|\\s)\\s*")}function f(a){for(var b=a.childNodes.length;0<b;--b)a.removeChild(a.firstChild);return a}function h(a,b){return f(a).appendChild(b)}function c(a,b,c,d){a=document.createElement(a);c&&(a.className=c);d&&(a.style.cssText=d);if("string"==typeof b)a.appendChild(document.createTextNode(b));else if(b)for(c=0;c<b.length;++c)a.appendChild(b[c]);return a}function b(a,b,d,e){a=c(a,b,d,e);a.setAttribute("role","presentation");return a}function d(a,b){3==b.nodeType&&(b=b.parentNode);if(a.contains)return a.contains(b); +g=c.next().value;return new Promise(function(b){b(e.getSkeletonSource(a,g,d))})}},{key:"volumeCompleter",value:function(a,d,e){e=void 0===e?b.e:e;var g=a.match(l),k=g[1];if(void 0===k){d=[];e=$jscomp.makeIterator(this.dataSources);for(g=e.next();!g.done;g=e.next()){var m=$jscomp.makeIterator(g.value);g=m.next().value;m=m.next().value;g+="://";g.startsWith(a)&&d.push({value:g,description:m.description})}return Promise.resolve({offset:0,completions:d})}a=this.dataSources.get(k);return void 0!==a&&void 0!== +a.volumeCompleter?a.volumeCompleter(g[2],d,e).then(function(a){return Object(c.a)(k.length+3,a)}):Promise.reject(null)}},{key:"suggestLayerName",value:function(a){a=$jscomp.makeIterator(this.getDataSource(a));var b=a.next().value;a=a.next().value;b=b.suggestLayerName;if(void 0!==b)return b(a);b=d(a,void 0);return a.substring(b)}},{key:"findSourceGroup",value:function(a){var b=$jscomp.makeIterator(this.getDataSource(a));a=b.next().value;var c=b.next().value;b=b.next().value;return(a.findSourceGroup|| +d)(c)+b.length+3}}]);return g}(h.a)},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a, +b):a.__proto__=b)}a.d(f,"b",function(){return e});a.d(f,"a",function(){return l});var n=a(79);h=a(1);var d=a(61),b=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),c=function t(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!== +a)return t(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(283);var e=0,g=d.a.fromObject({escape:{action:"close"}}),l=function(a){function l(){if(!(this instanceof l))throw new TypeError("Cannot call a class as a function");var a=q(this,(l.__proto__||Object.getPrototypeOf(l)).call(this));a.keyMap=new d.a;a.keyMap.addParent(g,Number.NEGATIVE_INFINITY);++e;var b=a.container=document.createElement("div");b.className="overlay";var c=a.content=document.createElement("div"); +a.registerDisposer(new n.a(c));c.className="overlay-content";b.appendChild(c);document.body.appendChild(b);a.registerDisposer(new d.b(a.container,a.keyMap));a.registerEventListener(b,"action:close",function(){a.dispose()});c.focus();return a}p(l,a);b(l,[{key:"disposed",value:function(){--e;document.body.removeChild(this.container);c(l.prototype.__proto__||Object.getPrototypeOf(l.prototype),"disposed",this).call(this)}}]);return l}(h.a)},function(h,f,a){(function(a,f){h.exports=f()})(this,function(){function a(a){return new RegExp("(^|\\s)"+ +a+"(?:$|\\s)\\s*")}function f(a){for(var b=a.childNodes.length;0<b;--b)a.removeChild(a.firstChild);return a}function h(a,b){return f(a).appendChild(b)}function d(a,b,c,d){a=document.createElement(a);c&&(a.className=c);d&&(a.style.cssText=d);if("string"==typeof b)a.appendChild(document.createTextNode(b));else if(b)for(c=0;c<b.length;++c)a.appendChild(b[c]);return a}function b(a,b,c,e){a=d(a,b,c,e);a.setAttribute("role","presentation");return a}function c(a,b){3==b.nodeType&&(b=b.parentNode);if(a.contains)return a.contains(b); do if(11==b.nodeType&&(b=b.host),b==a)return!0;while(b=b.parentNode)}function e(){try{var a=document.activeElement}catch(la){a=document.body||null}for(;a&&a.shadowRoot&&a.shadowRoot.activeElement;)a=a.shadowRoot.activeElement;return a}function g(b,c){var d=b.className;a(c).test(d)||(b.className+=(d?" ":"")+c)}function l(b,c){b=b.split(" ");for(var d=0;d<b.length;d++)b[d]&&!a(b[d]).test(c)&&(c+=" "+b[d]);return c}function k(a){var b=Array.prototype.slice.call(arguments,1);return function(){return a.apply(null, -b)}}function t(a,b,c){b||(b={});for(var d in a)!a.hasOwnProperty(d)||!1===c&&b.hasOwnProperty(d)||(b[d]=a[d]);return b}function m(a,b,c,d,e){null==b&&(b=a.search(/[^\s\u00a0]/),-1==b&&(b=a.length));d=d||0;for(e=e||0;;){var g=a.indexOf("\t",d);if(0>g||g>=b)return e+(b-d);e+=g-d;e+=c-e%c;d=g+1}}function r(a,b){for(var c=0;c<a.length;++c)if(a[c]==b)return c;return-1}function u(a,b,c){for(var d=0,e=0;;){var g=a.indexOf("\t",d);-1==g&&(g=a.length);var J=g-d;if(g==a.length||e+J>=b)return d+Math.min(J,b- +b)}}function t(a,b,c){b||(b={});for(var d in a)!a.hasOwnProperty(d)||!1===c&&b.hasOwnProperty(d)||(b[d]=a[d]);return b}function m(a,b,c,d,e){null==b&&(b=a.search(/[^\s\u00a0]/),-1==b&&(b=a.length));d=d||0;for(e=e||0;;){var g=a.indexOf("\t",d);if(0>g||g>=b)return e+(b-d);e+=g-d;e+=c-e%c;d=g+1}}function r(a,b){for(var c=0;c<a.length;++c)if(a[c]==b)return c;return-1}function u(a,b,c){for(var d=0,e=0;;){var g=a.indexOf("\t",d);-1==g&&(g=a.length);var I=g-d;if(g==a.length||e+I>=b)return d+Math.min(I,b- e);e+=g-d;e+=c-e%c;d=g+1;if(e>=b)return d}}function v(a){for(;Oc.length<=a;)Oc.push(w(Oc)+" ");return Oc[a]}function w(a){return a[a.length-1]}function y(a,b){for(var c=[],d=0;d<a.length;d++)c[d]=b(a[d],d);return c}function x(a,b,c){for(var d=0,e=c(b);d<a.length&&c(a[d])<=e;)d++;a.splice(d,0,b)}function A(){}function z(a,b){Object.create?a=Object.create(a):(A.prototype=a,a=new A);b&&t(b,a);return a}function D(a){return/\w/.test(a)||"\u0080"<a&&(a.toUpperCase()!=a.toLowerCase()||bg.test(a))}function E(a, -b){return b?-1<b.source.indexOf("\\w")&&D(a)?!0:b.test(a):D(a)}function G(a){for(var b in a)if(a.hasOwnProperty(b)&&a[b])return!1;return!0}function C(a){return 768<=a.charCodeAt(0)&&cg.test(a)}function B(a,b,c){for(;(0>c?0<b:b<a.length)&&C(a.charAt(b));)b+=c;return b}function F(a,b,c){for(var d=b>c?-1:1;;){if(b==c)return b;var e=(b+c)/2;e=0>d?Math.ceil(e):Math.floor(e);if(e==b)return a(e)?b:c;a(e)?c=e:b=e+d}}function L(a,d,e){this.input=e;this.scrollbarFiller=c("div",null,"CodeMirror-scrollbar-filler"); -this.scrollbarFiller.setAttribute("cm-not-content","true");this.gutterFiller=c("div",null,"CodeMirror-gutter-filler");this.gutterFiller.setAttribute("cm-not-content","true");this.lineDiv=b("div",null,"CodeMirror-code");this.selectionDiv=c("div",null,null,"position: relative; z-index: 1");this.cursorDiv=c("div",null,"CodeMirror-cursors");this.measure=c("div",null,"CodeMirror-measure");this.lineMeasure=c("div",null,"CodeMirror-measure");this.lineSpace=b("div",[this.measure,this.lineMeasure,this.selectionDiv, -this.cursorDiv,this.lineDiv],null,"position: relative; outline: none");var g=b("div",[this.lineSpace],"CodeMirror-lines");this.mover=c("div",[g],null,"position: relative");this.sizer=c("div",[this.mover],"CodeMirror-sizer");this.sizerWidth=null;this.heightForcer=c("div",null,null,"position: absolute; height: 30px; width: 1px;");this.gutters=c("div",null,"CodeMirror-gutters");this.lineGutter=null;this.scroller=c("div",[this.sizer,this.heightForcer,this.gutters],"CodeMirror-scroll");this.scroller.setAttribute("tabIndex", -"-1");this.wrapper=c("div",[this.scrollbarFiller,this.gutterFiller,this.scroller],"CodeMirror");V&&8>ca&&(this.gutters.style.zIndex=-1,this.scroller.style.paddingRight=0);sa||eb&&Yb||(this.scroller.draggable=!0);a&&(a.appendChild?a.appendChild(this.wrapper):a(this.wrapper));this.reportedViewFrom=this.reportedViewTo=this.viewFrom=this.viewTo=d.first;this.view=[];this.externalMeasured=this.renderedView=null;this.lastWrapHeight=this.lastWrapWidth=this.viewOffset=0;this.updateLineNumbers=null;this.nativeBarWidth= -this.barHeight=this.barWidth=0;this.scrollbarsClipped=!1;this.lineNumWidth=this.lineNumInnerWidth=this.lineNumChars=null;this.alignWidgets=!1;this.maxLine=this.cachedCharWidth=this.cachedTextHeight=this.cachedPaddingH=null;this.maxLineLength=0;this.maxLineChanged=!1;this.wheelDX=this.wheelDY=this.wheelStartX=this.wheelStartY=null;this.shift=!1;this.activeTouch=this.selForContextMenu=null;e.init(this)}function I(a,b){b-=a.first;if(0>b||b>=a.size)throw Error("There is no line "+(b+a.first)+" in the document."); +b){return b?-1<b.source.indexOf("\\w")&&D(a)?!0:b.test(a):D(a)}function G(a){for(var b in a)if(a.hasOwnProperty(b)&&a[b])return!1;return!0}function C(a){return 768<=a.charCodeAt(0)&&cg.test(a)}function B(a,b,c){for(;(0>c?0<b:b<a.length)&&C(a.charAt(b));)b+=c;return b}function F(a,b,c){for(var d=b>c?-1:1;;){if(b==c)return b;var e=(b+c)/2;e=0>d?Math.ceil(e):Math.floor(e);if(e==b)return a(e)?b:c;a(e)?c=e:b=e+d}}function L(a,c,e){this.input=e;this.scrollbarFiller=d("div",null,"CodeMirror-scrollbar-filler"); +this.scrollbarFiller.setAttribute("cm-not-content","true");this.gutterFiller=d("div",null,"CodeMirror-gutter-filler");this.gutterFiller.setAttribute("cm-not-content","true");this.lineDiv=b("div",null,"CodeMirror-code");this.selectionDiv=d("div",null,null,"position: relative; z-index: 1");this.cursorDiv=d("div",null,"CodeMirror-cursors");this.measure=d("div",null,"CodeMirror-measure");this.lineMeasure=d("div",null,"CodeMirror-measure");this.lineSpace=b("div",[this.measure,this.lineMeasure,this.selectionDiv, +this.cursorDiv,this.lineDiv],null,"position: relative; outline: none");var g=b("div",[this.lineSpace],"CodeMirror-lines");this.mover=d("div",[g],null,"position: relative");this.sizer=d("div",[this.mover],"CodeMirror-sizer");this.sizerWidth=null;this.heightForcer=d("div",null,null,"position: absolute; height: 30px; width: 1px;");this.gutters=d("div",null,"CodeMirror-gutters");this.lineGutter=null;this.scroller=d("div",[this.sizer,this.heightForcer,this.gutters],"CodeMirror-scroll");this.scroller.setAttribute("tabIndex", +"-1");this.wrapper=d("div",[this.scrollbarFiller,this.gutterFiller,this.scroller],"CodeMirror");V&&8>ca&&(this.gutters.style.zIndex=-1,this.scroller.style.paddingRight=0);sa||eb&&Yb||(this.scroller.draggable=!0);a&&(a.appendChild?a.appendChild(this.wrapper):a(this.wrapper));this.reportedViewFrom=this.reportedViewTo=this.viewFrom=this.viewTo=c.first;this.view=[];this.externalMeasured=this.renderedView=null;this.lastWrapHeight=this.lastWrapWidth=this.viewOffset=0;this.updateLineNumbers=null;this.nativeBarWidth= +this.barHeight=this.barWidth=0;this.scrollbarsClipped=!1;this.lineNumWidth=this.lineNumInnerWidth=this.lineNumChars=null;this.alignWidgets=!1;this.maxLine=this.cachedCharWidth=this.cachedTextHeight=this.cachedPaddingH=null;this.maxLineLength=0;this.maxLineChanged=!1;this.wheelDX=this.wheelDY=this.wheelStartX=this.wheelStartY=null;this.shift=!1;this.activeTouch=this.selForContextMenu=null;e.init(this)}function J(a,b){b-=a.first;if(0>b||b>=a.size)throw Error("There is no line "+(b+a.first)+" in the document."); for(;!a.lines;)for(var c=0;;++c){var d=a.children[c],e=d.chunkSize();if(b<e){a=d;break}b-=e}return a.lines[b]}function O(a,b,c){var d=[],e=b.line;a.iter(b.line,c.line+1,function(a){a=a.text;e==c.line&&(a=a.slice(0,c.ch));e==b.line&&(a=a.slice(b.ch));d.push(a);++e});return d}function M(a,b,c){var d=[];a.iter(b,c,function(a){d.push(a.text)});return d}function P(a,b){if(b-=a.height)for(;a;a=a.parent)a.height+=b}function N(a){if(null==a.parent)return null;var b=a.parent;a=r(b.lines,a);for(var c=b.parent;c;b= c,c=c.parent)for(var d=0;c.children[d]!=b;++d)a+=c.children[d].chunkSize();return a+b.first}function S(a,b){var c=a.first;a:do{for(var d=0;d<a.children.length;++d){var e=a.children[d],g=e.height;if(b<g){a=e;continue a}b-=g;c+=e.chunkSize()}return c}while(!a.lines);for(d=0;d<a.lines.length;++d){e=a.lines[d].height;if(b<e)break;b-=e}return c+d}function U(a,b){return b>=a.first&&b<a.first+a.size}function Z(a,b){return String(a.lineNumberFormatter(b+a.firstLineNumber))}function H(a,b,c){void 0===c&&(c= -null);if(!(this instanceof H))return new H(a,b,c);this.line=a;this.ch=b;this.sticky=c}function Q(a,b){return a.line-b.line||a.ch-b.ch}function aa(a,b){return a.sticky==b.sticky&&0==Q(a,b)}function ba(a){return H(a.line,a.ch)}function ka(a,b){return 0>Q(a,b)?b:a}function fa(a,b){return 0>Q(a,b)?a:b}function R(a,b){if(b.line<a.first)return H(a.first,0);var c=a.first+a.size-1;if(b.line>c)return H(c,I(a,c).text.length);a=I(a,b.line).text.length;c=b.ch;b=null==c||c>a?H(b.line,a):0>c?H(b.line,0):b;return b} -function X(a,b){for(var c=[],d=0;d<b.length;d++)c[d]=R(a,b[d]);return c}function Ka(a,b,c){this.marker=a;this.from=b;this.to=c}function Ba(a,b){if(a)for(var c=0;c<a.length;++c){var d=a[c];if(d.marker==b)return d}}function Za(a,b){if(b.full)return null;var c=U(a,b.from.line)&&I(a,b.from.line).markedSpans,d=U(a,b.to.line)&&I(a,b.to.line).markedSpans;if(!c&&!d)return null;a=b.from.ch;var e=b.to.ch,g=0==Q(b.from,b.to),k;if(c)for(var J=0;J<c.length;++J){var l=c[J],m=l.marker;if(null==l.from||(m.inclusiveLeft? -l.from<=a:l.from<a)||!(l.from!=a||"bookmark"!=m.type||g&&l.marker.insertLeft)){var r=null==l.to||(m.inclusiveRight?l.to>=a:l.to>a);(k||(k=[])).push(new Ka(m,l.from,r?null:l.to))}}c=k;var t;if(d)for(k=0;k<d.length;++k)if(J=d[k],l=J.marker,null==J.to||(l.inclusiveRight?J.to>=e:J.to>e)||J.from==e&&"bookmark"==l.type&&(!g||J.marker.insertLeft))m=null==J.from||(l.inclusiveLeft?J.from<=e:J.from<e),(t||(t=[])).push(new Ka(l,m?null:J.from-e,null==J.to?null:J.to-e));d=1==b.text.length;e=w(b.text).length+(d? -a:0);if(c)for(g=0;g<c.length;++g)if(k=c[g],null==k.to)(J=Ba(t,k.marker),J)?d&&(k.to=null==J.to?null:J.to+e):k.to=a;if(t)for(a=0;a<t.length;++a)g=t[a],null!=g.to&&(g.to+=e),null==g.from?Ba(c,g.marker)||(g.from=e,d&&(c||(c=[])).push(g)):(g.from+=e,d&&(c||(c=[])).push(g));c&&(c=Ta(c));t&&t!=c&&(t=Ta(t));a=[c];if(!d){b=b.text.length-2;var f;if(0<b&&c)for(d=0;d<c.length;++d)null==c[d].to&&(f||(f=[])).push(new Ka(c[d].marker,null,null));for(c=0;c<b;++c)a.push(f);a.push(t)}return a}function Ta(a){for(var b= -0;b<a.length;++b){var c=a[b];null!=c.from&&c.from==c.to&&!1!==c.marker.clearWhenEmpty&&a.splice(b--,1)}return a.length?a:null}function Wb(a,b,c){var d=null;a.iter(b.line,c.line+1,function(a){if(a.markedSpans)for(var b=0;b<a.markedSpans.length;++b){var c=a.markedSpans[b].marker;!c.readOnly||d&&-1!=r(d,c)||(d||(d=[])).push(c)}});if(!d)return null;a=[{from:b,to:c}];for(b=0;b<d.length;++b){c=d[b];for(var e=c.find(0),g=0;g<a.length;++g){var k=a[g];if(!(0>Q(k.to,e.from)||0<Q(k.from,e.to))){var J=[g,1], -l=Q(k.from,e.from),m=Q(k.to,e.to);(0>l||!c.inclusiveLeft&&!l)&&J.push({from:k.from,to:e.from});(0<m||!c.inclusiveRight&&!m)&&J.push({from:e.to,to:k.to});a.splice.apply(a,J);g+=J.length-3}}}return a}function Eb(a){var b=a.markedSpans;if(b){for(var c=0;c<b.length;++c)b[c].marker.detachLine(a);a.markedSpans=null}}function Aa(a,b){if(b){for(var c=0;c<b.length;++c)b[c].marker.attachLine(a);a.markedSpans=b}}function Mc(a,b){var c=a.lines.length-b.lines.length;if(0!=c)return c;c=a.find();var d=b.find(), -e=Q(c.from,d.from)||(a.inclusiveLeft?-1:0)-(b.inclusiveLeft?-1:0);return e?-e:(c=Q(c.to,d.to)||(a.inclusiveRight?1:0)-(b.inclusiveRight?1:0))?c:b.id-a.id}function wa(a,b){a=fb&&a.markedSpans;if(a)for(var c,d=0;d<a.length;++d)if(c=a[d],c.marker.collapsed&&null==(b?c.from:c.to)&&(!e||0>Mc(e,c.marker)))var e=c.marker;return e}function Fb(a,b,c,d,e){a=I(a,b);if(a=fb&&a.markedSpans)for(b=0;b<a.length;++b){var g=a[b];if(g.marker.collapsed){var k=g.marker.find(0),J=Q(k.from,c)||(g.marker.inclusiveLeft?-1: -0)-(e.inclusiveLeft?-1:0),l=Q(k.to,d)||(g.marker.inclusiveRight?1:0)-(e.inclusiveRight?1:0);if(!(0<=J&&0>=l||0>=J&&0<=l)&&(0>=J&&(g.marker.inclusiveRight&&e.inclusiveLeft?0<=Q(k.to,c):0<Q(k.to,c))||0<=J&&(g.marker.inclusiveRight&&e.inclusiveLeft?0>=Q(k.from,d):0>Q(k.from,d))))return!0}}}function Ga(a){for(var b;b=wa(a,!0);)a=b.find(-1,!0).line;return a}function Xb(a,b){a=I(a,b);var c=Ga(a);return a==c?b:N(c)}function Nc(a,b){if(b>a.lastLine())return b;var c=I(a,b);if(!$a(a,c))return b;for(;a=wa(c, +null);if(!(this instanceof H))return new H(a,b,c);this.line=a;this.ch=b;this.sticky=c}function Q(a,b){return a.line-b.line||a.ch-b.ch}function aa(a,b){return a.sticky==b.sticky&&0==Q(a,b)}function ba(a){return H(a.line,a.ch)}function ka(a,b){return 0>Q(a,b)?b:a}function fa(a,b){return 0>Q(a,b)?a:b}function R(a,b){if(b.line<a.first)return H(a.first,0);var c=a.first+a.size-1;if(b.line>c)return H(c,J(a,c).text.length);a=J(a,b.line).text.length;c=b.ch;b=null==c||c>a?H(b.line,a):0>c?H(b.line,0):b;return b} +function X(a,b){for(var c=[],d=0;d<b.length;d++)c[d]=R(a,b[d]);return c}function Ka(a,b,c){this.marker=a;this.from=b;this.to=c}function Ba(a,b){if(a)for(var c=0;c<a.length;++c){var d=a[c];if(d.marker==b)return d}}function Za(a,b){if(b.full)return null;var c=U(a,b.from.line)&&J(a,b.from.line).markedSpans,d=U(a,b.to.line)&&J(a,b.to.line).markedSpans;if(!c&&!d)return null;a=b.from.ch;var e=b.to.ch,g=0==Q(b.from,b.to),k;if(c)for(var I=0;I<c.length;++I){var l=c[I],m=l.marker;if(null==l.from||(m.inclusiveLeft? +l.from<=a:l.from<a)||!(l.from!=a||"bookmark"!=m.type||g&&l.marker.insertLeft)){var r=null==l.to||(m.inclusiveRight?l.to>=a:l.to>a);(k||(k=[])).push(new Ka(m,l.from,r?null:l.to))}}c=k;var t;if(d)for(k=0;k<d.length;++k)if(I=d[k],l=I.marker,null==I.to||(l.inclusiveRight?I.to>=e:I.to>e)||I.from==e&&"bookmark"==l.type&&(!g||I.marker.insertLeft))m=null==I.from||(l.inclusiveLeft?I.from<=e:I.from<e),(t||(t=[])).push(new Ka(l,m?null:I.from-e,null==I.to?null:I.to-e));d=1==b.text.length;e=w(b.text).length+(d? +a:0);if(c)for(g=0;g<c.length;++g)if(k=c[g],null==k.to)(I=Ba(t,k.marker),I)?d&&(k.to=null==I.to?null:I.to+e):k.to=a;if(t)for(a=0;a<t.length;++a)g=t[a],null!=g.to&&(g.to+=e),null==g.from?Ba(c,g.marker)||(g.from=e,d&&(c||(c=[])).push(g)):(g.from+=e,d&&(c||(c=[])).push(g));c&&(c=Ta(c));t&&t!=c&&(t=Ta(t));a=[c];if(!d){b=b.text.length-2;var f;if(0<b&&c)for(d=0;d<c.length;++d)null==c[d].to&&(f||(f=[])).push(new Ka(c[d].marker,null,null));for(c=0;c<b;++c)a.push(f);a.push(t)}return a}function Ta(a){for(var b= +0;b<a.length;++b){var c=a[b];null!=c.from&&c.from==c.to&&!1!==c.marker.clearWhenEmpty&&a.splice(b--,1)}return a.length?a:null}function Wb(a,b,c){var d=null;a.iter(b.line,c.line+1,function(a){if(a.markedSpans)for(var b=0;b<a.markedSpans.length;++b){var c=a.markedSpans[b].marker;!c.readOnly||d&&-1!=r(d,c)||(d||(d=[])).push(c)}});if(!d)return null;a=[{from:b,to:c}];for(b=0;b<d.length;++b){c=d[b];for(var e=c.find(0),g=0;g<a.length;++g){var k=a[g];if(!(0>Q(k.to,e.from)||0<Q(k.from,e.to))){var I=[g,1], +l=Q(k.from,e.from),m=Q(k.to,e.to);(0>l||!c.inclusiveLeft&&!l)&&I.push({from:k.from,to:e.from});(0<m||!c.inclusiveRight&&!m)&&I.push({from:e.to,to:k.to});a.splice.apply(a,I);g+=I.length-3}}}return a}function Eb(a){var b=a.markedSpans;if(b){for(var c=0;c<b.length;++c)b[c].marker.detachLine(a);a.markedSpans=null}}function Aa(a,b){if(b){for(var c=0;c<b.length;++c)b[c].marker.attachLine(a);a.markedSpans=b}}function Mc(a,b){var c=a.lines.length-b.lines.length;if(0!=c)return c;c=a.find();var d=b.find(), +e=Q(c.from,d.from)||(a.inclusiveLeft?-1:0)-(b.inclusiveLeft?-1:0);return e?-e:(c=Q(c.to,d.to)||(a.inclusiveRight?1:0)-(b.inclusiveRight?1:0))?c:b.id-a.id}function wa(a,b){a=fb&&a.markedSpans;if(a)for(var c,d=0;d<a.length;++d)if(c=a[d],c.marker.collapsed&&null==(b?c.from:c.to)&&(!e||0>Mc(e,c.marker)))var e=c.marker;return e}function Fb(a,b,c,d,e){a=J(a,b);if(a=fb&&a.markedSpans)for(b=0;b<a.length;++b){var g=a[b];if(g.marker.collapsed){var k=g.marker.find(0),I=Q(k.from,c)||(g.marker.inclusiveLeft?-1: +0)-(e.inclusiveLeft?-1:0),l=Q(k.to,d)||(g.marker.inclusiveRight?1:0)-(e.inclusiveRight?1:0);if(!(0<=I&&0>=l||0>=I&&0<=l)&&(0>=I&&(g.marker.inclusiveRight&&e.inclusiveLeft?0<=Q(k.to,c):0<Q(k.to,c))||0<=I&&(g.marker.inclusiveRight&&e.inclusiveLeft?0>=Q(k.from,d):0>Q(k.from,d))))return!0}}}function Ga(a){for(var b;b=wa(a,!0);)a=b.find(-1,!0).line;return a}function Xb(a,b){a=J(a,b);var c=Ga(a);return a==c?b:N(c)}function Nc(a,b){if(b>a.lastLine())return b;var c=J(a,b);if(!$a(a,c))return b;for(;a=wa(c, !1);)c=a.find(1,!0).line;return N(c)+1}function $a(a,b){var c=fb&&b.markedSpans;if(c)for(var d,e=0;e<c.length;++e)if(d=c[e],d.marker.collapsed&&(null==d.from||!d.marker.widgetNode&&0==d.from&&d.marker.inclusiveLeft&&gb(a,b,d)))return!0}function gb(a,b,c){if(null==c.to)return b=c.marker.find(1,!0),gb(a,b.line,Ba(b.line.markedSpans,c.marker));if(c.marker.inclusiveRight&&c.to==b.text.length)return!0;for(var d,e=0;e<b.markedSpans.length;++e)if(d=b.markedSpans[e],d.marker.collapsed&&!d.marker.widgetNode&& d.from==c.to&&(null==d.to||d.to!=c.from)&&(d.marker.inclusiveLeft||c.marker.inclusiveRight)&&gb(a,b,d))return!0}function Ha(a){a=Ga(a);for(var b=0,c=a.parent,d=0;d<c.lines.length;++d){var e=c.lines[d];if(e==a)break;else b+=e.height}for(a=c.parent;a;c=a,a=c.parent)for(d=0;d<a.children.length&&(e=a.children[d],e!=c);++d)b+=e.height;return b}function xa(a){if(0==a.height)return 0;for(var b=a.text.length,c,d=a;c=wa(d,!0);)c=c.find(0,!0),d=c.from.line,b+=c.from.ch-c.to.ch;for(d=a;c=wa(d,!1);)a=c.find(0, -!0),b-=d.text.length-a.from.ch,d=a.to.line,b+=d.text.length-a.to.ch;return b}function ab(a){var b=a.display;a=a.doc;b.maxLine=I(a,a.first);b.maxLineLength=xa(b.maxLine);b.maxLineChanged=!0;a.iter(function(a){var c=xa(a);c>b.maxLineLength&&(b.maxLineLength=c,b.maxLine=a)})}function qd(a,b,c,d){if(!a)return d(b,c,"ltr",0);for(var e=!1,g=0;g<a.length;++g){var k=a[g];if(k.from<c&&k.to>b||b==c&&k.to==b)d(Math.max(k.from,b),Math.min(k.to,c),1==k.level?"rtl":"ltr",g),e=!0}e||d(b,c,"ltr")}function Ua(a,b, +!0),b-=d.text.length-a.from.ch,d=a.to.line,b+=d.text.length-a.to.ch;return b}function ab(a){var b=a.display;a=a.doc;b.maxLine=J(a,a.first);b.maxLineLength=xa(b.maxLine);b.maxLineChanged=!0;a.iter(function(a){var c=xa(a);c>b.maxLineLength&&(b.maxLineLength=c,b.maxLine=a)})}function qd(a,b,c,d){if(!a)return d(b,c,"ltr",0);for(var e=!1,g=0;g<a.length;++g){var k=a[g];if(k.from<c&&k.to>b||b==c&&k.to==b)d(Math.max(k.from,b),Math.min(k.to,c),1==k.level?"rtl":"ltr",g),e=!0}e||d(b,c,"ltr")}function Ua(a,b, c){var d;Zb=null;for(var e=0;e<a.length;++e){var g=a[e];if(g.from<b&&g.to>b)return e;g.to==b&&(g.from!=g.to&&"before"==c?d=e:Zb=e);g.from==b&&(g.from!=g.to&&"before"!=c?d=e:Zb=e)}return null!=d?d:Zb}function Ca(a,b){var c=a.order;null==c&&(c=a.order=dg(a.text,b));return c}function ha(a,b,c){if(a.removeEventListener)a.removeEventListener(b,c,!1);else if(a.detachEvent)a.detachEvent("on"+b,c);else{var d=(a=a._handlers)&&a[b];d&&(c=r(d,c),-1<c&&(a[b]=d.slice(0,c).concat(d.slice(c+1))))}}function da(a, b){var c=a._handlers&&a._handlers[b]||Pc;if(c.length)for(var d=Array.prototype.slice.call(arguments,2),e=0;e<c.length;++e)c[e].apply(null,d)}function ia(a,b,c){"string"==typeof b&&(b={type:b,preventDefault:function(){this.defaultPrevented=!0}});da(a,c||b.type,a,b);return ob(b)||b.codemirrorIgnore}function $b(a){var b=a._handlers&&a._handlers.cursorActivity;if(b){a=a.curOp.cursorActivityHandlers||(a.curOp.cursorActivityHandlers=[]);for(var c=0;c<b.length;++c)-1==r(a,b[c])&&a.push(b[c])}}function Da(a, b){return 0<(a._handlers&&a._handlers[b]||Pc).length}function La(a){a.prototype.on=function(a,b){T(this,a,b)};a.prototype.off=function(a,b){ha(this,a,b)}}function na(a){a.preventDefault?a.preventDefault():a.returnValue=!1}function Qc(a){a.stopPropagation?a.stopPropagation():a.cancelBubble=!0}function ob(a){return null!=a.defaultPrevented?a.defaultPrevented:0==a.returnValue}function pb(a){na(a);Qc(a)}function ac(a){var b=a.which;null==b&&(a.button&1?b=1:a.button&2?b=3:a.button&4&&(b=2));Ma&&a.ctrlKey&& -1==b&&(b=3);return b}function hb(a){if(null==rd){var b=c("span","\u200b");h(a,c("span",[b,document.createTextNode("x")]));0!=a.firstChild.offsetHeight&&(rd=1>=b.offsetWidth&&2<b.offsetHeight&&!(V&&8>ca))}a=rd?c("span","\u200b"):c("span","\u00a0",null,"display: inline-block; width: 1px; margin-right: -1px");a.setAttribute("cm-text","");return a}function Rc(a,b){2<arguments.length&&(b.dependencies=Array.prototype.slice.call(arguments,2));sd[a]=b}function bb(a){if("string"==typeof a&&Gb.hasOwnProperty(a))a= +1==b&&(b=3);return b}function hb(a){if(null==rd){var b=d("span","\u200b");h(a,d("span",[b,document.createTextNode("x")]));0!=a.firstChild.offsetHeight&&(rd=1>=b.offsetWidth&&2<b.offsetHeight&&!(V&&8>ca))}a=rd?d("span","\u200b"):d("span","\u00a0",null,"display: inline-block; width: 1px; margin-right: -1px");a.setAttribute("cm-text","");return a}function Rc(a,b){2<arguments.length&&(b.dependencies=Array.prototype.slice.call(arguments,2));sd[a]=b}function bb(a){if("string"==typeof a&&Gb.hasOwnProperty(a))a= Gb[a];else if(a&&"string"==typeof a.name&&Gb.hasOwnProperty(a.name)){var b=Gb[a.name];"string"==typeof b&&(b={name:b});a=z(b,a);a.name=b.name}else{if("string"==typeof a&&/^[\w\-]+\/[\w\-]+\+xml$/.test(a))return bb("application/xml");if("string"==typeof a&&/^[\w\-]+\/[\w\-]+\+json$/.test(a))return bb("application/json")}return"string"==typeof a?{name:a}:a||{name:"null"}}function Na(a,b){b=bb(b);var c=sd[b.name];if(!c)return Na(a,"text/plain");a=c(a,b);if(Hb.hasOwnProperty(b.name)){c=Hb[b.name];for(var d in c)c.hasOwnProperty(d)&& (a.hasOwnProperty(d)&&(a["_"+d]=a[d]),a[d]=c[d])}a.name=b.name;b.helperType&&(a.helperType=b.helperType);if(b.modeProps)for(var e in b.modeProps)a[e]=b.modeProps[e];return a}function ta(a,b){a=Hb.hasOwnProperty(a)?Hb[a]:Hb[a]={};t(b,a)}function Oa(a,b){if(!0===b)return b;if(a.copyState)return a.copyState(b);a={};for(var c in b){var d=b[c];d instanceof Array&&(d=d.concat([]));a[c]=d}return a}function Ib(a,b){for(var c;a.innerMode;){c=a.innerMode(b);if(!c||c.mode==a)break;b=c.state;a=c.mode}return c|| -{mode:a,state:b}}function bc(a,b,c){return a.startState?a.startState(b,c):!0}function Sc(a,b,c,d){var e=[a.state.modeGen],g={};ie(a,b.text,a.doc.mode,c,function(a,b){return e.push(a,b)},g,d);var k=c.state;d=function(d){c.baseTokens=e;var l=a.state.overlays[d],J=1,m=0;c.state=!0;ie(a,b.text,l.mode,c,function(a,b){for(var c=J;m<a;){var d=e[J];d>a&&e.splice(J,1,a,e[J+1],d);J+=2;m=Math.min(a,d)}if(b)if(l.opaque)e.splice(c,J-c,a,"overlay "+b),J=c+2;else for(;c<J;c+=2)a=e[c+1],e[c+1]=(a?a+" ":"")+"overlay "+ +{mode:a,state:b}}function bc(a,b,c){return a.startState?a.startState(b,c):!0}function Sc(a,b,c,d){var e=[a.state.modeGen],g={};ie(a,b.text,a.doc.mode,c,function(a,b){return e.push(a,b)},g,d);var k=c.state;d=function(d){c.baseTokens=e;var l=a.state.overlays[d],I=1,m=0;c.state=!0;ie(a,b.text,l.mode,c,function(a,b){for(var c=I;m<a;){var d=e[I];d>a&&e.splice(I,1,a,e[I+1],d);I+=2;m=Math.min(a,d)}if(b)if(l.opaque)e.splice(c,I-c,a,"overlay "+b),I=c+2;else for(;c<I;c+=2)a=e[c+1],e[c+1]=(a?a+" ":"")+"overlay "+ b},g);c.state=k;c.baseTokens=null;c.baseTokenPos=1};for(var l=0;l<a.state.overlays.length;++l)d(l);return{styles:e,classes:g.bgClass||g.textClass?g:null}}function ib(a,b,c){if(!b.styles||b.styles[0]!=a.state.modeGen){var d=Va(a,N(b)),e=b.text.length>a.options.maxHighlightLength&&Oa(a.doc.mode,d.state),g=Sc(a,b,d);e&&(d.state=e);b.stateAfter=d.save(!e);b.styles=g.styles;g.classes?b.styleClasses=g.classes:b.styleClasses&&(b.styleClasses=null);c===a.doc.highlightFrontier&&(a.doc.modeFrontier=Math.max(a.doc.modeFrontier, -++a.doc.highlightFrontier))}return b.styles}function Va(a,b,c){var d=a.doc,e=a.display;if(!d.mode.startState)return new Wa(d,!0,b);var g=eg(a,b,c),k=g>d.first&&I(d,g-1).stateAfter,l=k?Wa.fromSaved(d,k,g):new Wa(d,bc(d.mode),g);d.iter(g,b,function(c){cc(a,c.text,l);var d=l.line;c.stateAfter=d==b-1||0==d%5||d>=e.viewFrom&&d<e.viewTo?l.save():null;l.nextLine()});c&&(d.modeFrontier=l.line);return l}function cc(a,b,c,d){var e=a.doc.mode;a=new ja(b,a.options.tabSize,c);a.start=a.pos=d||0;for(""==b&&K(e, -c.state);!a.eol();)dc(e,a,c.state),a.start=a.pos}function K(a,b){if(a.blankLine)return a.blankLine(b);if(a.innerMode&&(a=Ib(a,b),a.mode.blankLine))return a.mode.blankLine(a.state)}function dc(a,b,c,d){for(var e=0;10>e;e++){d&&(d[0]=Ib(a,c).mode);var g=a.token(b,c);if(b.pos>b.start)return g}throw Error("Mode "+a.name+" failed to advance stream.");}function je(a,b,c,d){var e=a.doc,g=e.mode;b=R(e,b);var k=I(e,b.line);c=Va(a,b.line,c);a=new ja(k.text,a.options.tabSize,c);var l;for(d&&(l=[]);(d||a.pos< -b.ch)&&!a.eol();){a.start=a.pos;var m=dc(g,a,c.state);d&&l.push(new ke(a,m,Oa(e.mode,c.state)))}return d?l:new ke(a,m,c.state)}function le(a,b){if(a)for(;;){var c=a.match(/(?:^|\s+)line-(background-)?(\S+)/);if(!c)break;a=a.slice(0,c.index)+a.slice(c.index+c[0].length);var d=c[1]?"bgClass":"textClass";null==b[d]?b[d]=c[2]:(new RegExp("(?:^|s)"+c[2]+"(?:$|s)")).test(b[d])||(b[d]+=" "+c[2])}return a}function ie(a,b,c,d,e,g,k){var l=c.flattenSpans;null==l&&(l=a.options.flattenSpans);var m=0,J=null,r= -new ja(b,a.options.tabSize,d),t=a.options.addModeClass&&[null];for(""==b&&le(K(c,d.state),g);!r.eol();){if(r.pos>a.options.maxHighlightLength){l=!1;k&&cc(a,b,d,r.pos);r.pos=b.length;var f=null}else f=le(dc(c,r,d.state,t),g);if(t){var u=t[0].name;u&&(f="m-"+(f?u+" "+f:u))}if(!l||J!=f){for(;m<r.start;)m=Math.min(r.start,m+5E3),e(m,J);J=f}r.start=r.pos}for(;m<r.pos;)a=Math.min(r.pos,m+5E3),e(a,J),m=a}function eg(a,b,c){for(var d,e,g=a.doc,k=c?-1:b-(a.doc.mode.innerMode?1E3:100);b>k;--b){if(b<=g.first)return g.first; -var l=I(g,b-1),J=l.stateAfter;if(J&&(!c||b+(J instanceof Tc?J.lookAhead:0)<=g.modeFrontier))return b;l=m(l.text,null,a.options.tabSize);if(null==e||d>l)e=b-1,d=l}return e}function fg(a,b){a.modeFrontier=Math.min(a.modeFrontier,b);if(!(a.highlightFrontier<b-10)){for(var c=a.first,d=b-1;d>c;d--){var e=I(a,d).stateAfter;if(e&&(!(e instanceof Tc)||d+e.lookAhead<b)){c=d+1;break}}a.highlightFrontier=Math.min(a.highlightFrontier,c)}}function me(a,b){if(!a||/^\s*$/.test(a))return null;b=b.addModeClass?gg: -hg;return b[a]||(b[a]=a.replace(/\S+/g,"cm-$&"))}function ne(a,c){var d=b("span",null,null,sa?"padding-right: .1px":null);d={pre:b("pre",[d],"CodeMirror-line"),content:d,col:0,pos:0,cm:a,trailingSpace:!1,splitSpaces:(V||sa)&&a.getOption("lineWrapping")};c.measure={};for(var e=0;e<=(c.rest?c.rest.length:0);e++){var g=e?c.rest[e-1]:c.line,k=void 0;d.pos=0;d.addToken=ig;var m=a.display.measure;if(null!=td)m=td;else{var J=h(m,document.createTextNode("A\u062eA")),r=ec(J,0,1).getBoundingClientRect();J= -ec(J,1,2).getBoundingClientRect();f(m);m=r&&r.left!=r.right?td=3>J.right-r.right:!1}m&&(k=Ca(g,a.doc.direction))&&(d.addToken=jg(d.addToken,k));d.map=[];var t=c!=a.display.externalMeasured&&N(g);a:{var u=J=r=m=void 0,v=void 0,la=void 0,n=void 0;k=d;t=ib(a,g,t);var w=g.markedSpans,p=g.text,D=0;if(w)for(var z=p.length,x=0,q=1,y="",C=0;;){if(C==x){v=u=J=r=la="";m=null;C=Infinity;for(var E=[],G=void 0,A=0;A<w.length;++A){var B=w[A],F=B.marker;"bookmark"==F.type&&B.from==x&&F.widgetNode?E.push(F):B.from<= -x&&(null==B.to||B.to>x||F.collapsed&&B.to==x&&B.from==x)?(null!=B.to&&B.to!=x&&C>B.to&&(C=B.to,u=""),F.className&&(v+=" "+F.className),F.css&&(la=(la?la+";":"")+F.css),F.startStyle&&B.from==x&&(J+=" "+F.startStyle),F.endStyle&&B.to==C&&(G||(G=[])).push(F.endStyle,B.to),F.title&&!r&&(r=F.title),F.collapsed&&(!m||0>Mc(m.marker,F))&&(m=B)):B.from>x&&C>B.from&&(C=B.from)}if(G)for(A=0;A<G.length;A+=2)G[A+1]==C&&(u+=" "+G[A]);if(!m||m.from==x)for(G=0;G<E.length;++G)oe(k,0,E[G]);if(m&&(m.from||0)==x){oe(k, -(null==m.to?z+1:m.to)-x,m.marker,null==m.from);if(null==m.to)break a;m.to==x&&(m=!1)}}if(x>=z)break;for(E=Math.min(z,C);;){if(y){G=x+y.length;m||(A=G>E?y.slice(0,E-x):y,k.addToken(k,A,n?n+v:v,J,x+A.length==C?u:"",r,la));if(G>=E){y=y.slice(E-x);x=E;break}x=G;J=""}y=p.slice(D,D=t[q++]);n=me(t[q++],k.cm.options)}}else for(m=1;m<t.length;m+=2)k.addToken(k,p.slice(D,D=t[m]),me(t[m+1],k.cm.options))}g.styleClasses&&(g.styleClasses.bgClass&&(d.bgClass=l(g.styleClasses.bgClass,d.bgClass||"")),g.styleClasses.textClass&& +++a.doc.highlightFrontier))}return b.styles}function Va(a,b,c){var d=a.doc,e=a.display;if(!d.mode.startState)return new Wa(d,!0,b);var g=eg(a,b,c),k=g>d.first&&J(d,g-1).stateAfter,l=k?Wa.fromSaved(d,k,g):new Wa(d,bc(d.mode),g);d.iter(g,b,function(c){cc(a,c.text,l);var d=l.line;c.stateAfter=d==b-1||0==d%5||d>=e.viewFrom&&d<e.viewTo?l.save():null;l.nextLine()});c&&(d.modeFrontier=l.line);return l}function cc(a,b,c,d){var e=a.doc.mode;a=new ja(b,a.options.tabSize,c);a.start=a.pos=d||0;for(""==b&&K(e, +c.state);!a.eol();)dc(e,a,c.state),a.start=a.pos}function K(a,b){if(a.blankLine)return a.blankLine(b);if(a.innerMode&&(a=Ib(a,b),a.mode.blankLine))return a.mode.blankLine(a.state)}function dc(a,b,c,d){for(var e=0;10>e;e++){d&&(d[0]=Ib(a,c).mode);var g=a.token(b,c);if(b.pos>b.start)return g}throw Error("Mode "+a.name+" failed to advance stream.");}function je(a,b,c,d){var e=a.doc,g=e.mode;b=R(e,b);var k=J(e,b.line);c=Va(a,b.line,c);a=new ja(k.text,a.options.tabSize,c);var l;for(d&&(l=[]);(d||a.pos< +b.ch)&&!a.eol();){a.start=a.pos;var m=dc(g,a,c.state);d&&l.push(new ke(a,m,Oa(e.mode,c.state)))}return d?l:new ke(a,m,c.state)}function le(a,b){if(a)for(;;){var c=a.match(/(?:^|\s+)line-(background-)?(\S+)/);if(!c)break;a=a.slice(0,c.index)+a.slice(c.index+c[0].length);var d=c[1]?"bgClass":"textClass";null==b[d]?b[d]=c[2]:(new RegExp("(?:^|s)"+c[2]+"(?:$|s)")).test(b[d])||(b[d]+=" "+c[2])}return a}function ie(a,b,c,d,e,g,k){var l=c.flattenSpans;null==l&&(l=a.options.flattenSpans);var m=0,I=null,r= +new ja(b,a.options.tabSize,d),t=a.options.addModeClass&&[null];for(""==b&&le(K(c,d.state),g);!r.eol();){if(r.pos>a.options.maxHighlightLength){l=!1;k&&cc(a,b,d,r.pos);r.pos=b.length;var f=null}else f=le(dc(c,r,d.state,t),g);if(t){var u=t[0].name;u&&(f="m-"+(f?u+" "+f:u))}if(!l||I!=f){for(;m<r.start;)m=Math.min(r.start,m+5E3),e(m,I);I=f}r.start=r.pos}for(;m<r.pos;)a=Math.min(r.pos,m+5E3),e(a,I),m=a}function eg(a,b,c){for(var d,e,g=a.doc,k=c?-1:b-(a.doc.mode.innerMode?1E3:100);b>k;--b){if(b<=g.first)return g.first; +var l=J(g,b-1),I=l.stateAfter;if(I&&(!c||b+(I instanceof Tc?I.lookAhead:0)<=g.modeFrontier))return b;l=m(l.text,null,a.options.tabSize);if(null==e||d>l)e=b-1,d=l}return e}function fg(a,b){a.modeFrontier=Math.min(a.modeFrontier,b);if(!(a.highlightFrontier<b-10)){for(var c=a.first,d=b-1;d>c;d--){var e=J(a,d).stateAfter;if(e&&(!(e instanceof Tc)||d+e.lookAhead<b)){c=d+1;break}}a.highlightFrontier=Math.min(a.highlightFrontier,c)}}function me(a,b){if(!a||/^\s*$/.test(a))return null;b=b.addModeClass?gg: +hg;return b[a]||(b[a]=a.replace(/\S+/g,"cm-$&"))}function ne(a,c){var d=b("span",null,null,sa?"padding-right: .1px":null);d={pre:b("pre",[d],"CodeMirror-line"),content:d,col:0,pos:0,cm:a,trailingSpace:!1,splitSpaces:(V||sa)&&a.getOption("lineWrapping")};c.measure={};for(var e=0;e<=(c.rest?c.rest.length:0);e++){var g=e?c.rest[e-1]:c.line,k=void 0;d.pos=0;d.addToken=ig;var m=a.display.measure;if(null!=td)m=td;else{var I=h(m,document.createTextNode("A\u062eA")),r=ec(I,0,1).getBoundingClientRect();I= +ec(I,1,2).getBoundingClientRect();f(m);m=r&&r.left!=r.right?td=3>I.right-r.right:!1}m&&(k=Ca(g,a.doc.direction))&&(d.addToken=jg(d.addToken,k));d.map=[];var t=c!=a.display.externalMeasured&&N(g);a:{var u=I=r=m=void 0,v=void 0,la=void 0,n=void 0;k=d;t=ib(a,g,t);var w=g.markedSpans,p=g.text,D=0;if(w)for(var z=p.length,x=0,q=1,y="",C=0;;){if(C==x){v=u=I=r=la="";m=null;C=Infinity;for(var E=[],G=void 0,A=0;A<w.length;++A){var B=w[A],F=B.marker;"bookmark"==F.type&&B.from==x&&F.widgetNode?E.push(F):B.from<= +x&&(null==B.to||B.to>x||F.collapsed&&B.to==x&&B.from==x)?(null!=B.to&&B.to!=x&&C>B.to&&(C=B.to,u=""),F.className&&(v+=" "+F.className),F.css&&(la=(la?la+";":"")+F.css),F.startStyle&&B.from==x&&(I+=" "+F.startStyle),F.endStyle&&B.to==C&&(G||(G=[])).push(F.endStyle,B.to),F.title&&!r&&(r=F.title),F.collapsed&&(!m||0>Mc(m.marker,F))&&(m=B)):B.from>x&&C>B.from&&(C=B.from)}if(G)for(A=0;A<G.length;A+=2)G[A+1]==C&&(u+=" "+G[A]);if(!m||m.from==x)for(G=0;G<E.length;++G)oe(k,0,E[G]);if(m&&(m.from||0)==x){oe(k, +(null==m.to?z+1:m.to)-x,m.marker,null==m.from);if(null==m.to)break a;m.to==x&&(m=!1)}}if(x>=z)break;for(E=Math.min(z,C);;){if(y){G=x+y.length;m||(A=G>E?y.slice(0,E-x):y,k.addToken(k,A,n?n+v:v,I,x+A.length==C?u:"",r,la));if(G>=E){y=y.slice(E-x);x=E;break}x=G;I=""}y=p.slice(D,D=t[q++]);n=me(t[q++],k.cm.options)}}else for(m=1;m<t.length;m+=2)k.addToken(k,p.slice(D,D=t[m]),me(t[m+1],k.cm.options))}g.styleClasses&&(g.styleClasses.bgClass&&(d.bgClass=l(g.styleClasses.bgClass,d.bgClass||"")),g.styleClasses.textClass&& (d.textClass=l(g.styleClasses.textClass,d.textClass||"")));0==d.map.length&&d.map.push(0,0,d.content.appendChild(hb(a.display.measure)));0==e?(c.measure.map=d.map,c.measure.cache={}):((c.measure.maps||(c.measure.maps=[])).push(d.map),(c.measure.caches||(c.measure.caches=[])).push({}))}sa&&(e=d.content.lastChild,/\bcm-tab\b/.test(e.className)||e.querySelector&&e.querySelector(".cm-tab"))&&(d.content.className="cm-tab-wrap-hack");da(a,"renderLine",a,c.line,d.pre);d.pre.className&&(d.textClass=l(d.pre.className, -d.textClass||""));return d}function kg(a){var b=c("span","\u2022","cm-invalidchar");b.title="\\u"+a.charCodeAt(0).toString(16);b.setAttribute("aria-label",b.title);return b}function ig(a,b,d,e,g,k,l){if(b){if(a.splitSpaces){var m=a.trailingSpace;if(1<b.length&&!/ /.test(b))m=b;else{for(var J="",r=0;r<b.length;r++){var t=b.charAt(r);" "!=t||!m||r!=b.length-1&&32!=b.charCodeAt(r+1)||(t="\u00a0");J+=t;m=" "==t}m=J}}else m=b;J=m;r=a.cm.state.specialChars;t=!1;if(r.test(b)){m=document.createDocumentFragment(); -for(var f=0;;){r.lastIndex=f;var u=r.exec(b),h=u?u.index-f:b.length-f;if(h){var la=document.createTextNode(J.slice(f,f+h));V&&9>ca?m.appendChild(c("span",[la])):m.appendChild(la);a.map.push(a.pos,a.pos+h,la);a.col+=h;a.pos+=h}if(!u)break;f+=h+1;"\t"==u[0]?(u=a.cm.options.tabSize,u-=a.col%u,h=m.appendChild(c("span",v(u),"cm-tab")),h.setAttribute("role","presentation"),h.setAttribute("cm-text","\t"),a.col+=u):("\r"==u[0]||"\n"==u[0]?(h=m.appendChild(c("span","\r"==u[0]?"\u240d":"\u2424","cm-invalidchar")), -h.setAttribute("cm-text",u[0])):(h=a.cm.options.specialCharPlaceholder(u[0]),h.setAttribute("cm-text",u[0]),V&&9>ca?m.appendChild(c("span",[h])):m.appendChild(h)),a.col+=1);a.map.push(a.pos,a.pos+1,h);a.pos++}}else a.col+=b.length,m=document.createTextNode(J),a.map.push(a.pos,a.pos+b.length,m),V&&9>ca&&(t=!0),a.pos+=b.length;a.trailingSpace=32==J.charCodeAt(b.length-1);if(d||e||g||t||l)return b=d||"",e&&(b+=e),g&&(b+=g),e=c("span",[m],b,l),k&&(e.title=k),a.content.appendChild(e);a.content.appendChild(m)}} -function jg(a,b){return function(c,d,e,g,k,l,m){e=e?e+" cm-force-border":"cm-force-border";for(var J=c.pos,r=J+d.length;;){for(var t=void 0,f=0;f<b.length&&!(t=b[f],t.to>J&&t.from<=J);f++);if(t.to>=r)return a(c,d,e,g,k,l,m);a(c,d.slice(0,t.to-J),e,g,null,l,m);g=null;d=d.slice(t.to-J);J=t.to}}}function oe(a,b,c,d){var e=!d&&c.widgetNode;e&&a.map.push(a.pos,a.pos+b,e);!d&&a.cm.display.input.needsContentAttribute&&(e||(e=a.content.appendChild(document.createElement("span"))),e.setAttribute("cm-marker", -c.id));e&&(a.cm.display.input.setUneditable(e),a.content.appendChild(e));a.pos+=b;a.trailingSpace=!1}function pe(a,b,c){for(var d=this.line=b,e;d=wa(d,!1);)d=d.find(1,!0).line,(e||(e=[])).push(d);this.size=(this.rest=e)?N(w(this.rest))-c+1:1;this.node=this.text=null;this.hidden=$a(a,b)}function Uc(a,b,c){var d=[],e;for(e=b;e<c;)b=new pe(a.doc,I(a.doc,e),e),e+=b.size,d.push(b);return d}function lg(a,b){if(a=a.ownsGroup)try{var c=a.delayedCallbacks,d=0;do{for(;d<c.length;d++)c[d].call(null);for(var e= +d.textClass||""));return d}function kg(a){var b=d("span","\u2022","cm-invalidchar");b.title="\\u"+a.charCodeAt(0).toString(16);b.setAttribute("aria-label",b.title);return b}function ig(a,b,c,e,g,k,l){if(b){if(a.splitSpaces){var m=a.trailingSpace;if(1<b.length&&!/ /.test(b))m=b;else{for(var I="",r=0;r<b.length;r++){var t=b.charAt(r);" "!=t||!m||r!=b.length-1&&32!=b.charCodeAt(r+1)||(t="\u00a0");I+=t;m=" "==t}m=I}}else m=b;I=m;r=a.cm.state.specialChars;t=!1;if(r.test(b)){m=document.createDocumentFragment(); +for(var f=0;;){r.lastIndex=f;var u=r.exec(b),h=u?u.index-f:b.length-f;if(h){var la=document.createTextNode(I.slice(f,f+h));V&&9>ca?m.appendChild(d("span",[la])):m.appendChild(la);a.map.push(a.pos,a.pos+h,la);a.col+=h;a.pos+=h}if(!u)break;f+=h+1;"\t"==u[0]?(u=a.cm.options.tabSize,u-=a.col%u,h=m.appendChild(d("span",v(u),"cm-tab")),h.setAttribute("role","presentation"),h.setAttribute("cm-text","\t"),a.col+=u):("\r"==u[0]||"\n"==u[0]?(h=m.appendChild(d("span","\r"==u[0]?"\u240d":"\u2424","cm-invalidchar")), +h.setAttribute("cm-text",u[0])):(h=a.cm.options.specialCharPlaceholder(u[0]),h.setAttribute("cm-text",u[0]),V&&9>ca?m.appendChild(d("span",[h])):m.appendChild(h)),a.col+=1);a.map.push(a.pos,a.pos+1,h);a.pos++}}else a.col+=b.length,m=document.createTextNode(I),a.map.push(a.pos,a.pos+b.length,m),V&&9>ca&&(t=!0),a.pos+=b.length;a.trailingSpace=32==I.charCodeAt(b.length-1);if(c||e||g||t||l)return b=c||"",e&&(b+=e),g&&(b+=g),e=d("span",[m],b,l),k&&(e.title=k),a.content.appendChild(e);a.content.appendChild(m)}} +function jg(a,b){return function(c,d,e,g,k,l,m){e=e?e+" cm-force-border":"cm-force-border";for(var I=c.pos,r=I+d.length;;){for(var t=void 0,f=0;f<b.length&&!(t=b[f],t.to>I&&t.from<=I);f++);if(t.to>=r)return a(c,d,e,g,k,l,m);a(c,d.slice(0,t.to-I),e,g,null,l,m);g=null;d=d.slice(t.to-I);I=t.to}}}function oe(a,b,c,d){var e=!d&&c.widgetNode;e&&a.map.push(a.pos,a.pos+b,e);!d&&a.cm.display.input.needsContentAttribute&&(e||(e=a.content.appendChild(document.createElement("span"))),e.setAttribute("cm-marker", +c.id));e&&(a.cm.display.input.setUneditable(e),a.content.appendChild(e));a.pos+=b;a.trailingSpace=!1}function pe(a,b,c){for(var d=this.line=b,e;d=wa(d,!1);)d=d.find(1,!0).line,(e||(e=[])).push(d);this.size=(this.rest=e)?N(w(this.rest))-c+1:1;this.node=this.text=null;this.hidden=$a(a,b)}function Uc(a,b,c){var d=[],e;for(e=b;e<c;)b=new pe(a.doc,J(a.doc,e),e),e+=b.size,d.push(b);return d}function lg(a,b){if(a=a.ownsGroup)try{var c=a.delayedCallbacks,d=0;do{for(;d<c.length;d++)c[d].call(null);for(var e= 0;e<a.ops.length;e++){var g=a.ops[e];if(g.cursorActivityHandlers)for(;g.cursorActivityCalled<g.cursorActivityHandlers.length;)g.cursorActivityHandlers[g.cursorActivityCalled++].call(null,g.cm)}}while(d<c.length)}finally{Jb=null,b(a)}}function qa(a,b){var c=a._handlers&&a._handlers[b]||Pc;if(c.length){var d=Array.prototype.slice.call(arguments,2);if(Jb)var e=Jb.delayedCallbacks;else fc?e=fc:(e=fc=[],setTimeout(mg,0));for(var g=function(a){e.push(function(){return c[a].apply(null,d)})},k=0;k<c.length;++k)g(k)}} function mg(){var a=fc;fc=null;for(var b=0;b<a.length;++b)a[b]()}function qe(a,b,c,d){for(var e=0;e<b.changes.length;e++){var g=b.changes[e];if("text"==g){g=a;var k=b,l=k.text.className,m=re(g,k);k.text==k.node&&(k.node=m.pre);k.text.parentNode.replaceChild(m.pre,k.text);k.text=m.pre;m.bgClass!=k.bgClass||m.textClass!=k.textClass?(k.bgClass=m.bgClass,k.textClass=m.textClass,ud(g,k)):l&&(k.text.className=l)}else if("gutter"==g)se(a,b,c,d);else if("class"==g)ud(a,b);else if("widget"==g){g=a;k=b;l=d; -k.alignable&&(k.alignable=null);m=k.node.firstChild;for(var r;m;m=r)r=m.nextSibling,"CodeMirror-linewidget"==m.className&&k.node.removeChild(m);te(g,k,l)}}b.changes=null}function gc(a){a.node==a.text&&(a.node=c("div",null,null,"position: relative"),a.text.parentNode&&a.text.parentNode.replaceChild(a.node,a.text),a.node.appendChild(a.text),V&&8>ca&&(a.node.style.zIndex=2));return a.node}function re(a,b){var c=a.display.externalMeasured;return c&&c.line==b.line?(a.display.externalMeasured=null,b.measure= -c.measure,c.built):ne(a,b)}function ud(a,b){var d=b.bgClass?b.bgClass+" "+(b.line.bgClass||""):b.line.bgClass;d&&(d+=" CodeMirror-linebackground");if(b.background)d?b.background.className=d:(b.background.parentNode.removeChild(b.background),b.background=null);else if(d){var e=gc(b);b.background=e.insertBefore(c("div",null,d),e.firstChild);a.display.input.setUneditable(b.background)}b.line.wrapClass?gc(b).className=b.line.wrapClass:b.node!=b.text&&(b.node.className="");b.text.className=(b.textClass? -b.textClass+" "+(b.line.textClass||""):b.line.textClass)||""}function se(a,b,d,e){b.gutter&&(b.node.removeChild(b.gutter),b.gutter=null);b.gutterBackground&&(b.node.removeChild(b.gutterBackground),b.gutterBackground=null);if(b.line.gutterClass){var g=gc(b);b.gutterBackground=c("div",null,"CodeMirror-gutter-background "+b.line.gutterClass,"left: "+(a.options.fixedGutter?e.fixedPos:-e.gutterTotalWidth)+"px; width: "+e.gutterTotalWidth+"px");a.display.input.setUneditable(b.gutterBackground);g.insertBefore(b.gutterBackground, -b.text)}g=b.line.gutterMarkers;if(a.options.lineNumbers||g){var k=gc(b),l=b.gutter=c("div",null,"CodeMirror-gutter-wrapper","left: "+(a.options.fixedGutter?e.fixedPos:-e.gutterTotalWidth)+"px");a.display.input.setUneditable(l);k.insertBefore(l,b.text);b.line.gutterClass&&(l.className+=" "+b.line.gutterClass);!a.options.lineNumbers||g&&g["CodeMirror-linenumbers"]||(b.lineNumber=l.appendChild(c("div",Z(a.options,d),"CodeMirror-linenumber CodeMirror-gutter-elt","left: "+e.gutterLeft["CodeMirror-linenumbers"]+ -"px; width: "+a.display.lineNumInnerWidth+"px")));if(g)for(b=0;b<a.options.gutters.length;++b)d=a.options.gutters[b],(k=g.hasOwnProperty(d)&&g[d])&&l.appendChild(c("div",[k],"CodeMirror-gutter-elt","left: "+e.gutterLeft[d]+"px; width: "+e.gutterWidth[d]+"px"))}}function ng(a,b,c,d){var e=re(a,b);b.text=b.node=e.pre;e.bgClass&&(b.bgClass=e.bgClass);e.textClass&&(b.textClass=e.textClass);ud(a,b);se(a,b,c,d);te(a,b,d);return b.node}function te(a,b,c){ue(a,b.line,b,c,!0);if(b.rest)for(var d=0;d<b.rest.length;d++)ue(a, -b.rest[d],b,c,!1)}function ue(a,b,d,e,g){if(b.widgets){var k=gc(d),l=0;for(b=b.widgets;l<b.length;++l){var m=b[l],r=c("div",[m.node],"CodeMirror-linewidget");m.handleMouseEvents||r.setAttribute("cm-ignore-events","true");var J=m,t=r,f=e;if(J.noHScroll){(d.alignable||(d.alignable=[])).push(t);var u=f.wrapperWidth;t.style.left=f.fixedPos+"px";J.coverGutter||(u-=f.gutterTotalWidth,t.style.paddingLeft=f.gutterTotalWidth+"px");t.style.width=u+"px"}J.coverGutter&&(t.style.zIndex=5,t.style.position="relative", -J.noHScroll||(t.style.marginLeft=-f.gutterTotalWidth+"px"));a.display.input.setUneditable(r);g&&m.above?k.insertBefore(r,d.gutter||d.text):k.appendChild(r);qa(m,"redraw")}}}function hc(a){if(null!=a.height)return a.height;var b=a.doc.cm;if(!b)return 0;if(!d(document.body,a.node)){var e="position: relative;";a.coverGutter&&(e+="margin-left: -"+b.display.gutters.offsetWidth+"px;");a.noHScroll&&(e+="width: "+b.display.wrapper.clientWidth+"px;");h(b.display.measure,c("div",[a.node],null,e))}return a.height= -a.node.parentNode.offsetHeight}function cb(a,b){for(b=b.target||b.srcElement;b!=a.wrapper;b=b.parentNode)if(!b||1==b.nodeType&&"true"==b.getAttribute("cm-ignore-events")||b.parentNode==a.sizer&&b!=a.mover)return!0}function vd(a){return a.mover.offsetHeight-a.lineSpace.offsetHeight}function ve(a){if(a.cachedPaddingH)return a.cachedPaddingH;var b=h(a.measure,c("pre","x"));b=window.getComputedStyle?window.getComputedStyle(b):b.currentStyle;b={left:parseInt(b.paddingLeft),right:parseInt(b.paddingRight)}; +k.alignable&&(k.alignable=null);m=k.node.firstChild;for(var I;m;m=I)I=m.nextSibling,"CodeMirror-linewidget"==m.className&&k.node.removeChild(m);te(g,k,l)}}b.changes=null}function gc(a){a.node==a.text&&(a.node=d("div",null,null,"position: relative"),a.text.parentNode&&a.text.parentNode.replaceChild(a.node,a.text),a.node.appendChild(a.text),V&&8>ca&&(a.node.style.zIndex=2));return a.node}function re(a,b){var c=a.display.externalMeasured;return c&&c.line==b.line?(a.display.externalMeasured=null,b.measure= +c.measure,c.built):ne(a,b)}function ud(a,b){var c=b.bgClass?b.bgClass+" "+(b.line.bgClass||""):b.line.bgClass;c&&(c+=" CodeMirror-linebackground");if(b.background)c?b.background.className=c:(b.background.parentNode.removeChild(b.background),b.background=null);else if(c){var e=gc(b);b.background=e.insertBefore(d("div",null,c),e.firstChild);a.display.input.setUneditable(b.background)}b.line.wrapClass?gc(b).className=b.line.wrapClass:b.node!=b.text&&(b.node.className="");b.text.className=(b.textClass? +b.textClass+" "+(b.line.textClass||""):b.line.textClass)||""}function se(a,b,c,e){b.gutter&&(b.node.removeChild(b.gutter),b.gutter=null);b.gutterBackground&&(b.node.removeChild(b.gutterBackground),b.gutterBackground=null);if(b.line.gutterClass){var g=gc(b);b.gutterBackground=d("div",null,"CodeMirror-gutter-background "+b.line.gutterClass,"left: "+(a.options.fixedGutter?e.fixedPos:-e.gutterTotalWidth)+"px; width: "+e.gutterTotalWidth+"px");a.display.input.setUneditable(b.gutterBackground);g.insertBefore(b.gutterBackground, +b.text)}g=b.line.gutterMarkers;if(a.options.lineNumbers||g){var k=gc(b),l=b.gutter=d("div",null,"CodeMirror-gutter-wrapper","left: "+(a.options.fixedGutter?e.fixedPos:-e.gutterTotalWidth)+"px");a.display.input.setUneditable(l);k.insertBefore(l,b.text);b.line.gutterClass&&(l.className+=" "+b.line.gutterClass);!a.options.lineNumbers||g&&g["CodeMirror-linenumbers"]||(b.lineNumber=l.appendChild(d("div",Z(a.options,c),"CodeMirror-linenumber CodeMirror-gutter-elt","left: "+e.gutterLeft["CodeMirror-linenumbers"]+ +"px; width: "+a.display.lineNumInnerWidth+"px")));if(g)for(b=0;b<a.options.gutters.length;++b)c=a.options.gutters[b],(k=g.hasOwnProperty(c)&&g[c])&&l.appendChild(d("div",[k],"CodeMirror-gutter-elt","left: "+e.gutterLeft[c]+"px; width: "+e.gutterWidth[c]+"px"))}}function ng(a,b,c,d){var e=re(a,b);b.text=b.node=e.pre;e.bgClass&&(b.bgClass=e.bgClass);e.textClass&&(b.textClass=e.textClass);ud(a,b);se(a,b,c,d);te(a,b,d);return b.node}function te(a,b,c){ue(a,b.line,b,c,!0);if(b.rest)for(var d=0;d<b.rest.length;d++)ue(a, +b.rest[d],b,c,!1)}function ue(a,b,c,e,g){if(b.widgets){var k=gc(c),l=0;for(b=b.widgets;l<b.length;++l){var m=b[l],r=d("div",[m.node],"CodeMirror-linewidget");m.handleMouseEvents||r.setAttribute("cm-ignore-events","true");var I=m,t=r,f=e;if(I.noHScroll){(c.alignable||(c.alignable=[])).push(t);var u=f.wrapperWidth;t.style.left=f.fixedPos+"px";I.coverGutter||(u-=f.gutterTotalWidth,t.style.paddingLeft=f.gutterTotalWidth+"px");t.style.width=u+"px"}I.coverGutter&&(t.style.zIndex=5,t.style.position="relative", +I.noHScroll||(t.style.marginLeft=-f.gutterTotalWidth+"px"));a.display.input.setUneditable(r);g&&m.above?k.insertBefore(r,c.gutter||c.text):k.appendChild(r);qa(m,"redraw")}}}function hc(a){if(null!=a.height)return a.height;var b=a.doc.cm;if(!b)return 0;if(!c(document.body,a.node)){var e="position: relative;";a.coverGutter&&(e+="margin-left: -"+b.display.gutters.offsetWidth+"px;");a.noHScroll&&(e+="width: "+b.display.wrapper.clientWidth+"px;");h(b.display.measure,d("div",[a.node],null,e))}return a.height= +a.node.parentNode.offsetHeight}function cb(a,b){for(b=b.target||b.srcElement;b!=a.wrapper;b=b.parentNode)if(!b||1==b.nodeType&&"true"==b.getAttribute("cm-ignore-events")||b.parentNode==a.sizer&&b!=a.mover)return!0}function vd(a){return a.mover.offsetHeight-a.lineSpace.offsetHeight}function ve(a){if(a.cachedPaddingH)return a.cachedPaddingH;var b=h(a.measure,d("pre","x"));b=window.getComputedStyle?window.getComputedStyle(b):b.currentStyle;b={left:parseInt(b.paddingLeft),right:parseInt(b.paddingRight)}; isNaN(b.left)||isNaN(b.right)||(a.cachedPaddingH=b);return b}function Xa(a){return 30-a.display.nativeBarWidth}function qb(a){return a.display.scroller.clientWidth-Xa(a)-a.display.barWidth}function wd(a){return a.display.scroller.clientHeight-Xa(a)-a.display.barHeight}function we(a,b,c){if(a.line==b)return{map:a.measure.map,cache:a.measure.cache};for(var d=0;d<a.rest.length;d++)if(a.rest[d]==b)return{map:a.measure.maps[d],cache:a.measure.caches[d]};for(b=0;b<a.rest.length;b++)if(N(a.rest[b])>c)return{map:a.measure.maps[b], cache:a.measure.caches[b],before:!0}}function xd(a,b){if(b>=a.display.viewFrom&&b<a.display.viewTo)return a.display.view[rb(a,b)];if((a=a.display.externalMeasured)&&b>=a.lineN&&b<a.lineN+a.size)return a}function sb(a,b){var c=N(b),d=xd(a,c);d&&!d.text?d=null:d&&d.changes&&(qe(a,d,c,yd(a)),a.curOp.forceUpdate=!0);if(!d){var e=Ga(b);d=N(e);e=a.display.externalMeasured=new pe(a.doc,e,d);e.lineN=d;d=e.built=ne(a,e);e.text=d.pre;h(a.display.lineMeasure,d.pre);d=e}a=we(d,b,c);return{line:b,view:d,rect:null, -map:a.map,cache:a.cache,before:a.before,hasHeights:!1}}function Pa(a,b,d,e,g){b.before&&(d=-1);var k=d+(e||"");if(b.cache.hasOwnProperty(k))a=b.cache[k];else{b.rect||(b.rect=b.view.text.getBoundingClientRect());if(!b.hasHeights){var l=b.view,m=b.rect,r=a.options.lineWrapping,t=r&&qb(a);if(!l.measure.heights||r&&l.measure.width!=t){var J=l.measure.heights=[];if(r)for(l.measure.width=t,l=l.text.firstChild.getClientRects(),r=0;r<l.length-1;r++){t=l[r];var f=l[r+1];2<Math.abs(t.bottom-f.bottom)&&J.push((t.bottom+ -f.top)/2-m.top)}J.push(m.bottom-m.top)}b.hasHeights=!0}J=e;l=xe(b.map,d,J);e=l.node;m=l.start;r=l.end;d=l.collapse;if(3==e.nodeType){for(var u=0;4>u;u++){for(;m&&C(b.line.text.charAt(l.coverStart+m));)--m;for(;l.coverStart+r<l.coverEnd&&C(b.line.text.charAt(l.coverStart+r));)++r;if(V&&9>ca&&0==m&&r==l.coverEnd-l.coverStart)var v=e.parentNode.getBoundingClientRect();else{v=ec(e,m,r).getClientRects();r=ye;if("left"==J)for(t=0;t<v.length&&(r=v[t]).left==r.right;t++);else for(t=v.length-1;0<=t&&(r=v[t]).left== -r.right;t--);v=r}if(v.left||v.right||0==m)break;r=m;--m;d="right"}V&&11>ca&&((u=!window.screen||null==screen.logicalXDPI||screen.logicalXDPI==screen.deviceXDPI)||(null!=zd?u=zd:(J=h(a.display.measure,c("span","x")),u=J.getBoundingClientRect(),J=ec(J,0,1).getBoundingClientRect(),u=zd=1<Math.abs(u.left-J.left)),u=!u),u||(u=screen.logicalXDPI/screen.deviceXDPI,J=screen.logicalYDPI/screen.deviceYDPI,v={left:v.left*u,right:v.right*u,top:v.top*J,bottom:v.bottom*J}))}else 0<m&&(d=J="right"),v=a.options.lineWrapping&& -1<(u=e.getClientRects()).length?u["right"==J?u.length-1:0]:e.getBoundingClientRect();!(V&&9>ca)||m||v&&(v.left||v.right)||(v=(v=e.parentNode.getClientRects()[0])?{left:v.left,right:v.left+ic(a.display),top:v.top,bottom:v.bottom}:ye);e=v.top-b.rect.top;m=v.bottom-b.rect.top;u=(e+m)/2;J=b.view.measure.heights;for(l=0;l<J.length-1&&!(u<J[l]);l++);d={left:("right"==d?v.right:v.left)-b.rect.left,right:("left"==d?v.left:v.right)-b.rect.left,top:l?J[l-1]:0,bottom:J[l]};v.left||v.right||(d.bogus=!0);a.options.singleCursorHeightPerLine|| -(d.rtop=e,d.rbottom=m);a=d;a.bogus||(b.cache[k]=a)}return{left:a.left,right:a.right,top:g?a.rtop:a.top,bottom:g?a.rbottom:a.bottom}}function xe(a,b,c){for(var d,e,g,k,l,m,r=0;r<a.length;r+=3){l=a[r];m=a[r+1];if(b<l)e=0,g=1,k="left";else if(b<m)e=b-l,g=e+1;else if(r==a.length-3||b==m&&a[r+3]>b)g=m-l,e=g-1,b>=m&&(k="right");if(null!=e){d=a[r+2];l==m&&c==(d.insertLeft?"left":"right")&&(k=c);if("left"==c&&0==e)for(;r&&a[r-2]==a[r-3]&&a[r-1].insertLeft;)d=a[(r-=3)+2],k="left";if("right"==c&&e==m-l)for(;r< +map:a.map,cache:a.cache,before:a.before,hasHeights:!1}}function Pa(a,b,c,e,g){b.before&&(c=-1);var k=c+(e||"");if(b.cache.hasOwnProperty(k))a=b.cache[k];else{b.rect||(b.rect=b.view.text.getBoundingClientRect());if(!b.hasHeights){var l=b.view,m=b.rect,r=a.options.lineWrapping,t=r&&qb(a);if(!l.measure.heights||r&&l.measure.width!=t){var I=l.measure.heights=[];if(r)for(l.measure.width=t,l=l.text.firstChild.getClientRects(),r=0;r<l.length-1;r++){t=l[r];var f=l[r+1];2<Math.abs(t.bottom-f.bottom)&&I.push((t.bottom+ +f.top)/2-m.top)}I.push(m.bottom-m.top)}b.hasHeights=!0}I=e;l=xe(b.map,c,I);e=l.node;m=l.start;r=l.end;c=l.collapse;if(3==e.nodeType){for(var u=0;4>u;u++){for(;m&&C(b.line.text.charAt(l.coverStart+m));)--m;for(;l.coverStart+r<l.coverEnd&&C(b.line.text.charAt(l.coverStart+r));)++r;if(V&&9>ca&&0==m&&r==l.coverEnd-l.coverStart)var v=e.parentNode.getBoundingClientRect();else{v=ec(e,m,r).getClientRects();r=ye;if("left"==I)for(t=0;t<v.length&&(r=v[t]).left==r.right;t++);else for(t=v.length-1;0<=t&&(r=v[t]).left== +r.right;t--);v=r}if(v.left||v.right||0==m)break;r=m;--m;c="right"}V&&11>ca&&((u=!window.screen||null==screen.logicalXDPI||screen.logicalXDPI==screen.deviceXDPI)||(null!=zd?u=zd:(I=h(a.display.measure,d("span","x")),u=I.getBoundingClientRect(),I=ec(I,0,1).getBoundingClientRect(),u=zd=1<Math.abs(u.left-I.left)),u=!u),u||(u=screen.logicalXDPI/screen.deviceXDPI,I=screen.logicalYDPI/screen.deviceYDPI,v={left:v.left*u,right:v.right*u,top:v.top*I,bottom:v.bottom*I}))}else 0<m&&(c=I="right"),v=a.options.lineWrapping&& +1<(u=e.getClientRects()).length?u["right"==I?u.length-1:0]:e.getBoundingClientRect();!(V&&9>ca)||m||v&&(v.left||v.right)||(v=(v=e.parentNode.getClientRects()[0])?{left:v.left,right:v.left+ic(a.display),top:v.top,bottom:v.bottom}:ye);e=v.top-b.rect.top;m=v.bottom-b.rect.top;u=(e+m)/2;I=b.view.measure.heights;for(l=0;l<I.length-1&&!(u<I[l]);l++);c={left:("right"==c?v.right:v.left)-b.rect.left,right:("left"==c?v.left:v.right)-b.rect.left,top:l?I[l-1]:0,bottom:I[l]};v.left||v.right||(c.bogus=!0);a.options.singleCursorHeightPerLine|| +(c.rtop=e,c.rbottom=m);a=c;a.bogus||(b.cache[k]=a)}return{left:a.left,right:a.right,top:g?a.rtop:a.top,bottom:g?a.rbottom:a.bottom}}function xe(a,b,c){for(var d,e,g,k,l,m,r=0;r<a.length;r+=3){l=a[r];m=a[r+1];if(b<l)e=0,g=1,k="left";else if(b<m)e=b-l,g=e+1;else if(r==a.length-3||b==m&&a[r+3]>b)g=m-l,e=g-1,b>=m&&(k="right");if(null!=e){d=a[r+2];l==m&&c==(d.insertLeft?"left":"right")&&(k=c);if("left"==c&&0==e)for(;r&&a[r-2]==a[r-3]&&a[r-1].insertLeft;)d=a[(r-=3)+2],k="left";if("right"==c&&e==m-l)for(;r< a.length-3&&a[r+3]==a[r+4]&&!a[r+5].insertLeft;)d=a[(r+=3)+2],k="right";break}}return{node:d,start:e,end:g,collapse:k,coverStart:l,coverEnd:m}}function ze(a){if(a.measure&&(a.measure.cache={},a.measure.heights=null,a.rest))for(var b=0;b<a.rest.length;b++)a.measure.caches[b]={}}function Ae(a){a.display.externalMeasure=null;f(a.display.lineMeasure);for(var b=0;b<a.display.view.length;b++)ze(a.display.view[b])}function jc(a){Ae(a);a.display.cachedCharWidth=a.display.cachedTextHeight=a.display.cachedPaddingH= null;a.options.lineWrapping||(a.display.maxLineChanged=!0);a.display.lineNumChars=null}function Be(){return Vc&&Wc?-(document.body.getBoundingClientRect().left-parseInt(getComputedStyle(document.body).marginLeft)):window.pageXOffset||(document.documentElement||document.body).scrollLeft}function Ce(){return Vc&&Wc?-(document.body.getBoundingClientRect().top-parseInt(getComputedStyle(document.body).marginTop)):window.pageYOffset||(document.documentElement||document.body).scrollTop}function Ad(a){var b= 0;if(a.widgets)for(var c=0;c<a.widgets.length;++c)a.widgets[c].above&&(b+=hc(a.widgets[c]));return b}function Xc(a,b,c,d,e){e||(e=Ad(b),c.top+=e,c.bottom+=e);if("line"==d)return c;d||(d="local");b=Ha(b);b="local"==d?b+a.display.lineSpace.offsetTop:b-a.display.viewOffset;if("page"==d||"window"==d)a=a.display.lineSpace.getBoundingClientRect(),b+=a.top+("window"==d?0:Ce()),d=a.left+("window"==d?0:Be()),c.left+=d,c.right+=d;c.top+=b;c.bottom+=b;return c}function De(a,b,c){if("div"==c)return b;var d=b.left; -b=b.top;"page"==c?(d-=Be(),b-=Ce()):"local"!=c&&c||(c=a.display.sizer.getBoundingClientRect(),d+=c.left,b+=c.top);a=a.display.lineSpace.getBoundingClientRect();return{left:d-a.left,top:b-a.top}}function Bd(a,b,c,d,e){d||(d=I(a.doc,b.line));var g=d;b=b.ch;d=Pa(a,sb(a,d),b,e);return Xc(a,g,d,c)}function Qa(a,b,c,d,e,g){function k(b,k){b=Pa(a,e,b,k?"right":"left",g);k?b.left=b.right:b.right=b.left;return Xc(a,d,b,c)}function l(a,b,c){return k(c?a-1:a,1==m[b].level!=c)}d=d||I(a.doc,b.line);e||(e=sb(a, -d));var m=Ca(d,a.doc.direction),r=b.ch;b=b.sticky;r>=d.text.length?(r=d.text.length,b="before"):0>=r&&(r=0,b="after");if(!m)return k("before"==b?r-1:r,"before"==b);var t=Ua(m,r,b),J=Zb;t=l(r,t,"before"==b);null!=J&&(t.other=l(r,J,"before"!=b));return t}function Ee(a,b){var c=0;b=R(a.doc,b);a.options.lineWrapping||(c=ic(a.display)*b.ch);b=I(a.doc,b.line);a=Ha(b)+a.display.lineSpace.offsetTop;return{left:c,right:c,top:a,bottom:a+b.height}}function Cd(a,b,c,d,e){a=H(a,b,c);a.xRel=e;d&&(a.outside=!0); -return a}function Dd(a,b,c){var d=a.doc;c+=a.display.viewOffset;if(0>c)return Cd(d.first,0,null,!0,-1);var e=S(d,c),g=d.first+d.size-1;if(e>g)return Cd(d.first+d.size-1,I(d,g).text.length,null,!0,1);0>b&&(b=0);for(d=I(d,e);;)if(e=og(a,d,e,b,c),g=(d=wa(d,!1))&&d.find(0,!0),d&&(e.ch>g.from.ch||e.ch==g.from.ch&&0<e.xRel))e=N(d=g.to.line);else return e}function Fe(a,b,c,d){d-=Ad(b);b=b.text.length;var e=F(function(b){return Pa(a,c,b-1).bottom<=d},b,0);b=F(function(b){return Pa(a,c,b).top>d},e,b);return{begin:e, -end:b}}function Ge(a,b,c,d){c||(c=sb(a,b));d=Xc(a,b,Pa(a,c,d),"line").top;return Fe(a,b,c,d)}function Ed(a,b,c,d){return a.bottom<=c?!1:a.top>c?!0:(d?a.left:a.right)>b}function og(a,b,c,d,e){e-=Ha(b);var g=sb(a,b),k=Ad(b),l=0,m=b.text.length,r=!0,t=Ca(b,a.doc.direction);t&&(t=(a.options.lineWrapping?pg:qg)(a,b,c,g,t,d,e),l=(r=1!=t.level)?t.from:t.to-1,m=r?t.to:t.from-1);var J=null,f=null;t=F(function(b){var c=Pa(a,g,b);c.top+=k;c.bottom+=k;if(!Ed(c,d,e,!1))return!1;c.top<=e&&c.left<=d&&(J=b,f=c); -return!0},l,m);var u=!1;f?(l=d-f.left<f.right-d,r=l==r,t=J+(r?0:1),r=r?"after":"before",l=l?f.left:f.right):(r||t!=m&&t!=l||t++,r=0==t?"after":t==b.text.length?"before":Pa(a,g,t-(r?1:0)).bottom+k<=e==r?"after":"before",u=Qa(a,H(c,t,r),"line",b,g),l=u.left,u=e<u.top||e>=u.bottom);t=B(b.text,t,1);return Cd(c,t,r,u,d-l)}function qg(a,b,c,d,e,g,k){var l=F(function(l){l=e[l];var m=1!=l.level;return Ed(Qa(a,H(c,m?l.to:l.from,m?"before":"after"),"line",b,d),g,k,!0)},0,e.length-1),m=e[l];if(0<l){var r=1!= +b=b.top;"page"==c?(d-=Be(),b-=Ce()):"local"!=c&&c||(c=a.display.sizer.getBoundingClientRect(),d+=c.left,b+=c.top);a=a.display.lineSpace.getBoundingClientRect();return{left:d-a.left,top:b-a.top}}function Bd(a,b,c,d,e){d||(d=J(a.doc,b.line));var g=d;b=b.ch;d=Pa(a,sb(a,d),b,e);return Xc(a,g,d,c)}function Qa(a,b,c,d,e,g){function k(b,k){b=Pa(a,e,b,k?"right":"left",g);k?b.left=b.right:b.right=b.left;return Xc(a,d,b,c)}function l(a,b,c){return k(c?a-1:a,1==m[b].level!=c)}d=d||J(a.doc,b.line);e||(e=sb(a, +d));var m=Ca(d,a.doc.direction),r=b.ch;b=b.sticky;r>=d.text.length?(r=d.text.length,b="before"):0>=r&&(r=0,b="after");if(!m)return k("before"==b?r-1:r,"before"==b);var t=Ua(m,r,b),I=Zb;t=l(r,t,"before"==b);null!=I&&(t.other=l(r,I,"before"!=b));return t}function Ee(a,b){var c=0;b=R(a.doc,b);a.options.lineWrapping||(c=ic(a.display)*b.ch);b=J(a.doc,b.line);a=Ha(b)+a.display.lineSpace.offsetTop;return{left:c,right:c,top:a,bottom:a+b.height}}function Cd(a,b,c,d,e){a=H(a,b,c);a.xRel=e;d&&(a.outside=!0); +return a}function Dd(a,b,c){var d=a.doc;c+=a.display.viewOffset;if(0>c)return Cd(d.first,0,null,!0,-1);var e=S(d,c),g=d.first+d.size-1;if(e>g)return Cd(d.first+d.size-1,J(d,g).text.length,null,!0,1);0>b&&(b=0);for(d=J(d,e);;)if(e=og(a,d,e,b,c),g=(d=wa(d,!1))&&d.find(0,!0),d&&(e.ch>g.from.ch||e.ch==g.from.ch&&0<e.xRel))e=N(d=g.to.line);else return e}function Fe(a,b,c,d){d-=Ad(b);b=b.text.length;var e=F(function(b){return Pa(a,c,b-1).bottom<=d},b,0);b=F(function(b){return Pa(a,c,b).top>d},e,b);return{begin:e, +end:b}}function Ge(a,b,c,d){c||(c=sb(a,b));d=Xc(a,b,Pa(a,c,d),"line").top;return Fe(a,b,c,d)}function Ed(a,b,c,d){return a.bottom<=c?!1:a.top>c?!0:(d?a.left:a.right)>b}function og(a,b,c,d,e){e-=Ha(b);var g=sb(a,b),k=Ad(b),l=0,m=b.text.length,r=!0,t=Ca(b,a.doc.direction);t&&(t=(a.options.lineWrapping?pg:qg)(a,b,c,g,t,d,e),l=(r=1!=t.level)?t.from:t.to-1,m=r?t.to:t.from-1);var I=null,f=null;t=F(function(b){var c=Pa(a,g,b);c.top+=k;c.bottom+=k;if(!Ed(c,d,e,!1))return!1;c.top<=e&&c.left<=d&&(I=b,f=c); +return!0},l,m);var u=!1;f?(l=d-f.left<f.right-d,r=l==r,t=I+(r?0:1),r=r?"after":"before",l=l?f.left:f.right):(r||t!=m&&t!=l||t++,r=0==t?"after":t==b.text.length?"before":Pa(a,g,t-(r?1:0)).bottom+k<=e==r?"after":"before",u=Qa(a,H(c,t,r),"line",b,g),l=u.left,u=e<u.top||e>=u.bottom);t=B(b.text,t,1);return Cd(c,t,r,u,d-l)}function qg(a,b,c,d,e,g,k){var l=F(function(l){l=e[l];var m=1!=l.level;return Ed(Qa(a,H(c,m?l.to:l.from,m?"before":"after"),"line",b,d),g,k,!0)},0,e.length-1),m=e[l];if(0<l){var r=1!= m.level;r=Qa(a,H(c,r?m.from:m.to,r?"after":"before"),"line",b,d);Ed(r,g,k,!0)&&r.top>k&&(m=e[l-1])}return m}function pg(a,b,c,d,e,g,k){k=Fe(a,b,d,k);c=k.begin;k=k.end;/\s/.test(b.text.charAt(k-1))&&k--;for(var l=b=null,m=0;m<e.length;m++){var r=e[m];if(!(r.from>=k||r.to<=c)){var t=Pa(a,d,1!=r.level?Math.min(k,r.to)-1:Math.max(c,r.from)).right;t=t<g?g-t+1E9:t-g;if(!b||l>t)b=r,l=t}}b||(b=e[e.length-1]);b.from<c&&(b={from:c,to:b.to,level:b.level});b.to>k&&(b={from:b.from,to:k,level:b.level});return b} -function tb(a){if(null!=a.cachedTextHeight)return a.cachedTextHeight;if(null==ub){ub=c("pre");for(var b=0;49>b;++b)ub.appendChild(document.createTextNode("x")),ub.appendChild(c("br"));ub.appendChild(document.createTextNode("x"))}h(a.measure,ub);b=ub.offsetHeight/50;3<b&&(a.cachedTextHeight=b);f(a.measure);return b||1}function ic(a){if(null!=a.cachedCharWidth)return a.cachedCharWidth;var b=c("span","xxxxxxxxxx"),d=c("pre",[b]);h(a.measure,d);b=b.getBoundingClientRect();b=(b.right-b.left)/10;2<b&&(a.cachedCharWidth= +function tb(a){if(null!=a.cachedTextHeight)return a.cachedTextHeight;if(null==ub){ub=d("pre");for(var b=0;49>b;++b)ub.appendChild(document.createTextNode("x")),ub.appendChild(d("br"));ub.appendChild(document.createTextNode("x"))}h(a.measure,ub);b=ub.offsetHeight/50;3<b&&(a.cachedTextHeight=b);f(a.measure);return b||1}function ic(a){if(null!=a.cachedCharWidth)return a.cachedCharWidth;var b=d("span","xxxxxxxxxx"),c=d("pre",[b]);h(a.measure,c);b=b.getBoundingClientRect();b=(b.right-b.left)/10;2<b&&(a.cachedCharWidth= b);return b||10}function yd(a){for(var b=a.display,c={},d={},e=b.gutters.clientLeft,g=b.gutters.firstChild,k=0;g;g=g.nextSibling,++k)c[a.options.gutters[k]]=g.offsetLeft+g.clientLeft+e,d[a.options.gutters[k]]=g.clientWidth;return{fixedPos:Fd(b),gutterTotalWidth:b.gutters.offsetWidth,gutterLeft:c,gutterWidth:d,wrapperWidth:b.wrapper.clientWidth}}function Fd(a){return a.scroller.getBoundingClientRect().left-a.sizer.getBoundingClientRect().left}function He(a){var b=tb(a.display),c=a.options.lineWrapping, d=c&&Math.max(5,a.display.scroller.clientWidth/ic(a.display)-3);return function(e){if($a(a.doc,e))return 0;var g=0;if(e.widgets)for(var k=0;k<e.widgets.length;k++)e.widgets[k].height&&(g+=e.widgets[k].height);return c?g+(Math.ceil(e.text.length/d)||1)*b:g+b}}function Gd(a){var b=a.doc,c=He(a);b.iter(function(a){var b=c(a);b!=a.height&&P(a,b)})}function vb(a,b,c,d){var e=a.display;if(!c&&"true"==(b.target||b.srcElement).getAttribute("cm-not-content"))return null;c=e.lineSpace.getBoundingClientRect(); -try{var g=b.clientX-c.left;var k=b.clientY-c.top}catch(he){return null}b=Dd(a,g,k);var l;d&&1==b.xRel&&(l=I(a.doc,b.line).text).length==b.ch&&(d=m(l,l.length,a.options.tabSize)-l.length,b=H(b.line,Math.max(0,Math.round((g-ve(a.display).left)/ic(a.display))-d)));return b}function rb(a,b){if(b>=a.display.viewTo)return null;b-=a.display.viewFrom;if(0>b)return null;a=a.display.view;for(var c=0;c<a.length;c++)if(b-=a[c].size,0>b)return c}function kc(a){a.display.input.showSelection(a.display.input.prepareSelection())} -function Ie(a,b){void 0===b&&(b=!0);for(var c=a.doc,d={},e=d.cursors=document.createDocumentFragment(),g=d.selection=document.createDocumentFragment(),k=0;k<c.sel.ranges.length;k++)if(b||k!=c.sel.primIndex){var l=c.sel.ranges[k];if(!(l.from().line>=a.display.viewTo||l.to().line<a.display.viewFrom)){var m=l.empty();(m||a.options.showCursorWhenSelecting)&&Je(a,l.head,e);m||rg(a,l,g)}}return d}function Je(a,b,d){b=Qa(a,b,"div",null,null,!a.options.singleCursorHeightPerLine);var e=d.appendChild(c("div", -"\u00a0","CodeMirror-cursor"));e.style.left=b.left+"px";e.style.top=b.top+"px";e.style.height=Math.max(0,b.bottom-b.top)*a.options.cursorHeight+"px";b.other&&(a=d.appendChild(c("div","\u00a0","CodeMirror-cursor CodeMirror-secondarycursor")),a.style.display="",a.style.left=b.other.left+"px",a.style.top=b.other.top+"px",a.style.height=.85*(b.other.bottom-b.other.top)+"px")}function Yc(a,b){return a.top-b.top||a.left-b.left}function rg(a,b,d){function e(a,b,d,e){0>b&&(b=0);b=Math.round(b);e=Math.round(e); -m.appendChild(c("div",null,"CodeMirror-selected","position: absolute; left: "+a+"px;\n top: "+b+"px; width: "+(null==d?J-a:d)+"px;\n height: "+(e-b)+"px"))}function g(b,c,d){function g(c,d){return Bd(a,H(b,c),"div",m,d)}function k(b,c,d){b=Ge(a,m,null,b);c="ltr"==c==("after"==d)?"left":"right";d="after"==d?b.begin:b.end-(/\s/.test(m.text.charAt(b.end-1))?2:1);return g(d,c)[c]}var m=I(l,b),r=m.text.length,u,h,v=Ca(m,l.direction);qd(v,c||0,null== -d?r:d,function(a,b,l,m){var n="ltr"==l,w=g(a,n?"left":"right"),p=g(b-1,n?"right":"left"),la=null==c&&0==a,D=null==d&&b==r,x=0==m;m=!v||m==v.length-1;3>=p.top-w.top?(b=(f?la:D)&&x?t:(n?w:p).left,e(b,w.top,((f?D:la)&&m?J:(n?p:w).right)-b,w.bottom)):(n?(n=f&&la&&x?t:w.left,la=f?J:k(a,l,"before"),a=f?t:k(b,l,"after"),D=f&&D&&m?J:p.right):(n=f?k(a,l,"before"):t,la=!f&&la&&x?J:w.right,a=!f&&D&&m?t:p.left,D=f?k(b,l,"after"):J),e(n,w.top,la-n,w.bottom),w.bottom<p.top&&e(t,w.bottom,null,p.top),e(a,p.top,D- -a,p.bottom));if(!u||0>Yc(w,u))u=w;0>Yc(p,u)&&(u=p);if(!h||0>Yc(w,h))h=w;0>Yc(p,h)&&(h=p)});return{start:u,end:h}}var k=a.display,l=a.doc,m=document.createDocumentFragment(),r=ve(a.display),t=r.left,J=Math.max(k.sizerWidth,qb(a)-k.sizer.offsetLeft)-r.right,f="ltr"==l.direction;k=b.from();b=b.to();if(k.line==b.line)g(k.line,k.ch,b.ch);else{var u=I(l,k.line);r=I(l,b.line);r=Ga(u)==Ga(r);k=g(k.line,k.ch,r?u.text.length+1:null).end;b=g(b.line,r?0:null,b.ch).start;r&&(k.top<b.top-2?(e(k.right,k.top,null, -k.bottom),e(t,b.top,b.left,b.bottom)):e(k.right,k.top,b.left-k.right,k.bottom));k.bottom<b.top&&e(t,k.bottom,null,b.top)}d.appendChild(m)}function Hd(a){if(a.state.focused){var b=a.display;clearInterval(b.blinker);var c=!0;b.cursorDiv.style.visibility="";0<a.options.cursorBlinkRate?b.blinker=setInterval(function(){return b.cursorDiv.style.visibility=(c=!c)?"":"hidden"},a.options.cursorBlinkRate):0>a.options.cursorBlinkRate&&(b.cursorDiv.style.visibility="hidden")}}function Ke(a){a.state.focused|| +try{var g=b.clientX-c.left;var k=b.clientY-c.top}catch(he){return null}b=Dd(a,g,k);var l;d&&1==b.xRel&&(l=J(a.doc,b.line).text).length==b.ch&&(d=m(l,l.length,a.options.tabSize)-l.length,b=H(b.line,Math.max(0,Math.round((g-ve(a.display).left)/ic(a.display))-d)));return b}function rb(a,b){if(b>=a.display.viewTo)return null;b-=a.display.viewFrom;if(0>b)return null;a=a.display.view;for(var c=0;c<a.length;c++)if(b-=a[c].size,0>b)return c}function kc(a){a.display.input.showSelection(a.display.input.prepareSelection())} +function Ie(a,b){void 0===b&&(b=!0);for(var c=a.doc,d={},e=d.cursors=document.createDocumentFragment(),g=d.selection=document.createDocumentFragment(),k=0;k<c.sel.ranges.length;k++)if(b||k!=c.sel.primIndex){var l=c.sel.ranges[k];if(!(l.from().line>=a.display.viewTo||l.to().line<a.display.viewFrom)){var m=l.empty();(m||a.options.showCursorWhenSelecting)&&Je(a,l.head,e);m||rg(a,l,g)}}return d}function Je(a,b,c){b=Qa(a,b,"div",null,null,!a.options.singleCursorHeightPerLine);var e=c.appendChild(d("div", +"\u00a0","CodeMirror-cursor"));e.style.left=b.left+"px";e.style.top=b.top+"px";e.style.height=Math.max(0,b.bottom-b.top)*a.options.cursorHeight+"px";b.other&&(a=c.appendChild(d("div","\u00a0","CodeMirror-cursor CodeMirror-secondarycursor")),a.style.display="",a.style.left=b.other.left+"px",a.style.top=b.other.top+"px",a.style.height=.85*(b.other.bottom-b.other.top)+"px")}function Yc(a,b){return a.top-b.top||a.left-b.left}function rg(a,b,c){function e(a,b,c,e){0>b&&(b=0);b=Math.round(b);e=Math.round(e); +m.appendChild(d("div",null,"CodeMirror-selected","position: absolute; left: "+a+"px;\n top: "+b+"px; width: "+(null==c?I-a:c)+"px;\n height: "+(e-b)+"px"))}function g(b,c,d){function g(c,d){return Bd(a,H(b,c),"div",m,d)}function k(b,c,d){b=Ge(a,m,null,b);c="ltr"==c==("after"==d)?"left":"right";d="after"==d?b.begin:b.end-(/\s/.test(m.text.charAt(b.end-1))?2:1);return g(d,c)[c]}var m=J(l,b),r=m.text.length,u,h,v=Ca(m,l.direction);qd(v,c||0,null== +d?r:d,function(a,b,l,m){var n="ltr"==l,w=g(a,n?"left":"right"),p=g(b-1,n?"right":"left"),la=null==c&&0==a,D=null==d&&b==r,x=0==m;m=!v||m==v.length-1;3>=p.top-w.top?(b=(f?la:D)&&x?t:(n?w:p).left,e(b,w.top,((f?D:la)&&m?I:(n?p:w).right)-b,w.bottom)):(n?(n=f&&la&&x?t:w.left,la=f?I:k(a,l,"before"),a=f?t:k(b,l,"after"),D=f&&D&&m?I:p.right):(n=f?k(a,l,"before"):t,la=!f&&la&&x?I:w.right,a=!f&&D&&m?t:p.left,D=f?k(b,l,"after"):I),e(n,w.top,la-n,w.bottom),w.bottom<p.top&&e(t,w.bottom,null,p.top),e(a,p.top,D- +a,p.bottom));if(!u||0>Yc(w,u))u=w;0>Yc(p,u)&&(u=p);if(!h||0>Yc(w,h))h=w;0>Yc(p,h)&&(h=p)});return{start:u,end:h}}var k=a.display,l=a.doc,m=document.createDocumentFragment(),r=ve(a.display),t=r.left,I=Math.max(k.sizerWidth,qb(a)-k.sizer.offsetLeft)-r.right,f="ltr"==l.direction;k=b.from();b=b.to();if(k.line==b.line)g(k.line,k.ch,b.ch);else{var u=J(l,k.line);r=J(l,b.line);r=Ga(u)==Ga(r);k=g(k.line,k.ch,r?u.text.length+1:null).end;b=g(b.line,r?0:null,b.ch).start;r&&(k.top<b.top-2?(e(k.right,k.top,null, +k.bottom),e(t,b.top,b.left,b.bottom)):e(k.right,k.top,b.left-k.right,k.bottom));k.bottom<b.top&&e(t,k.bottom,null,b.top)}c.appendChild(m)}function Hd(a){if(a.state.focused){var b=a.display;clearInterval(b.blinker);var c=!0;b.cursorDiv.style.visibility="";0<a.options.cursorBlinkRate?b.blinker=setInterval(function(){return b.cursorDiv.style.visibility=(c=!c)?"":"hidden"},a.options.cursorBlinkRate):0>a.options.cursorBlinkRate&&(b.cursorDiv.style.visibility="hidden")}}function Ke(a){a.state.focused|| (a.display.input.focus(),Id(a))}function Le(a){a.state.delayingBlurEvent=!0;setTimeout(function(){a.state.delayingBlurEvent&&(a.state.delayingBlurEvent=!1,lc(a))},100)}function Id(a,b){a.state.delayingBlurEvent&&(a.state.delayingBlurEvent=!1);"nocursor"!=a.options.readOnly&&(a.state.focused||(da(a,"focus",a,b),a.state.focused=!0,g(a.display.wrapper,"CodeMirror-focused"),a.curOp||a.display.selForContextMenu==a.doc.sel||(a.display.input.reset(),sa&&setTimeout(function(){return a.display.input.reset(!0)}, 20)),a.display.input.receivedFocus()),Hd(a))}function lc(a,b){a.state.delayingBlurEvent||(a.state.focused&&(da(a,"blur",a,b),a.state.focused=!1,wb(a.display.wrapper,"CodeMirror-focused")),clearInterval(a.display.blinker),setTimeout(function(){a.state.focused||(a.display.shift=!1)},150))}function Zc(a){a=a.display;for(var b=a.lineDiv.offsetTop,c=0;c<a.view.length;c++){var d=a.view[c];if(!d.hidden){if(V&&8>ca){var e=d.node.offsetTop+d.node.offsetHeight;var g=e-b;b=e}else g=d.node.getBoundingClientRect(), g=g.bottom-g.top;e=d.line.height-g;2>g&&(g=tb(a));if(.005<e||-.005>e)if(P(d.line,g),Me(d.line),d.rest)for(g=0;g<d.rest.length;g++)Me(d.rest[g])}}}function Me(a){if(a.widgets)for(var b=0;b<a.widgets.length;++b)a.widgets[b].height=a.widgets[b].node.parentNode.offsetHeight}function Jd(a,b,c){var d=c&&null!=c.top?Math.max(0,c.top):a.scroller.scrollTop;d=Math.floor(d-a.lineSpace.offsetTop);var e=c&&null!=c.bottom?c.bottom:d+a.wrapper.clientHeight;d=S(b,d);e=S(b,e);if(c&&c.ensure){var g=c.ensure.from.line; -c=c.ensure.to.line;g<d?(d=g,e=S(b,Ha(I(b,g))+a.wrapper.clientHeight)):Math.min(c,b.lastLine())>=e&&(d=S(b,Ha(I(b,c))-a.wrapper.clientHeight),e=c)}return{from:d,to:Math.max(e,d+1)}}function Ne(a){var b=a.display,c=b.view;if(b.alignWidgets||b.gutters.firstChild&&a.options.fixedGutter){for(var d=Fd(b)-b.scroller.scrollLeft+a.doc.scrollLeft,e=b.gutters.offsetWidth,g=d+"px",k=0;k<c.length;k++)if(!c[k].hidden){a.options.fixedGutter&&(c[k].gutter&&(c[k].gutter.style.left=g),c[k].gutterBackground&&(c[k].gutterBackground.style.left= -g));var l=c[k].alignable;if(l)for(var m=0;m<l.length;m++)l[m].style.left=g}a.options.fixedGutter&&(b.gutters.style.left=d+e+"px")}}function Oe(a){if(!a.options.lineNumbers)return!1;var b=a.doc;b=Z(a.options,b.first+b.size-1);var d=a.display;if(b.length!=d.lineNumChars){var e=d.measure.appendChild(c("div",[c("div",b)],"CodeMirror-linenumber CodeMirror-gutter-elt")),g=e.firstChild.offsetWidth;e=e.offsetWidth-g;d.lineGutter.style.width="";d.lineNumInnerWidth=Math.max(g,d.lineGutter.offsetWidth-e)+1; -d.lineNumWidth=d.lineNumInnerWidth+e;d.lineNumChars=d.lineNumInnerWidth?b.length:-1;d.lineGutter.style.width=d.lineNumWidth+"px";Kd(a);return!0}return!1}function Ld(a,b){var c=a.display,d=tb(a.display);0>b.top&&(b.top=0);var e=a.curOp&&null!=a.curOp.scrollTop?a.curOp.scrollTop:c.scroller.scrollTop,g=wd(a),k={};b.bottom-b.top>g&&(b.bottom=b.top+g);var l=a.doc.height+vd(c),m=b.top<d;d=b.bottom>l-d;b.top<e?k.scrollTop=m?0:b.top:b.bottom>e+g&&(g=Math.min(b.top,(d?l:b.bottom)-g),g!=e&&(k.scrollTop=g)); +c=c.ensure.to.line;g<d?(d=g,e=S(b,Ha(J(b,g))+a.wrapper.clientHeight)):Math.min(c,b.lastLine())>=e&&(d=S(b,Ha(J(b,c))-a.wrapper.clientHeight),e=c)}return{from:d,to:Math.max(e,d+1)}}function Ne(a){var b=a.display,c=b.view;if(b.alignWidgets||b.gutters.firstChild&&a.options.fixedGutter){for(var d=Fd(b)-b.scroller.scrollLeft+a.doc.scrollLeft,e=b.gutters.offsetWidth,g=d+"px",k=0;k<c.length;k++)if(!c[k].hidden){a.options.fixedGutter&&(c[k].gutter&&(c[k].gutter.style.left=g),c[k].gutterBackground&&(c[k].gutterBackground.style.left= +g));var l=c[k].alignable;if(l)for(var m=0;m<l.length;m++)l[m].style.left=g}a.options.fixedGutter&&(b.gutters.style.left=d+e+"px")}}function Oe(a){if(!a.options.lineNumbers)return!1;var b=a.doc;b=Z(a.options,b.first+b.size-1);var c=a.display;if(b.length!=c.lineNumChars){var e=c.measure.appendChild(d("div",[d("div",b)],"CodeMirror-linenumber CodeMirror-gutter-elt")),g=e.firstChild.offsetWidth;e=e.offsetWidth-g;c.lineGutter.style.width="";c.lineNumInnerWidth=Math.max(g,c.lineGutter.offsetWidth-e)+1; +c.lineNumWidth=c.lineNumInnerWidth+e;c.lineNumChars=c.lineNumInnerWidth?b.length:-1;c.lineGutter.style.width=c.lineNumWidth+"px";Kd(a);return!0}return!1}function Ld(a,b){var c=a.display,d=tb(a.display);0>b.top&&(b.top=0);var e=a.curOp&&null!=a.curOp.scrollTop?a.curOp.scrollTop:c.scroller.scrollTop,g=wd(a),k={};b.bottom-b.top>g&&(b.bottom=b.top+g);var l=a.doc.height+vd(c),m=b.top<d;d=b.bottom>l-d;b.top<e?k.scrollTop=m?0:b.top:b.bottom>e+g&&(g=Math.min(b.top,(d?l:b.bottom)-g),g!=e&&(k.scrollTop=g)); e=a.curOp&&null!=a.curOp.scrollLeft?a.curOp.scrollLeft:c.scroller.scrollLeft;a=qb(a)-(a.options.fixedGutter?c.gutters.offsetWidth:0);if(c=b.right-b.left>a)b.right=b.left+a;10>b.left?k.scrollLeft=0:b.left<e?k.scrollLeft=Math.max(0,b.left-(c?0:10)):b.right>a+e-3&&(k.scrollLeft=b.right+(c?0:10)-a);return k}function $c(a,b){null!=b&&(ad(a),a.curOp.scrollTop=(null==a.curOp.scrollTop?a.doc.scrollTop:a.curOp.scrollTop)+b)}function Kb(a){ad(a);var b=a.getCursor();a.curOp.scrollToPos={from:b,to:b,margin:a.options.cursorScrollMargin}} function mc(a,b,c){null==b&&null==c||ad(a);null!=b&&(a.curOp.scrollLeft=b);null!=c&&(a.curOp.scrollTop=c)}function ad(a){var b=a.curOp.scrollToPos;if(b){a.curOp.scrollToPos=null;var c=Ee(a,b.from),d=Ee(a,b.to);Pe(a,c,d,b.margin)}}function Pe(a,b,c,d){b=Ld(a,{left:Math.min(b.left,c.left),top:Math.min(b.top,c.top)-d,right:Math.max(b.right,c.right),bottom:Math.max(b.bottom,c.bottom)+d});mc(a,b.scrollLeft,b.scrollTop)}function nc(a,b){2>Math.abs(a.doc.scrollTop-b)||(eb||Md(a,{top:b}),Qe(a,b,!0),eb&&Md(a), oc(a,100))}function Qe(a,b,c){b=Math.min(a.display.scroller.scrollHeight-a.display.scroller.clientHeight,b);if(a.display.scroller.scrollTop!=b||c)a.doc.scrollTop=b,a.display.scrollbars.setScrollTop(b),a.display.scroller.scrollTop!=b&&(a.display.scroller.scrollTop=b)}function xb(a,b,c,d){b=Math.min(b,a.display.scroller.scrollWidth-a.display.scroller.clientWidth);(c?b==a.doc.scrollLeft:2>Math.abs(a.doc.scrollLeft-b))&&!d||(a.doc.scrollLeft=b,Ne(a),a.display.scroller.scrollLeft!=b&&(a.display.scroller.scrollLeft= @@ -451,34 +451,34 @@ b),a.display.scrollbars.setScrollLeft(b))}function pc(a){var b=a.display,c=b.gut a.display.barHeight;Re(a,b);for(b=0;4>b&&c!=a.display.barWidth||d!=a.display.barHeight;b++)c!=a.display.barWidth&&a.options.lineWrapping&&Zc(a),Re(a,pc(a)),c=a.display.barWidth,d=a.display.barHeight}function Re(a,b){var c=a.display,d=c.scrollbars.update(b);c.sizer.style.paddingRight=(c.barWidth=d.right)+"px";c.sizer.style.paddingBottom=(c.barHeight=d.bottom)+"px";c.heightForcer.style.borderBottom=d.bottom+"px solid transparent";d.right&&d.bottom?(c.scrollbarFiller.style.display="block",c.scrollbarFiller.style.height= d.bottom+"px",c.scrollbarFiller.style.width=d.right+"px"):c.scrollbarFiller.style.display="";d.bottom&&a.options.coverGutterNextToScrollbar&&a.options.fixedGutter?(c.gutterFiller.style.display="block",c.gutterFiller.style.height=d.bottom+"px",c.gutterFiller.style.width=b.gutterWidth+"px"):c.gutterFiller.style.display=""}function Se(a){a.display.scrollbars&&(a.display.scrollbars.clear(),a.display.scrollbars.addClass&&wb(a.display.wrapper,a.display.scrollbars.addClass));a.display.scrollbars=new Te[a.options.scrollbarStyle](function(b){a.display.wrapper.insertBefore(b, a.display.scrollbarFiller);T(b,"mousedown",function(){a.state.focused&&setTimeout(function(){return a.display.input.focus()},0)});b.setAttribute("cm-not-content","true")},function(b,c){"horizontal"==c?xb(a,b):nc(a,b)},a);a.display.scrollbars.addClass&&g(a.display.wrapper,a.display.scrollbars.addClass)}function yb(a){a.curOp={cm:a,viewChanged:!1,startHeight:a.doc.height,forceUpdate:!1,updateInput:null,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1, -updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++sg};a=a.curOp;Jb?Jb.ops.push(a):a.ownsGroup=Jb={ops:[a],delayedCallbacks:[]}}function zb(a){lg(a.curOp,function(a){for(var b=0;b<a.ops.length;b++)a.ops[b].cm.curOp=null;a=a.ops;for(b=0;b<a.length;b++){var d=a[b],g=d.cm,k=g.display,l=g.display;!l.scrollbarsClipped&&l.scroller.offsetWidth&&(l.nativeBarWidth=l.scroller.offsetWidth-l.scroller.clientWidth,l.heightForcer.style.height=Xa(g)+"px",l.sizer.style.marginBottom=-l.nativeBarWidth+ -"px",l.sizer.style.borderRightWidth=Xa(g)+"px",l.scrollbarsClipped=!0);d.updateMaxLine&&ab(g);d.mustUpdate=d.viewChanged||d.forceUpdate||null!=d.scrollTop||d.scrollToPos&&(d.scrollToPos.from.line<k.viewFrom||d.scrollToPos.to.line>=k.viewTo)||k.maxLineChanged&&g.options.lineWrapping;d.update=d.mustUpdate&&new bd(g,d.mustUpdate&&{top:d.scrollTop,ensure:d.scrollToPos},d.forceUpdate)}for(b=0;b<a.length;b++)d=a[b],d.updatedDisplay=d.mustUpdate&&Nd(d.cm,d.update);for(b=0;b<a.length;b++)if(d=a[b],g=d.cm, -k=g.display,d.updatedDisplay&&Zc(g),d.barMeasure=pc(g),k.maxLineChanged&&!g.options.lineWrapping&&(l=k.maxLine.text.length,l=Pa(g,sb(g,k.maxLine),l,void 0),d.adjustWidthTo=l.left+3,g.display.sizerWidth=d.adjustWidthTo,d.barMeasure.scrollWidth=Math.max(k.scroller.clientWidth,k.sizer.offsetLeft+d.adjustWidthTo+Xa(g)+g.display.barWidth),d.maxScrollLeft=Math.max(0,k.sizer.offsetLeft+d.adjustWidthTo-qb(g))),d.updatedDisplay||d.selectionChanged)d.preparedSelection=k.input.prepareSelection();for(b=0;b<a.length;b++)d= -a[b],g=d.cm,null!=d.adjustWidthTo&&(g.display.sizer.style.minWidth=d.adjustWidthTo+"px",d.maxScrollLeft<g.doc.scrollLeft&&xb(g,Math.min(g.display.scroller.scrollLeft,d.maxScrollLeft),!0),g.display.maxLineChanged=!1),k=d.focus&&d.focus==e(),d.preparedSelection&&g.display.input.showSelection(d.preparedSelection,k),(d.updatedDisplay||d.startHeight!=g.doc.height)&&Lb(g,d.barMeasure),d.updatedDisplay&&Od(g,d.barMeasure),d.selectionChanged&&Hd(g),g.state.focused&&d.updateInput&&g.display.input.reset(d.typing), -k&&Ke(d.cm);for(b=0;b<a.length;b++){var m=void 0;d=a[b];g=d.cm;k=g.display;l=g.doc;d.updatedDisplay&&Ue(g,d.update);null==k.wheelStartX||null==d.scrollTop&&null==d.scrollLeft&&!d.scrollToPos||(k.wheelStartX=k.wheelStartY=null);null!=d.scrollTop&&Qe(g,d.scrollTop,d.forceScroll);null!=d.scrollLeft&&xb(g,d.scrollLeft,!0,!0);if(d.scrollToPos){var r=R(l,d.scrollToPos.from),t=R(l,d.scrollToPos.to),f=d.scrollToPos.margin;null==f&&(f=0);g.options.lineWrapping||r!=t||(r=r.ch?H(r.line,"before"==r.sticky?r.ch- -1:r.ch,"after"):r,t="before"==r.sticky?H(r.line,r.ch+1,"before"):r);for(var u=0;5>u;u++){var J=!1;m=Qa(g,r);var h=t&&t!=r?Qa(g,t):m;m={left:Math.min(m.left,h.left),top:Math.min(m.top,h.top)-f,right:Math.max(m.left,h.left),bottom:Math.max(m.bottom,h.bottom)+f};h=Ld(g,m);var v=g.doc.scrollTop,n=g.doc.scrollLeft;null!=h.scrollTop&&(nc(g,h.scrollTop),1<Math.abs(g.doc.scrollTop-v)&&(J=!0));null!=h.scrollLeft&&(xb(g,h.scrollLeft),1<Math.abs(g.doc.scrollLeft-n)&&(J=!0));if(!J)break}t=m;ia(g,"scrollCursorIntoView")|| -(f=g.display,u=f.sizer.getBoundingClientRect(),r=null,0>t.top+u.top?r=!0:t.bottom+u.top>(window.innerHeight||document.documentElement.clientHeight)&&(r=!1),null==r||tg||(t=c("div","\u200b",null,"position: absolute;\n top: "+(t.top-f.viewOffset-g.display.lineSpace.offsetTop)+"px;\n height: "+(t.bottom-t.top+Xa(g)+f.barHeight)+"px;\n left: "+t.left+"px; width: "+Math.max(2,t.right-t.left)+"px;"),g.display.lineSpace.appendChild(t), -t.scrollIntoView(r),g.display.lineSpace.removeChild(t)))}t=d.maybeHiddenMarkers;r=d.maybeUnhiddenMarkers;if(t)for(f=0;f<t.length;++f)t[f].lines.length||da(t[f],"hide");if(r)for(t=0;t<r.length;++t)r[t].lines.length&&da(r[t],"unhide");k.wrapper.offsetHeight&&(l.scrollTop=g.display.scroller.scrollTop);d.changeObjs&&da(g,"changes",g,d.changeObjs);d.update&&d.update.finish()}})}function Ea(a,b){if(a.curOp)return b();yb(a);try{return b()}finally{zb(a)}}function oa(a,b){return function(){if(a.curOp)return b.apply(a, +updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++sg};a=a.curOp;Jb?Jb.ops.push(a):a.ownsGroup=Jb={ops:[a],delayedCallbacks:[]}}function zb(a){lg(a.curOp,function(a){for(var b=0;b<a.ops.length;b++)a.ops[b].cm.curOp=null;a=a.ops;for(b=0;b<a.length;b++){var c=a[b],g=c.cm,k=g.display,l=g.display;!l.scrollbarsClipped&&l.scroller.offsetWidth&&(l.nativeBarWidth=l.scroller.offsetWidth-l.scroller.clientWidth,l.heightForcer.style.height=Xa(g)+"px",l.sizer.style.marginBottom=-l.nativeBarWidth+ +"px",l.sizer.style.borderRightWidth=Xa(g)+"px",l.scrollbarsClipped=!0);c.updateMaxLine&&ab(g);c.mustUpdate=c.viewChanged||c.forceUpdate||null!=c.scrollTop||c.scrollToPos&&(c.scrollToPos.from.line<k.viewFrom||c.scrollToPos.to.line>=k.viewTo)||k.maxLineChanged&&g.options.lineWrapping;c.update=c.mustUpdate&&new bd(g,c.mustUpdate&&{top:c.scrollTop,ensure:c.scrollToPos},c.forceUpdate)}for(b=0;b<a.length;b++)c=a[b],c.updatedDisplay=c.mustUpdate&&Nd(c.cm,c.update);for(b=0;b<a.length;b++)if(c=a[b],g=c.cm, +k=g.display,c.updatedDisplay&&Zc(g),c.barMeasure=pc(g),k.maxLineChanged&&!g.options.lineWrapping&&(l=k.maxLine.text.length,l=Pa(g,sb(g,k.maxLine),l,void 0),c.adjustWidthTo=l.left+3,g.display.sizerWidth=c.adjustWidthTo,c.barMeasure.scrollWidth=Math.max(k.scroller.clientWidth,k.sizer.offsetLeft+c.adjustWidthTo+Xa(g)+g.display.barWidth),c.maxScrollLeft=Math.max(0,k.sizer.offsetLeft+c.adjustWidthTo-qb(g))),c.updatedDisplay||c.selectionChanged)c.preparedSelection=k.input.prepareSelection();for(b=0;b<a.length;b++)c= +a[b],g=c.cm,null!=c.adjustWidthTo&&(g.display.sizer.style.minWidth=c.adjustWidthTo+"px",c.maxScrollLeft<g.doc.scrollLeft&&xb(g,Math.min(g.display.scroller.scrollLeft,c.maxScrollLeft),!0),g.display.maxLineChanged=!1),k=c.focus&&c.focus==e(),c.preparedSelection&&g.display.input.showSelection(c.preparedSelection,k),(c.updatedDisplay||c.startHeight!=g.doc.height)&&Lb(g,c.barMeasure),c.updatedDisplay&&Od(g,c.barMeasure),c.selectionChanged&&Hd(g),g.state.focused&&c.updateInput&&g.display.input.reset(c.typing), +k&&Ke(c.cm);for(b=0;b<a.length;b++){var m=void 0;c=a[b];g=c.cm;k=g.display;l=g.doc;c.updatedDisplay&&Ue(g,c.update);null==k.wheelStartX||null==c.scrollTop&&null==c.scrollLeft&&!c.scrollToPos||(k.wheelStartX=k.wheelStartY=null);null!=c.scrollTop&&Qe(g,c.scrollTop,c.forceScroll);null!=c.scrollLeft&&xb(g,c.scrollLeft,!0,!0);if(c.scrollToPos){var r=R(l,c.scrollToPos.from),t=R(l,c.scrollToPos.to),f=c.scrollToPos.margin;null==f&&(f=0);g.options.lineWrapping||r!=t||(r=r.ch?H(r.line,"before"==r.sticky?r.ch- +1:r.ch,"after"):r,t="before"==r.sticky?H(r.line,r.ch+1,"before"):r);for(var u=0;5>u;u++){var I=!1;m=Qa(g,r);var h=t&&t!=r?Qa(g,t):m;m={left:Math.min(m.left,h.left),top:Math.min(m.top,h.top)-f,right:Math.max(m.left,h.left),bottom:Math.max(m.bottom,h.bottom)+f};h=Ld(g,m);var v=g.doc.scrollTop,n=g.doc.scrollLeft;null!=h.scrollTop&&(nc(g,h.scrollTop),1<Math.abs(g.doc.scrollTop-v)&&(I=!0));null!=h.scrollLeft&&(xb(g,h.scrollLeft),1<Math.abs(g.doc.scrollLeft-n)&&(I=!0));if(!I)break}t=m;ia(g,"scrollCursorIntoView")|| +(f=g.display,u=f.sizer.getBoundingClientRect(),r=null,0>t.top+u.top?r=!0:t.bottom+u.top>(window.innerHeight||document.documentElement.clientHeight)&&(r=!1),null==r||tg||(t=d("div","\u200b",null,"position: absolute;\n top: "+(t.top-f.viewOffset-g.display.lineSpace.offsetTop)+"px;\n height: "+(t.bottom-t.top+Xa(g)+f.barHeight)+"px;\n left: "+t.left+"px; width: "+Math.max(2,t.right-t.left)+"px;"),g.display.lineSpace.appendChild(t), +t.scrollIntoView(r),g.display.lineSpace.removeChild(t)))}t=c.maybeHiddenMarkers;r=c.maybeUnhiddenMarkers;if(t)for(f=0;f<t.length;++f)t[f].lines.length||da(t[f],"hide");if(r)for(t=0;t<r.length;++t)r[t].lines.length&&da(r[t],"unhide");k.wrapper.offsetHeight&&(l.scrollTop=g.display.scroller.scrollTop);c.changeObjs&&da(g,"changes",g,c.changeObjs);c.update&&c.update.finish()}})}function Ea(a,b){if(a.curOp)return b();yb(a);try{return b()}finally{zb(a)}}function oa(a,b){return function(){if(a.curOp)return b.apply(a, arguments);yb(a);try{return b.apply(a,arguments)}finally{zb(a)}}}function ua(a){return function(){if(this.curOp)return a.apply(this,arguments);yb(this);try{return a.apply(this,arguments)}finally{zb(this)}}}function pa(a){return function(){var b=this.cm;if(!b||b.curOp)return a.apply(this,arguments);yb(b);try{return a.apply(this,arguments)}finally{zb(b)}}}function ya(a,b,c,d){null==b&&(b=a.doc.first);null==c&&(c=a.doc.first+a.doc.size);d||(d=0);var e=a.display;d&&c<e.viewTo&&(null==e.updateLineNumbers|| e.updateLineNumbers>b)&&(e.updateLineNumbers=b);a.curOp.viewChanged=!0;if(b>=e.viewTo)fb&&Xb(a.doc,b)<e.viewTo&&jb(a);else if(c<=e.viewFrom)fb&&Nc(a.doc,c+d)>e.viewFrom?jb(a):(e.viewFrom+=d,e.viewTo+=d);else if(b<=e.viewFrom&&c>=e.viewTo)jb(a);else if(b<=e.viewFrom){var g=cd(a,c,c+d,1);g?(e.view=e.view.slice(g.index),e.viewFrom=g.lineN,e.viewTo+=d):jb(a)}else if(c>=e.viewTo)(g=cd(a,b,b,-1))?(e.view=e.view.slice(0,g.index),e.viewTo=g.lineN):jb(a);else{g=cd(a,b,b,-1);var k=cd(a,c,c+d,1);g&&k?(e.view= e.view.slice(0,g.index).concat(Uc(a,g.lineN,k.lineN)).concat(e.view.slice(k.index)),e.viewTo+=d):jb(a)}if(a=e.externalMeasured)c<a.lineN?a.lineN+=d:b<a.lineN+a.size&&(e.externalMeasured=null)}function kb(a,b,c){a.curOp.viewChanged=!0;var d=a.display,e=a.display.externalMeasured;e&&b>=e.lineN&&b<e.lineN+e.size&&(d.externalMeasured=null);b<d.viewFrom||b>=d.viewTo||(a=d.view[rb(a,b)],null!=a.node&&(a=a.changes||(a.changes=[]),-1==r(a,c)&&a.push(c)))}function jb(a){a.display.viewFrom=a.display.viewTo= a.doc.first;a.display.view=[];a.display.viewOffset=0}function cd(a,b,c,d){var e=rb(a,b),g=a.display.view;if(!fb||c==a.doc.first+a.doc.size)return{index:e,lineN:c};for(var k=a.display.viewFrom,l=0;l<e;l++)k+=g[l].size;if(k!=b){if(0<d){if(e==g.length-1)return null;b=k+g[e].size-b;e++}else b=k-b;c+=b}for(;Xb(a.doc,c)!=c;){if(e==(0>d?0:g.length-1))return null;c+=d*g[e-(0>d?1:0)].size;e+=d}return{index:e,lineN:c}}function Ve(a){a=a.display.view;for(var b=0,c=0;c<a.length;c++){var d=a[c];d.hidden||d.node&& !d.changes||++b}return b}function oc(a,b){a.doc.highlightFrontier<a.display.viewTo&&a.state.highlight.set(b,k(ug,a))}function ug(a){var b=a.doc;if(!(b.highlightFrontier>=a.display.viewTo)){var c=+new Date+a.options.workTime,d=Va(a,b.highlightFrontier),e=[];b.iter(d.line,Math.min(b.first+b.size,a.display.viewTo+500),function(g){if(d.line>=a.display.viewFrom){var k=g.styles,l=g.text.length>a.options.maxHighlightLength?Oa(b.mode,d.state):null,m=Sc(a,g,d,!0);l&&(d.state=l);g.styles=m.styles;l=g.styleClasses; (m=m.classes)?g.styleClasses=m:l&&(g.styleClasses=null);m=!k||k.length!=g.styles.length||l!=m&&(!l||!m||l.bgClass!=m.bgClass||l.textClass!=m.textClass);for(l=0;!m&&l<k.length;++l)m=k[l]!=g.styles[l];m&&e.push(d.line);g.stateAfter=d.save()}else g.text.length<=a.options.maxHighlightLength&&cc(a,g.text,d),g.stateAfter=0==d.line%5?d.save():null;d.nextLine();if(+new Date>c)return oc(a,a.options.workDelay),!0});b.highlightFrontier=d.line;b.modeFrontier=Math.max(b.modeFrontier,d.line);e.length&&Ea(a,function(){for(var b= -0;b<e.length;b++)kb(a,e[b],"text")})}}function Nd(a,b){var c=a.display,g=a.doc;if(b.editorIsHidden)return jb(a),!1;if(!b.force&&b.visible.from>=c.viewFrom&&b.visible.to<=c.viewTo&&(null==c.updateLineNumbers||c.updateLineNumbers>=c.viewTo)&&c.renderedView==c.view&&0==Ve(a))return!1;Oe(a)&&(jb(a),b.dims=yd(a));var k=g.first+g.size,l=Math.max(b.visible.from-a.options.viewportMargin,g.first),m=Math.min(k,b.visible.to+a.options.viewportMargin);c.viewFrom<l&&20>l-c.viewFrom&&(l=Math.max(g.first,c.viewFrom)); -c.viewTo>m&&20>c.viewTo-m&&(m=Math.min(k,c.viewTo));fb&&(l=Xb(a.doc,l),m=Nc(a.doc,m));g=l!=c.viewFrom||m!=c.viewTo||c.lastWrapHeight!=b.wrapperHeight||c.lastWrapWidth!=b.wrapperWidth;k=a.display;0==k.view.length||l>=k.viewTo||m<=k.viewFrom?(k.view=Uc(a,l,m),k.viewFrom=l):(k.viewFrom>l?k.view=Uc(a,l,k.viewFrom).concat(k.view):k.viewFrom<l&&(k.view=k.view.slice(rb(a,l))),k.viewFrom=l,k.viewTo<m?k.view=k.view.concat(Uc(a,k.viewTo,m)):k.viewTo>m&&(k.view=k.view.slice(0,rb(a,m))));k.viewTo=m;c.viewOffset= -Ha(I(a.doc,c.viewFrom));a.display.mover.style.top=c.viewOffset+"px";m=Ve(a);if(!g&&0==m&&!b.force&&c.renderedView==c.view&&(null==c.updateLineNumbers||c.updateLineNumbers>=c.viewTo))return!1;a.hasFocus()?l=null:(l=e())&&d(a.display.lineDiv,l)?(l={activeElt:l},window.getSelection&&(k=window.getSelection(),k.anchorNode&&k.extend&&d(a.display.lineDiv,k.anchorNode)&&(l.anchorNode=k.anchorNode,l.anchorOffset=k.anchorOffset,l.focusNode=k.focusNode,l.focusOffset=k.focusOffset))):l=null;4<m&&(c.lineDiv.style.display= -"none");vg(a,c.updateLineNumbers,b.dims);4<m&&(c.lineDiv.style.display="");c.renderedView=c.view;(m=l)&&m.activeElt&&m.activeElt!=e()&&(m.activeElt.focus(),m.anchorNode&&d(document.body,m.anchorNode)&&d(document.body,m.focusNode)&&(l=window.getSelection(),k=document.createRange(),k.setEnd(m.anchorNode,m.anchorOffset),k.collapse(!1),l.removeAllRanges(),l.addRange(k),l.extend(m.focusNode,m.focusOffset)));f(c.cursorDiv);f(c.selectionDiv);c.gutters.style.height=c.sizer.style.minHeight=0;g&&(c.lastWrapHeight= -b.wrapperHeight,c.lastWrapWidth=b.wrapperWidth,oc(a,400));c.updateLineNumbers=null;return!0}function Ue(a,b){for(var c=b.viewport,d=!0;;d=!1){if(!d||!a.options.lineWrapping||b.oldDisplayWidth==qb(a))if(c&&null!=c.top&&(c={top:Math.min(a.doc.height+vd(a.display)-wd(a),c.top)}),b.visible=Jd(a.display,a.doc,c),b.visible.from>=a.display.viewFrom&&b.visible.to<=a.display.viewTo)break;if(!Nd(a,b))break;Zc(a);d=pc(a);kc(a);Lb(a,d);Od(a,d);b.force=!1}b.signal(a,"update",a);if(a.display.viewFrom!=a.display.reportedViewFrom|| +0;b<e.length;b++)kb(a,e[b],"text")})}}function Nd(a,b){var d=a.display,g=a.doc;if(b.editorIsHidden)return jb(a),!1;if(!b.force&&b.visible.from>=d.viewFrom&&b.visible.to<=d.viewTo&&(null==d.updateLineNumbers||d.updateLineNumbers>=d.viewTo)&&d.renderedView==d.view&&0==Ve(a))return!1;Oe(a)&&(jb(a),b.dims=yd(a));var k=g.first+g.size,l=Math.max(b.visible.from-a.options.viewportMargin,g.first),m=Math.min(k,b.visible.to+a.options.viewportMargin);d.viewFrom<l&&20>l-d.viewFrom&&(l=Math.max(g.first,d.viewFrom)); +d.viewTo>m&&20>d.viewTo-m&&(m=Math.min(k,d.viewTo));fb&&(l=Xb(a.doc,l),m=Nc(a.doc,m));g=l!=d.viewFrom||m!=d.viewTo||d.lastWrapHeight!=b.wrapperHeight||d.lastWrapWidth!=b.wrapperWidth;k=a.display;0==k.view.length||l>=k.viewTo||m<=k.viewFrom?(k.view=Uc(a,l,m),k.viewFrom=l):(k.viewFrom>l?k.view=Uc(a,l,k.viewFrom).concat(k.view):k.viewFrom<l&&(k.view=k.view.slice(rb(a,l))),k.viewFrom=l,k.viewTo<m?k.view=k.view.concat(Uc(a,k.viewTo,m)):k.viewTo>m&&(k.view=k.view.slice(0,rb(a,m))));k.viewTo=m;d.viewOffset= +Ha(J(a.doc,d.viewFrom));a.display.mover.style.top=d.viewOffset+"px";m=Ve(a);if(!g&&0==m&&!b.force&&d.renderedView==d.view&&(null==d.updateLineNumbers||d.updateLineNumbers>=d.viewTo))return!1;a.hasFocus()?l=null:(l=e())&&c(a.display.lineDiv,l)?(l={activeElt:l},window.getSelection&&(k=window.getSelection(),k.anchorNode&&k.extend&&c(a.display.lineDiv,k.anchorNode)&&(l.anchorNode=k.anchorNode,l.anchorOffset=k.anchorOffset,l.focusNode=k.focusNode,l.focusOffset=k.focusOffset))):l=null;4<m&&(d.lineDiv.style.display= +"none");vg(a,d.updateLineNumbers,b.dims);4<m&&(d.lineDiv.style.display="");d.renderedView=d.view;(m=l)&&m.activeElt&&m.activeElt!=e()&&(m.activeElt.focus(),m.anchorNode&&c(document.body,m.anchorNode)&&c(document.body,m.focusNode)&&(l=window.getSelection(),k=document.createRange(),k.setEnd(m.anchorNode,m.anchorOffset),k.collapse(!1),l.removeAllRanges(),l.addRange(k),l.extend(m.focusNode,m.focusOffset)));f(d.cursorDiv);f(d.selectionDiv);d.gutters.style.height=d.sizer.style.minHeight=0;g&&(d.lastWrapHeight= +b.wrapperHeight,d.lastWrapWidth=b.wrapperWidth,oc(a,400));d.updateLineNumbers=null;return!0}function Ue(a,b){for(var c=b.viewport,d=!0;;d=!1){if(!d||!a.options.lineWrapping||b.oldDisplayWidth==qb(a))if(c&&null!=c.top&&(c={top:Math.min(a.doc.height+vd(a.display)-wd(a),c.top)}),b.visible=Jd(a.display,a.doc,c),b.visible.from>=a.display.viewFrom&&b.visible.to<=a.display.viewTo)break;if(!Nd(a,b))break;Zc(a);d=pc(a);kc(a);Lb(a,d);Od(a,d);b.force=!1}b.signal(a,"update",a);if(a.display.viewFrom!=a.display.reportedViewFrom|| a.display.viewTo!=a.display.reportedViewTo)b.signal(a,"viewportChange",a,a.display.viewFrom,a.display.viewTo),a.display.reportedViewFrom=a.display.viewFrom,a.display.reportedViewTo=a.display.viewTo}function Md(a,b){b=new bd(a,b);if(Nd(a,b)){Zc(a);Ue(a,b);var c=pc(a);kc(a);Lb(a,c);Od(a,c);b.finish()}}function vg(a,b,c){function d(b){var c=b.nextSibling;sa&&Ma&&a.display.currentWheelTarget==b?b.style.display="none":b.parentNode.removeChild(b);return c}var e=a.display,g=a.options.lineNumbers,k=e.lineDiv, l=k.firstChild,m=e.view;e=e.viewFrom;for(var t=0;t<m.length;t++){var u=m[t];if(!u.hidden)if(u.node&&u.node.parentNode==k){for(;l!=u.node;)l=d(l);l=g&&null!=b&&b<=e&&u.lineNumber;u.changes&&(-1<r(u.changes,"gutter")&&(l=!1),qe(a,u,e,c));l&&(f(u.lineNumber),u.lineNumber.appendChild(document.createTextNode(Z(a.options,e))));l=u.node.nextSibling}else{var h=ng(a,u,e,c);k.insertBefore(h,l)}e+=u.size}for(;l;)l=d(l)}function Kd(a){a.display.sizer.style.marginLeft=a.display.gutters.offsetWidth+"px"}function Od(a, -b){a.display.sizer.style.minHeight=b.docHeight+"px";a.display.heightForcer.style.top=b.docHeight+"px";a.display.gutters.style.height=b.docHeight+a.display.barHeight+Xa(a)+"px"}function We(a){var b=a.display.gutters,d=a.options.gutters;f(b);for(var e=0;e<d.length;++e){var g=d[e],k=b.appendChild(c("div",null,"CodeMirror-gutter "+g));"CodeMirror-linenumbers"==g&&(a.display.lineGutter=k,k.style.width=(a.display.lineNumWidth||1)+"px")}b.style.display=e?"":"none";Kd(a)}function Pd(a){var b=r(a.gutters, +b){a.display.sizer.style.minHeight=b.docHeight+"px";a.display.heightForcer.style.top=b.docHeight+"px";a.display.gutters.style.height=b.docHeight+a.display.barHeight+Xa(a)+"px"}function We(a){var b=a.display.gutters,c=a.options.gutters;f(b);for(var e=0;e<c.length;++e){var g=c[e],k=b.appendChild(d("div",null,"CodeMirror-gutter "+g));"CodeMirror-linenumbers"==g&&(a.display.lineGutter=k,k.style.width=(a.display.lineNumWidth||1)+"px")}b.style.display=e?"":"none";Kd(a)}function Pd(a){var b=r(a.gutters, "CodeMirror-linenumbers");-1==b&&a.lineNumbers?a.gutters=a.gutters.concat(["CodeMirror-linenumbers"]):-1<b&&!a.lineNumbers&&(a.gutters=a.gutters.slice(0),a.gutters.splice(b,1))}function Xe(a){var b=a.wheelDeltaX,c=a.wheelDeltaY;null==b&&a.detail&&a.axis==a.HORIZONTAL_AXIS&&(b=a.detail);null==c&&a.detail&&a.axis==a.VERTICAL_AXIS?c=a.detail:null==c&&(c=a.wheelDelta);return{x:b,y:c}}function wg(a){a=Xe(a);a.x*=Ia;a.y*=Ia;return a}function Ye(a,b){var c=Xe(b),d=c.x;c=c.y;var e=a.display,g=e.scroller, k=g.scrollWidth>g.clientWidth,l=g.scrollHeight>g.clientHeight;if(d&&k||c&&l){if(c&&Ma&&sa){k=b.target;var m=e.view;a:for(;k!=g;k=k.parentNode)for(var r=0;r<m.length;r++)if(m[r].node==k){a.display.currentWheelTarget=k;break a}}!d||eb||Ra||null==Ia?(c&&null!=Ia&&(b=c*Ia,l=a.doc.scrollTop,k=l+e.wrapper.clientHeight,0>b?l=Math.max(0,l+b-50):k=Math.min(a.doc.height,k+b+50),Md(a,{top:l,bottom:k})),20>dd&&(null==e.wheelStartX?(e.wheelStartX=g.scrollLeft,e.wheelStartY=g.scrollTop,e.wheelDX=d,e.wheelDY=c, setTimeout(function(){if(null!=e.wheelStartX){var a=g.scrollLeft-e.wheelStartX,b=g.scrollTop-e.wheelStartY;a=b&&e.wheelDY&&b/e.wheelDY||a&&e.wheelDX&&a/e.wheelDX;e.wheelStartX=e.wheelStartY=null;a&&(Ia=(Ia*dd+a)/(dd+1),++dd)}},200)):(e.wheelDX+=d,e.wheelDY+=c))):(c&&l&&nc(a,Math.max(0,g.scrollTop+c*Ia)),xb(a,Math.max(0,g.scrollLeft+d*Ia)),(!c||c&&l)&&na(b),e.wheelStartX=null)}}function Sa(a,b){b=a[b];a.sort(function(a,b){return Q(a.from(),b.from())});b=r(a,b);for(var c=1;c<a.length;c++){var d=a[c], e=a[c-1];if(0<=Q(e.to(),d.from())){var g=fa(e.from(),d.from()),k=ka(e.to(),d.to());d=e.empty()?d.from()==d.head:e.from()==e.head;c<=b&&--b;a.splice(--c,2,new W(d?k:g,d?g:k))}}return new Ja(a,b)}function db(a,b){return new Ja([new W(a,b||a)],0)}function lb(a){return a.text?H(a.from.line+a.text.length-1,w(a.text).length+(1==a.text.length?a.from.ch:0)):a.to}function Ze(a,b){if(0>Q(a,b.from))return a;if(0>=Q(a,b.to))return lb(b);var c=a.line+b.text.length-(b.to.line-b.from.line)-1,d=a.ch;a.line==b.to.line&& (d+=lb(b).ch-b.to.ch);return H(c,d)}function Qd(a,b){for(var c=[],d=0;d<a.sel.ranges.length;d++){var e=a.sel.ranges[d];c.push(new W(Ze(e.anchor,b),Ze(e.head,b)))}return Sa(c,a.sel.primIndex)}function $e(a,b,c){return a.line==b.line?H(c.line,a.ch-b.ch+c.ch):H(c.line+(a.line-b.line),a.ch)}function Rd(a){a.doc.mode=Na(a.options,a.doc.modeOption);qc(a)}function qc(a){a.doc.iter(function(a){a.stateAfter&&(a.stateAfter=null);a.styles&&(a.styles=null)});a.doc.modeFrontier=a.doc.highlightFrontier=a.doc.first; -oc(a,100);a.state.modeGen++;a.curOp&&ya(a)}function af(a,b){return 0==b.from.ch&&0==b.to.ch&&""==w(b.text)&&(!a.cm||a.cm.options.wholeLineUpdateBefore)}function Sd(a,b,c,d){function e(a,c,e){a.text=c;a.stateAfter&&(a.stateAfter=null);a.styles&&(a.styles=null);null!=a.order&&(a.order=null);Eb(a);Aa(a,e);c=d?d(a):1;c!=a.height&&P(a,c);qa(a,"change",a,b)}function g(a,b){for(var e=[];a<b;++a)e.push(new Mb(m[a],c?c[a]:null,d));return e}var k=b.from,l=b.to,m=b.text,r=I(a,k.line),t=I(a,l.line),f=w(m),u= +oc(a,100);a.state.modeGen++;a.curOp&&ya(a)}function af(a,b){return 0==b.from.ch&&0==b.to.ch&&""==w(b.text)&&(!a.cm||a.cm.options.wholeLineUpdateBefore)}function Sd(a,b,c,d){function e(a,c,e){a.text=c;a.stateAfter&&(a.stateAfter=null);a.styles&&(a.styles=null);null!=a.order&&(a.order=null);Eb(a);Aa(a,e);c=d?d(a):1;c!=a.height&&P(a,c);qa(a,"change",a,b)}function g(a,b){for(var e=[];a<b;++a)e.push(new Mb(m[a],c?c[a]:null,d));return e}var k=b.from,l=b.to,m=b.text,r=J(a,k.line),t=J(a,l.line),f=w(m),u= c?c[m.length-1]:null,h=l.line-k.line;b.full?(a.insert(0,g(0,m.length)),a.remove(m.length,a.size-m.length)):af(a,b)?(l=g(0,m.length-1),e(t,t.text,u),h&&a.remove(k.line,h),l.length&&a.insert(k.line,l)):r==t?1==m.length?e(r,r.text.slice(0,k.ch)+f+r.text.slice(l.ch),u):(h=g(1,m.length-1),h.push(new Mb(f+r.text.slice(l.ch),u,d)),e(r,r.text.slice(0,k.ch)+m[0],c?c[0]:null),a.insert(k.line+1,h)):1==m.length?(e(r,r.text.slice(0,k.ch)+m[0]+t.text.slice(l.ch),c?c[0]:null),a.remove(k.line+1,h)):(e(r,r.text.slice(0, k.ch)+m[0],c?c[0]:null),e(t,f+t.text.slice(l.ch),u),u=g(1,m.length-1),1<h&&a.remove(k.line+1,h-1),a.insert(k.line+1,u));qa(a,"change",a,b)}function Ab(a,b,c){function d(a,e,g){if(a.linked)for(var k=0;k<a.linked.length;++k){var l=a.linked[k];if(l.doc!=e){var m=g&&l.sharedHist;if(!c||m)b(l.doc,m),d(l.doc,a,m)}}}d(a,null,!0)}function bf(a,b){if(b.cm)throw Error("This document is already in use.");a.doc=b;b.cm=a;Gd(a);Rd(a);cf(a);a.options.lineWrapping||ab(a);a.options.mode=b.modeOption;ya(a)}function cf(a){("rtl"== a.doc.direction?g:wb)(a.display.lineDiv,"CodeMirror-rtl")}function xg(a){Ea(a,function(){cf(a);ya(a)})}function ed(a){this.done=[];this.undone=[];this.undoDepth=Infinity;this.lastModTime=this.lastSelTime=0;this.lastOrigin=this.lastSelOrigin=this.lastOp=this.lastSelOp=null;this.generation=this.maxGeneration=a||1}function Td(a,b){var c={from:ba(b.from),to:lb(b),text:O(a,b.from,b.to)};df(a,c,b.from.line,b.to.line+1);Ab(a,function(a){return df(a,c,b.from.line,b.to.line+1)},!0);return c}function ef(a){for(;a.length;)if(w(a).ranges)a.pop(); @@ -490,17 +490,17 @@ c)&&(b=c)),new W(a,b)):new W(c||b,b)}function gd(a,b,c,d,e){null==e&&(e=a.cm&&(a new W(R(a,b[c].anchor),R(a,b[c].head))},origin:c&&c.origin};da(a,"beforeSelectionChange",a,c);a.cm&&da(a.cm,"beforeSelectionChange",a.cm,c);return c.ranges!=b.ranges?Sa(c.ranges,c.ranges.length-1):b}function jf(a,b,c){var d=a.history.done,e=w(d);e&&e.ranges?(d[d.length-1]=b,hd(a,b,c)):ra(a,b,c)}function ra(a,b,c){hd(a,b,c);b=a.sel;var d=a.cm?a.cm.curOp.id:NaN,e=a.history,g=c&&c.origin,k;if(!(k=d==e.lastSelOp)&&(k=g&&e.lastSelOrigin==g)&&!(k=e.lastModTime==e.lastSelTime&&e.lastOrigin==g)){k=w(e.done); var l=g.charAt(0);k="*"==l||"+"==l&&k.ranges.length==b.ranges.length&&k.somethingSelected()==b.somethingSelected()&&new Date-a.history.lastSelTime<=(a.cm?a.cm.options.historyEventDelay:500)}k?e.done[e.done.length-1]=b:fd(b,e.done);e.lastSelTime=+new Date;e.lastSelOrigin=g;e.lastSelOp=d;c&&!1!==c.clearRedo&&ef(e.undone)}function hd(a,b,c){if(Da(a,"beforeSelectionChange")||a.cm&&Da(a.cm,"beforeSelectionChange"))b=zg(a,b,c);var d=c&&c.bias||(0>Q(b.primary().head,a.sel.primary().head)?-1:1);kf(a,lf(a, b,d,!0));c&&!1===c.scroll||!a.cm||Kb(a.cm)}function kf(a,b){b.equals(a.sel)||(a.sel=b,a.cm&&(a.cm.curOp.updateInput=a.cm.curOp.selectionChanged=!0,$b(a.cm)),qa(a,"cursorActivity",a))}function mf(a){kf(a,lf(a,a.sel,null,!1))}function lf(a,b,c,d){for(var e,g=0;g<b.ranges.length;g++){var k=b.ranges[g],l=b.ranges.length==a.sel.ranges.length&&a.sel.ranges[g],m=Wd(a,k.anchor,l&&l.anchor,c,d);l=Wd(a,k.head,l&&l.head,c,d);if(e||m!=k.anchor||l!=k.head)e||(e=b.ranges.slice(0,g)),e[g]=new W(m,l)}return e?Sa(e, -b.primIndex):b}function Ob(a,b,c,d,e){var g=I(a,b.line);if(g.markedSpans)for(var k=0;k<g.markedSpans.length;++k){var l=g.markedSpans[k],m=l.marker;if((null==l.from||(m.inclusiveLeft?l.from<=b.ch:l.from<b.ch))&&(null==l.to||(m.inclusiveRight?l.to>=b.ch:l.to>b.ch))){if(e&&(da(m,"beforeCursorEnter"),m.explicitlyCleared))if(g.markedSpans){--k;continue}else break;if(m.atomic){if(c){k=m.find(0>d?1:-1);l=void 0;if(0>d?m.inclusiveRight:m.inclusiveLeft)k=nf(a,k,-d,k&&k.line==b.line?g:null);if(k&&k.line==b.line&& -(l=Q(k,c))&&(0>d?0>l:0<l))return Ob(a,k,b,d,e)}c=m.find(0>d?-1:1);if(0>d?m.inclusiveLeft:m.inclusiveRight)c=nf(a,c,d,c.line==b.line?g:null);return c?Ob(a,c,b,d,e):null}}}return b}function Wd(a,b,c,d,e){d=d||1;b=Ob(a,b,c,d,e)||!e&&Ob(a,b,c,d,!0)||Ob(a,b,c,-d,e)||!e&&Ob(a,b,c,-d,!0);return b?b:(a.cantEdit=!0,H(a.first,0))}function nf(a,b,c,d){return 0>c&&0==b.ch?b.line>a.first?R(a,H(b.line-1)):null:0<c&&b.ch==(d||I(a,b.line)).text.length?b.line<a.first+a.size-1?H(b.line+1,0):null:new H(b.line,b.ch+ +b.primIndex):b}function Ob(a,b,c,d,e){var g=J(a,b.line);if(g.markedSpans)for(var k=0;k<g.markedSpans.length;++k){var l=g.markedSpans[k],m=l.marker;if((null==l.from||(m.inclusiveLeft?l.from<=b.ch:l.from<b.ch))&&(null==l.to||(m.inclusiveRight?l.to>=b.ch:l.to>b.ch))){if(e&&(da(m,"beforeCursorEnter"),m.explicitlyCleared))if(g.markedSpans){--k;continue}else break;if(m.atomic){if(c){k=m.find(0>d?1:-1);l=void 0;if(0>d?m.inclusiveRight:m.inclusiveLeft)k=nf(a,k,-d,k&&k.line==b.line?g:null);if(k&&k.line==b.line&& +(l=Q(k,c))&&(0>d?0>l:0<l))return Ob(a,k,b,d,e)}c=m.find(0>d?-1:1);if(0>d?m.inclusiveLeft:m.inclusiveRight)c=nf(a,c,d,c.line==b.line?g:null);return c?Ob(a,c,b,d,e):null}}}return b}function Wd(a,b,c,d,e){d=d||1;b=Ob(a,b,c,d,e)||!e&&Ob(a,b,c,d,!0)||Ob(a,b,c,-d,e)||!e&&Ob(a,b,c,-d,!0);return b?b:(a.cantEdit=!0,H(a.first,0))}function nf(a,b,c,d){return 0>c&&0==b.ch?b.line>a.first?R(a,H(b.line-1)):null:0<c&&b.ch==(d||J(a,b.line)).text.length?b.line<a.first+a.size-1?H(b.line+1,0):null:new H(b.line,b.ch+ c)}function of(a){a.setSelection(H(a.firstLine(),0),H(a.lastLine()),Ya)}function pf(a,b,c){var d={canceled:!1,from:b.from,to:b.to,text:b.text,origin:b.origin,cancel:function(){return d.canceled=!0}};c&&(d.update=function(b,c,e,g){b&&(d.from=R(a,b));c&&(d.to=R(a,c));e&&(d.text=e);void 0!==g&&(d.origin=g)});da(a,"beforeChange",a,d);a.cm&&da(a.cm,"beforeChange",a.cm,d);return d.canceled?null:{from:d.from,to:d.to,text:d.text,origin:d.origin}}function Pb(a,b,c){if(a.cm){if(!a.cm.curOp)return oa(a.cm,Pb)(a, b,c);if(a.cm.state.suppressEdits)return}if(Da(a,"beforeChange")||a.cm&&Da(a.cm,"beforeChange"))if(b=pf(a,b,!0),!b)return;if(c=qf&&!c&&Wb(a,b.from,b.to))for(var d=c.length-1;0<=d;--d)rf(a,{from:c[d].from,to:c[d].to,text:d?[""]:b.text,origin:b.origin});else rf(a,b)}function rf(a,b){if(1!=b.text.length||""!=b.text[0]||0!=Q(b.from,b.to)){var c=Qd(a,b);ff(a,b,c,a.cm?a.cm.curOp.id:NaN);rc(a,b,c,Za(a,b));var d=[];Ab(a,function(a,c){c||-1!=r(d,a.history)||(sf(a.history,b),d.push(a.history));rc(a,b,null,Za(a, b))})}}function id(a,b,c){if(!a.cm||!a.cm.state.suppressEdits||c){for(var d=a.history,e,g=a.sel,k="undo"==b?d.done:d.undone,l="undo"==b?d.undone:d.done,m=0;m<k.length&&(e=k[m],c?!e.ranges||e.equals(a.sel):e.ranges);m++);if(m!=k.length){for(d.lastOrigin=d.lastSelOrigin=null;;)if(e=k.pop(),e.ranges){fd(e,l);if(c&&!e.equals(a.sel)){ra(a,e,{clearRedo:!1});return}g=e}else break;var t=[];fd(g,l);l.push({changes:t,generation:d.generation});d.generation=e.generation||++d.maxGeneration;var f=Da(a,"beforeChange")|| a.cm&&Da(a.cm,"beforeChange");c=function(c){var d=e.changes[c];d.origin=b;if(f&&!pf(a,d,!1))return k.length=0,{};t.push(Td(a,d));var g=c?Qd(a,d):w(k);rc(a,d,g,gf(a,d));!c&&a.cm&&a.cm.scrollIntoView({from:d.from,to:lb(d)});var l=[];Ab(a,function(a,b){b||-1!=r(l,a.history)||(sf(a.history,d),l.push(a.history));rc(a,d,null,gf(a,d))})};for(d=e.changes.length-1;0<=d;--d)if(g=c(d))return g.v}}}function tf(a,b){if(0!=b&&(a.first+=b,a.sel=new Ja(y(a.sel.ranges,function(a){return new W(H(a.anchor.line+b,a.anchor.ch), H(a.head.line+b,a.head.ch))}),a.sel.primIndex),a.cm)){ya(a.cm,a.first,a.first-b,b);for(var c=a.cm.display,d=c.viewFrom;d<c.viewTo;d++)kb(a.cm,d,"gutter")}}function rc(a,b,c,d){if(a.cm&&!a.cm.curOp)return oa(a.cm,rc)(a,b,c,d);if(b.to.line<a.first)tf(a,b.text.length-1-(b.to.line-b.from.line));else if(!(b.from.line>a.lastLine())){if(b.from.line<a.first){var e=b.text.length-1-(a.first-b.from.line);tf(a,e);b={from:H(a.first,0),to:H(b.to.line+e,b.to.ch),text:[w(b.text)],origin:b.origin}}e=a.lastLine(); -b.to.line>e&&(b={from:b.from,to:H(e,I(a,e).text.length),text:[b.text[0]],origin:b.origin});b.removed=O(a,b.from,b.to);c||(c=Qd(a,b));a.cm?Ag(a.cm,b,d):Sd(a,b,d);hd(a,c,Ya)}}function Ag(a,b,c){var d=a.doc,e=a.display,g=b.from,k=b.to,l=!1,m=g.line;a.options.lineWrapping||(m=N(Ga(I(d,g.line))),d.iter(m,k.line+1,function(a){if(a==e.maxLine)return l=!0}));-1<d.sel.contains(b.from,b.to)&&$b(a);Sd(d,b,c,He(a));a.options.lineWrapping||(d.iter(m,g.line+b.text.length,function(a){var b=xa(a);b>e.maxLineLength&& +b.to.line>e&&(b={from:b.from,to:H(e,J(a,e).text.length),text:[b.text[0]],origin:b.origin});b.removed=O(a,b.from,b.to);c||(c=Qd(a,b));a.cm?Ag(a.cm,b,d):Sd(a,b,d);hd(a,c,Ya)}}function Ag(a,b,c){var d=a.doc,e=a.display,g=b.from,k=b.to,l=!1,m=g.line;a.options.lineWrapping||(m=N(Ga(J(d,g.line))),d.iter(m,k.line+1,function(a){if(a==e.maxLine)return l=!0}));-1<d.sel.contains(b.from,b.to)&&$b(a);Sd(d,b,c,He(a));a.options.lineWrapping||(d.iter(m,g.line+b.text.length,function(a){var b=xa(a);b>e.maxLineLength&& (e.maxLine=a,e.maxLineLength=b,e.maxLineChanged=!0,l=!1)}),l&&(a.curOp.updateMaxLine=!0));fg(d,g.line);oc(a,400);c=b.text.length-(k.line-g.line)-1;b.full?ya(a):g.line!=k.line||1!=b.text.length||af(a.doc,b)?ya(a,g.line,k.line+1,c):kb(a,g.line,"text");c=Da(a,"changes");if((d=Da(a,"change"))||c)b={from:g,to:k,text:b.text,removed:b.removed,origin:b.origin},d&&qa(a,"change",a,b),c&&(a.curOp.changeObjs||(a.curOp.changeObjs=[])).push(b);a.display.selForContextMenu=null}function Qb(a,b,c,d,e){d||(d=c);if(0> Q(d,c)){var g=[d,c];c=g[0];d=g[1];g}"string"==typeof b&&(b=a.splitLines(b));Pb(a,{from:c,to:d,text:b,origin:e})}function uf(a,b,c,d){c<a.line?a.line+=d:b<a.line&&(a.line=b,a.ch=0)}function vf(a,b,c,d){for(var e=0;e<a.length;++e){var g=a[e],k=!0;if(g.ranges)for(g.copied||(g=a[e]=g.deepCopy(),g.copied=!0),k=0;k<g.ranges.length;k++)uf(g.ranges[k].anchor,b,c,d),uf(g.ranges[k].head,b,c,d);else{for(var l=0;l<g.changes.length;++l){var m=g.changes[l];if(c<m.from.line)m.from=H(m.from.line+d,m.from.ch),m.to= -H(m.to.line+d,m.to.ch);else if(b<=m.to.line){k=!1;break}}k||(a.splice(0,e+1),e=0)}}}function sf(a,b){var c=b.from.line,d=b.to.line;b=b.text.length-(d-c)-1;vf(a.done,c,d,b);vf(a.undone,c,d,b)}function sc(a,b,c,d){var e=b,g=b;"number"==typeof b?g=I(a,Math.max(a.first,Math.min(b,a.first+a.size-1))):e=N(b);if(null==e)return null;d(g,e)&&a.cm&&kb(a.cm,e,c);return g}function tc(a){this.lines=a;this.parent=null;for(var b=0,c=0;c<a.length;++c)a[c].parent=this,b+=a[c].height;this.height=b}function uc(a){this.children= +H(m.to.line+d,m.to.ch);else if(b<=m.to.line){k=!1;break}}k||(a.splice(0,e+1),e=0)}}}function sf(a,b){var c=b.from.line,d=b.to.line;b=b.text.length-(d-c)-1;vf(a.done,c,d,b);vf(a.undone,c,d,b)}function sc(a,b,c,d){var e=b,g=b;"number"==typeof b?g=J(a,Math.max(a.first,Math.min(b,a.first+a.size-1))):e=N(b);if(null==e)return null;d(g,e)&&a.cm&&kb(a.cm,e,c);return g}function tc(a){this.lines=a;this.parent=null;for(var b=0,c=0;c<a.length;++c)a[c].parent=this,b+=a[c].height;this.height=b}function uc(a){this.children= a;for(var b=0,c=0,d=0;d<a.length;++d){var e=a[d];b+=e.chunkSize();c+=e.height;e.parent=this}this.size=b;this.height=c;this.parent=null}function Bg(a,b,c,d){var e=new vc(a,c,d),g=a.cm;g&&e.noHScroll&&(g.display.alignWidgets=!0);sc(a,b,"widget",function(b){var c=b.widgets||(b.widgets=[]);null==e.insertAt?c.push(e):c.splice(Math.min(c.length-1,Math.max(0,e.insertAt)),0,e);e.line=b;g&&!$a(a,b)&&(c=Ha(b)<a.scrollTop,P(b,b.height+hc(e)),c&&$c(g,e.height),g.curOp.forceUpdate=!0);return!0});qa(g,"lineWidgetAdded", g,e,"number"==typeof b?b:N(b));return e}function Rb(a,c,d,e,g){if(e&&e.shared)return Cg(a,c,d,e,g);if(a.cm&&!a.cm.curOp)return oa(a.cm,Rb)(a,c,d,e,g);var k=new mb(a,g);g=Q(c,d);e&&t(e,k,!1);if(0<g||0==g&&!1!==k.clearWhenEmpty)return k;k.replacedWith&&(k.collapsed=!0,k.widgetNode=b("span",[k.replacedWith],"CodeMirror-widget"),e.handleMouseEvents||k.widgetNode.setAttribute("cm-ignore-events","true"),e.insertLeft&&(k.widgetNode.insertLeft=!0));if(k.collapsed){if(Fb(a,c.line,c,d,k)||c.line!=d.line&&Fb(a, d.line,c,d,k))throw Error("Inserting collapsed marker partially overlapping an existing one");fb=!0}k.addToHistory&&ff(a,{from:c,to:d,origin:"markText"},a.sel,NaN);var l=c.line,m=a.cm,r;a.iter(l,d.line+1,function(a){m&&k.collapsed&&!m.options.lineWrapping&&Ga(a)==m.display.maxLine&&(r=!0);k.collapsed&&l!=c.line&&P(a,0);var b=new Ka(k,l==c.line?c.ch:null,l==d.line?d.ch:null);a.markedSpans=a.markedSpans?a.markedSpans.concat([b]):[b];b.marker.attachLine(a);++l});k.collapsed&&a.iter(c.line,d.line+1,function(b){$a(a, @@ -516,7 +516,7 @@ var e=b.call?b.call(a,d):b[a];if(!1===e)return"nothing";if("..."===e)return"mult d.length-1;0<=b;b--)Qb(a.doc,"",d[b].from,d[b].to,"+delete");Kb(a)})}function Xd(a,b,c){b=B(a.text,b+c,c);return 0>b||b>a.text.length?null:b}function Yd(a,b,c){a=Xd(a,b.ch,c);return null==a?null:new H(b.line,a,0>c?"after":"before")}function Zd(a,b,c,d,e){if(a&&(a=Ca(c,b.doc.direction))){a=0>e?w(a):a[0];var g=0>e==(1==a.level)?"after":"before";if(0<a.level||"rtl"==b.doc.direction){var k=sb(b,c);var l=0>e?c.text.length-1:0;var m=Pa(b,k,l).top;l=F(function(a){return Pa(b,k,a).top==m},0>e==(1==a.level)? a.from:a.to-1,l);"before"==g&&(l=Xd(c,l,1))}else l=0>e?a.to:a.from;return new H(d,l,g)}return new H(d,0>e?c.text.length:0,0>e?"before":"after")}function Jg(a,b,c,d){var e=Ca(b,a.doc.direction);if(!e)return Yd(b,c,d);c.ch>=b.text.length?(c.ch=b.text.length,c.sticky="before"):0>=c.ch&&(c.ch=0,c.sticky="after");var g=Ua(e,c.ch,c.sticky),k=e[g];if("ltr"==a.doc.direction&&0==k.level%2&&(0<d?k.to>c.ch:k.from<c.ch))return Yd(b,c,d);var l=function(a,c){return Xd(b,a instanceof H?a.ch:a,c)},m,r=function(c){if(!a.options.lineWrapping)return{begin:0, end:b.text.length};m=m||sb(a,b);return Ge(a,b,m,c)},t=r("before"==c.sticky?l(c,-1):c.ch);if("rtl"==a.doc.direction||1==k.level){var f=1==k.level==0>d,u=l(c,f?1:-1);if(null!=u&&(f?u<=k.to&&u<=t.end:u>=k.from&&u>=t.begin))return new H(c.line,u,f?"before":"after")}k=function(a,b,d){for(var g=function(a,b){return b?new H(c.line,l(a,1),"before"):new H(c.line,a,"after")};0<=a&&a<e.length;a+=b){var k=e[a],m=0<b==(1!=k.level),r=m?d.begin:l(d.end,-1);if(k.from<=r&&r<k.to)return g(r,m);r=m?k.from:l(k.to,-1); -if(d.begin<=r&&r<d.end)return g(r,m)}};if(g=k(g+d,d,t))return g;t=0<d?t.end:l(t.begin,-1);return null==t||0<d&&t==b.text.length||!(g=k(0<d?0:e.length-1,d,r(t)))?null:g}function Ff(a,b){var c=I(a.doc,b),d=Ga(c);d!=c&&(b=N(d));return Zd(!0,a,d,b,1)}function Gf(a,b){var c=Ff(a,b.line),d=I(a.doc,c.line);a=Ca(d,a.doc.direction);return a&&0!=a[0].level?c:(d=Math.max(0,d.text.search(/\S/)),H(c.line,b.line==c.line&&b.ch<=d&&b.ch?0:d,c.sticky))}function kd(a,b,c){if("string"==typeof b&&(b=yc[b],!b))return!1; +if(d.begin<=r&&r<d.end)return g(r,m)}};if(g=k(g+d,d,t))return g;t=0<d?t.end:l(t.begin,-1);return null==t||0<d&&t==b.text.length||!(g=k(0<d?0:e.length-1,d,r(t)))?null:g}function Ff(a,b){var c=J(a.doc,b),d=Ga(c);d!=c&&(b=N(d));return Zd(!0,a,d,b,1)}function Gf(a,b){var c=Ff(a,b.line),d=J(a.doc,c.line);a=Ca(d,a.doc.direction);return a&&0!=a[0].level?c:(d=Math.max(0,d.text.search(/\S/)),H(c.line,b.line==c.line&&b.ch<=d&&b.ch?0:d,c.sticky))}function kd(a,b,c){if("string"==typeof b&&(b=yc[b],!b))return!1; a.display.input.ensurePolled();var d=a.display.shift,e=!1;try{a.isReadOnly()&&(a.state.suppressEdits=!0),c&&(a.display.shift=!1),e=b(a)!=ld}finally{a.display.shift=d,a.state.suppressEdits=!1}return e}function Kg(a,b,c){for(var d=0;d<a.state.keyMaps.length;d++){var e=Sb(b,a.state.keyMaps[d],c,a);if(e)return e}return a.options.extraKeys&&Sb(b,a.options.extraKeys,c,a)||Sb(b,a.options.keyMap,c,a)}function zc(a,b,c,d){var e=a.state.keySeq;if(e){if(Bf(b))return"handled";Lg.set(50,function(){a.state.keySeq== e&&(a.state.keySeq=null,a.display.input.reset())});b=e+" "+b}d=Kg(a,b,d);"multi"==d&&(a.state.keySeq=b);"handled"==d&&qa(a,"keyHandled",a,b,c);if("handled"==d||"multi"==d)na(c),Hd(a);return e&&!d&&/\'$/.test(b)?(na(c),!0):!!d}function Hf(a,b){var c=Ef(b,!0);return c?b.shiftKey&&!a.state.keySeq?zc(a,"Shift-"+c,b,function(b){return kd(a,b,!0)})||zc(a,c,b,function(b){if("string"==typeof b?/^go[A-Z]/.test(b):b.motion)return kd(a,b)}):zc(a,c,b,function(b){return kd(a,b)}):!1}function Mg(a,b,c){return zc(a, "'"+c+"'",b,function(b){return kd(a,b,!0)})}function If(a){this.curOp.focus=e();if(!ia(this,a)){V&&11>ca&&27==a.keyCode&&(a.returnValue=!1);var b=a.keyCode;this.display.shift=16==b||a.shiftKey;var c=Hf(this,a);Ra&&($d=c?b:null,!c&&88==b&&!Ng&&(Ma?a.metaKey:a.ctrlKey)&&this.replaceSelection("",null,"cut"));18!=b||/\bCodeMirror-crosshair\b/.test(this.display.lineDiv.className)||Og(this)}}function Og(a){function b(a){18!=a.keyCode&&a.altKey||(wb(c,"CodeMirror-crosshair"),ha(document,"keyup",b),ha(document, @@ -526,35 +526,35 @@ this.state.selectingText(a);c&&Qg(this,d,c,e,a)||(1==d?c?Rg(this,c,e,a):(a.targe !1}return d})}function Rg(a,b,c,d){V?setTimeout(k(Ke,a),0):a.curOp.focus=e();var g=a.getOption("configureMouse");g=g?g(a,c,d):{};null==g.unit&&(g.unit=(Sg?d.shiftKey&&d.metaKey:d.altKey)?"rectangle":"single"==c?"char":"double"==c?"word":"line");if(null==g.extend||a.doc.extend)g.extend=a.doc.extend||d.shiftKey;null==g.addNew&&(g.addNew=Ma?d.metaKey:d.ctrlKey);null==g.moveOnDrag&&(g.moveOnDrag=!(Ma?d.altKey:d.ctrlKey));var l=a.doc.sel,m;a.options.dragDrop&&Tg&&!a.isReadOnly()&&"single"==c&&-1<(m=l.contains(b))&& (0>Q((m=l.ranges[m]).from(),b)||0<b.xRel)&&(0<Q(m.to(),b)||0>b.xRel)?Ug(a,d,b,g):Vg(a,d,b,g)}function Ug(a,b,c,d){var e=a.display,g=!1,k=oa(a,function(b){sa&&(e.scroller.draggable=!1);a.state.draggingText=!1;ha(document,"mouseup",k);ha(document,"mousemove",l);ha(e.scroller,"dragstart",m);ha(e.scroller,"drop",k);g||(na(b),d.addNew||gd(a.doc,c,null,null,d.extend),sa||V&&9==ca?setTimeout(function(){document.body.focus();e.input.focus()},20):e.input.focus())}),l=function(a){g=g||10<=Math.abs(b.clientX- a.clientX)+Math.abs(b.clientY-a.clientY)},m=function(){return g=!0};sa&&(e.scroller.draggable=!0);a.state.draggingText=k;k.copy=!d.moveOnDrag;e.scroller.dragDrop&&e.scroller.dragDrop();T(document,"mouseup",k);T(document,"mousemove",l);T(e.scroller,"dragstart",m);T(e.scroller,"drop",k);Le(a);setTimeout(function(){return e.input.focus()},20)}function Nf(a,b,c){if("char"==c)return new W(b,b);if("word"==c)return a.findWordAt(b);if("line"==c)return new W(H(b.line,0),R(a.doc,H(b.line+1,0)));a=c(a,b);return new W(a.from, -a.to)}function Vg(a,b,c,d){function g(b){if(0!=Q(w,b))if(w=b,"rectangle"==d.unit){var e=[],g=a.options.tabSize,k=m(I(t,c.line).text,c.ch,g),l=m(I(t,b.line).text,b.ch,g),r=Math.min(k,l);k=Math.max(k,l);l=Math.min(c.line,b.line);for(var h=Math.min(a.lastLine(),Math.max(c.line,b.line));l<=h;l++){var p=I(t,l).text,D=u(p,r,g);r==k?e.push(new W(H(l,D),H(l,D))):p.length>D&&e.push(new W(H(l,D),H(l,u(p,k,g))))}e.length||e.push(new W(c,c));ra(t,Sa(f.ranges.slice(0,v).concat(e),v),{origin:"*mouse",scroll:!1}); +a.to)}function Vg(a,b,c,d){function g(b){if(0!=Q(w,b))if(w=b,"rectangle"==d.unit){var e=[],g=a.options.tabSize,k=m(J(t,c.line).text,c.ch,g),l=m(J(t,b.line).text,b.ch,g),r=Math.min(k,l);k=Math.max(k,l);l=Math.min(c.line,b.line);for(var h=Math.min(a.lastLine(),Math.max(c.line,b.line));l<=h;l++){var p=J(t,l).text,D=u(p,r,g);r==k?e.push(new W(H(l,D),H(l,D))):p.length>D&&e.push(new W(H(l,D),H(l,u(p,k,g))))}e.length||e.push(new W(c,c));ra(t,Sa(f.ranges.slice(0,v).concat(e),v),{origin:"*mouse",scroll:!1}); a.scrollIntoView(b)}else e=n,r=Nf(a,b,d.unit),b=e.anchor,0<Q(r.anchor,b)?(g=r.head,b=fa(e.from(),r.anchor)):(g=r.anchor,b=ka(e.to(),r.head)),e=f.ranges.slice(0),e[v]=Wg(a,new W(R(t,b),g)),ra(t,Sa(e,v),ce)}function k(b){var c=++D,l=vb(a,b,!0,"rectangle"==d.unit);if(l)if(0!=Q(l,w)){a.curOp.focus=e();g(l);var m=Jd(r,t);(l.line>=m.to||l.line<m.from)&&setTimeout(oa(a,function(){D==c&&k(b)}),150)}else{var f=b.clientY<p.top?-20:b.clientY>p.bottom?20:0;f&&setTimeout(oa(a,function(){D==c&&(r.scroller.scrollTop+= f,k(b))}),50)}}function l(b){a.state.selectingText=!1;D=Infinity;na(b);r.input.focus();ha(document,"mousemove",x);ha(document,"mouseup",z);t.history.lastSelOrigin=null}var r=a.display,t=a.doc;na(b);var f=t.sel,h=f.ranges;if(d.addNew&&!d.extend){var v=t.sel.contains(c);var n=-1<v?h[v]:new W(c,c)}else n=t.sel.primary(),v=t.sel.primIndex;"rectangle"==d.unit?(d.addNew||(n=new W(c,c)),c=vb(a,b,!0,!0),v=-1):(b=Nf(a,c,d.unit),n=d.extend?Ud(n,b.anchor,b.head,d.extend):b);d.addNew?-1==v?(v=h.length,ra(t,Sa(h.concat([n]), -v),{scroll:!1,origin:"*mouse"})):1<h.length&&h[v].empty()&&"char"==d.unit&&!d.extend?(ra(t,Sa(h.slice(0,v).concat(h.slice(v+1)),0),{scroll:!1,origin:"*mouse"}),f=t.sel):Vd(t,v,n,ce):(v=0,ra(t,new Ja([n],0),ce),f=t.sel);var w=c,p=r.wrapper.getBoundingClientRect(),D=0,x=oa(a,function(a){ac(a)?k(a):l(a)}),z=oa(a,l);a.state.selectingText=z;T(document,"mousemove",x);T(document,"mouseup",z)}function Wg(a,b){var c=b.anchor,d=b.head,e=I(a.doc,c.line);if(0==Q(c,d)&&c.sticky==d.sticky)return b;e=Ca(e);if(!e)return b; +v),{scroll:!1,origin:"*mouse"})):1<h.length&&h[v].empty()&&"char"==d.unit&&!d.extend?(ra(t,Sa(h.slice(0,v).concat(h.slice(v+1)),0),{scroll:!1,origin:"*mouse"}),f=t.sel):Vd(t,v,n,ce):(v=0,ra(t,new Ja([n],0),ce),f=t.sel);var w=c,p=r.wrapper.getBoundingClientRect(),D=0,x=oa(a,function(a){ac(a)?k(a):l(a)}),z=oa(a,l);a.state.selectingText=z;T(document,"mousemove",x);T(document,"mouseup",z)}function Wg(a,b){var c=b.anchor,d=b.head,e=J(a.doc,c.line);if(0==Q(c,d)&&c.sticky==d.sticky)return b;e=Ca(e);if(!e)return b; var g=Ua(e,c.ch,c.sticky),k=e[g];if(k.from!=c.ch&&k.to!=c.ch)return b;var l=g+(k.from==c.ch==(1!=k.level)?0:1);if(0==l||l==e.length)return b;d.line!=c.line?a=0<(d.line-c.line)*("ltr"==a.doc.direction?1:-1):(a=Ua(e,d.ch,d.sticky),g=a-g||(d.ch-c.ch)*(1==k.level?-1:1),a=a==l-1||a==l?0>g:0<g);e=e[l+(a?-1:0)];e=(l=a==(1==e.level))?e.from:e.to;l=l?"after":"before";return c.ch==e&&c.sticky==l?b:new W(new H(c.line,e,l),d)}function md(a,b,c,d){if(b.touches){var e=b.touches[0].clientX;var g=b.touches[0].clientY}else try{e= b.clientX,g=b.clientY}catch(he){return!1}if(e>=Math.floor(a.display.gutters.getBoundingClientRect().right))return!1;d&&na(b);d=a.display;var k=d.lineDiv.getBoundingClientRect();if(g>k.bottom||!Da(a,c))return ob(b);g-=k.top-d.viewOffset;for(k=0;k<a.options.gutters.length;++k){var l=d.gutters.childNodes[k];if(l&&l.getBoundingClientRect().right>=e)return e=S(a.doc,g),da(a,c,a,e,a.options.gutters[k],b),ob(b)}}function Mf(a,b){var c;(c=cb(a.display,b))||(c=Da(a,"gutterContextMenu")?md(a,b,"gutterContextMenu", !1):!1);if(!c&&!ia(a,b,"contextmenu"))a.display.input.onContextMenu(b)}function Of(a){a.display.wrapper.className=a.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+a.options.theme.replace(/(^|\s)\s*/g," cm-s-");jc(a)}function Cc(a){We(a);ya(a);Ne(a)}function Xg(a,b,c){!b!=!(c&&c!=Ub)&&(c=a.display.dragFunctions,b=b?T:ha,b(a.display.scroller,"dragstart",c.start),b(a.display.scroller,"dragenter",c.enter),b(a.display.scroller,"dragover",c.over),b(a.display.scroller,"dragleave",c.leave),b(a.display.scroller, "drop",c.drop))}function Yg(a){a.options.lineWrapping?(g(a.display.wrapper,"CodeMirror-wrap"),a.display.sizer.style.minWidth="",a.display.sizerWidth=null):(wb(a.display.wrapper,"CodeMirror-wrap"),ab(a));Gd(a);ya(a);jc(a);setTimeout(function(){return Lb(a)},100)}function ea(a,b){var c=this;if(!(this instanceof ea))return new ea(a,b);this.options=b=b?t(b):{};t(Pf,b,!1);Pd(b);var d=b.value;"string"==typeof d&&(d=new za(d,b.mode,null,b.lineSeparator,b.direction));this.doc=d;var e=new ea.inputStyles[b.inputStyle](this); a=this.display=new L(a,d,e);a.wrapper.CodeMirror=this;We(this);Of(this);b.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap");Se(this);this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:!1,cutIncoming:!1,selectingText:!1,draggingText:!1,highlight:new Bb,keySeq:null,specialChars:null};b.autofocus&&!Yb&&a.input.focus();V&&11>ca&&setTimeout(function(){return c.display.input.reset(!0)},20);Zg(this);Qf||(Fg(),Qf=!0);yb(this); this.curOp.forceUpdate=!0;bf(this,d);b.autofocus&&!Yb||this.hasFocus()?setTimeout(k(Id,this),20):lc(this);for(var g in nd)if(nd.hasOwnProperty(g))nd[g](c,b[g],Ub);Oe(this);b.finishInit&&b.finishInit(this);for(d=0;d<de.length;++d)de[d](c);zb(this);sa&&b.lineWrapping&&"optimizelegibility"==getComputedStyle(a.lineDiv).textRendering&&(a.lineDiv.style.textRendering="auto")}function Zg(a){function b(){e.activeTouch&&(g=setTimeout(function(){return e.activeTouch=null},1E3),k=e.activeTouch,k.end=+new Date)} -function d(a,b){if(null==b.left)return!0;var c=b.left-a.left;a=b.top-a.top;return 400<c*c+a*a}var e=a.display;T(e.scroller,"mousedown",oa(a,Lf));V&&11>ca?T(e.scroller,"dblclick",oa(a,function(b){if(!ia(a,b)){var c=vb(a,b);!c||md(a,b,"gutterClick",!0)||cb(a.display,b)||(na(b),b=a.findWordAt(c),gd(a.doc,b.anchor,b.head))}})):T(e.scroller,"dblclick",function(b){return ia(a,b)||na(b)});be||T(e.scroller,"contextmenu",function(b){return Mf(a,b)});var g,k={end:0};T(e.scroller,"touchstart",function(b){var c; -if(c=!ia(a,b))1!=b.touches.length?c=!1:(c=b.touches[0],c=1>=c.radiusX&&1>=c.radiusY),c=!c;c&&!md(a,b,"gutterClick",!0)&&(e.input.ensurePolled(),clearTimeout(g),c=+new Date,e.activeTouch={start:c,moved:!1,prev:300>=c-k.end?k:null},1==b.touches.length&&(e.activeTouch.left=b.touches[0].pageX,e.activeTouch.top=b.touches[0].pageY))});T(e.scroller,"touchmove",function(){e.activeTouch&&(e.activeTouch.moved=!0)});T(e.scroller,"touchend",function(c){var g=e.activeTouch;if(g&&!cb(e,c)&&null!=g.left&&!g.moved&& -300>new Date-g.start){var k=a.coordsChar(e.activeTouch,"page");g=!g.prev||d(g,g.prev)?new W(k,k):!g.prev.prev||d(g,g.prev.prev)?a.findWordAt(k):new W(H(k.line,0),R(a.doc,H(k.line+1,0)));a.setSelection(g.anchor,g.head);a.focus();na(c)}b()});T(e.scroller,"touchcancel",b);T(e.scroller,"scroll",function(){e.scroller.clientHeight&&(nc(a,e.scroller.scrollTop),xb(a,e.scroller.scrollLeft,!0),da(a,"scroll",a))});T(e.scroller,"mousewheel",function(b){return Ye(a,b)});T(e.scroller,"DOMMouseScroll",function(b){return Ye(a, -b)});T(e.wrapper,"scroll",function(){return e.wrapper.scrollTop=e.wrapper.scrollLeft=0});e.dragFunctions={enter:function(b){ia(a,b)||pb(b)},over:function(b){if(!ia(a,b)){var d=vb(a,b);if(d){var e=document.createDocumentFragment();Je(a,d,e);a.display.dragCursor||(a.display.dragCursor=c("div",null,"CodeMirror-cursors CodeMirror-dragcursors"),a.display.lineSpace.insertBefore(a.display.dragCursor,a.display.cursorDiv));h(a.display.dragCursor,e)}pb(b)}},start:function(b){if(V&&(!a.state.draggingText||100> -+new Date-zf))pb(b);else if(!ia(a,b)&&!cb(a.display,b)&&(b.dataTransfer.setData("Text",a.getSelection()),b.dataTransfer.effectAllowed="copyMove",b.dataTransfer.setDragImage&&!Rf)){var d=c("img",null,null,"position: fixed; left: 0; top: 0;");d.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==";Ra&&(d.width=d.height=1,a.display.wrapper.appendChild(d),d._top=d.offsetTop);b.dataTransfer.setDragImage(d,0,0);Ra&&d.parentNode.removeChild(d)}},drop:oa(a,Eg),leave:function(b){ia(a, -b)||yf(a)}};var l=e.input.getField();T(l,"keyup",function(b){return Jf.call(a,b)});T(l,"keydown",oa(a,If));T(l,"keypress",oa(a,Kf));T(l,"focus",function(b){return Id(a,b)});T(l,"blur",function(b){return lc(a,b)})}function Dc(a,b,c,d){var e=a.doc,g;null==c&&(c="add");"smart"==c&&(e.mode.indent?g=Va(a,b).state:c="prev");var k=a.options.tabSize,l=I(e,b),r=m(l.text,null,k);l.stateAfter&&(l.stateAfter=null);var t=l.text.match(/^\s*/)[0];if(!d&&!/\S/.test(l.text)){var f=0;c="not"}else if("smart"==c&&(f= -e.mode.indent(g,l.text.slice(t.length),l.text),f==ld||150<f)){if(!d)return;c="prev"}"prev"==c?f=b>e.first?m(I(e,b-1).text,null,k):0:"add"==c?f=r+a.options.indentUnit:"subtract"==c?f=r-a.options.indentUnit:"number"==typeof c&&(f=r+c);f=Math.max(0,f);c="";d=0;if(a.options.indentWithTabs)for(a=Math.floor(f/k);a;--a)d+=k,c+="\t";d<f&&(c+=v(f-d));if(c!=t)return Qb(e,c,H(b,0),H(b,t.length),"+input"),l.stateAfter=null,!0;for(k=0;k<e.sel.ranges.length;k++)if(l=e.sel.ranges[k],l.head.line==b&&l.head.ch<t.length){b= +function c(a,b){if(null==b.left)return!0;var c=b.left-a.left;a=b.top-a.top;return 400<c*c+a*a}var e=a.display;T(e.scroller,"mousedown",oa(a,Lf));V&&11>ca?T(e.scroller,"dblclick",oa(a,function(b){if(!ia(a,b)){var c=vb(a,b);!c||md(a,b,"gutterClick",!0)||cb(a.display,b)||(na(b),b=a.findWordAt(c),gd(a.doc,b.anchor,b.head))}})):T(e.scroller,"dblclick",function(b){return ia(a,b)||na(b)});be||T(e.scroller,"contextmenu",function(b){return Mf(a,b)});var g,k={end:0};T(e.scroller,"touchstart",function(b){var c; +if(c=!ia(a,b))1!=b.touches.length?c=!1:(c=b.touches[0],c=1>=c.radiusX&&1>=c.radiusY),c=!c;c&&!md(a,b,"gutterClick",!0)&&(e.input.ensurePolled(),clearTimeout(g),c=+new Date,e.activeTouch={start:c,moved:!1,prev:300>=c-k.end?k:null},1==b.touches.length&&(e.activeTouch.left=b.touches[0].pageX,e.activeTouch.top=b.touches[0].pageY))});T(e.scroller,"touchmove",function(){e.activeTouch&&(e.activeTouch.moved=!0)});T(e.scroller,"touchend",function(d){var g=e.activeTouch;if(g&&!cb(e,d)&&null!=g.left&&!g.moved&& +300>new Date-g.start){var k=a.coordsChar(e.activeTouch,"page");g=!g.prev||c(g,g.prev)?new W(k,k):!g.prev.prev||c(g,g.prev.prev)?a.findWordAt(k):new W(H(k.line,0),R(a.doc,H(k.line+1,0)));a.setSelection(g.anchor,g.head);a.focus();na(d)}b()});T(e.scroller,"touchcancel",b);T(e.scroller,"scroll",function(){e.scroller.clientHeight&&(nc(a,e.scroller.scrollTop),xb(a,e.scroller.scrollLeft,!0),da(a,"scroll",a))});T(e.scroller,"mousewheel",function(b){return Ye(a,b)});T(e.scroller,"DOMMouseScroll",function(b){return Ye(a, +b)});T(e.wrapper,"scroll",function(){return e.wrapper.scrollTop=e.wrapper.scrollLeft=0});e.dragFunctions={enter:function(b){ia(a,b)||pb(b)},over:function(b){if(!ia(a,b)){var c=vb(a,b);if(c){var e=document.createDocumentFragment();Je(a,c,e);a.display.dragCursor||(a.display.dragCursor=d("div",null,"CodeMirror-cursors CodeMirror-dragcursors"),a.display.lineSpace.insertBefore(a.display.dragCursor,a.display.cursorDiv));h(a.display.dragCursor,e)}pb(b)}},start:function(b){if(V&&(!a.state.draggingText||100> ++new Date-zf))pb(b);else if(!ia(a,b)&&!cb(a.display,b)&&(b.dataTransfer.setData("Text",a.getSelection()),b.dataTransfer.effectAllowed="copyMove",b.dataTransfer.setDragImage&&!Rf)){var c=d("img",null,null,"position: fixed; left: 0; top: 0;");c.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==";Ra&&(c.width=c.height=1,a.display.wrapper.appendChild(c),c._top=c.offsetTop);b.dataTransfer.setDragImage(c,0,0);Ra&&c.parentNode.removeChild(c)}},drop:oa(a,Eg),leave:function(b){ia(a, +b)||yf(a)}};var l=e.input.getField();T(l,"keyup",function(b){return Jf.call(a,b)});T(l,"keydown",oa(a,If));T(l,"keypress",oa(a,Kf));T(l,"focus",function(b){return Id(a,b)});T(l,"blur",function(b){return lc(a,b)})}function Dc(a,b,c,d){var e=a.doc,g;null==c&&(c="add");"smart"==c&&(e.mode.indent?g=Va(a,b).state:c="prev");var k=a.options.tabSize,l=J(e,b),r=m(l.text,null,k);l.stateAfter&&(l.stateAfter=null);var t=l.text.match(/^\s*/)[0];if(!d&&!/\S/.test(l.text)){var f=0;c="not"}else if("smart"==c&&(f= +e.mode.indent(g,l.text.slice(t.length),l.text),f==ld||150<f)){if(!d)return;c="prev"}"prev"==c?f=b>e.first?m(J(e,b-1).text,null,k):0:"add"==c?f=r+a.options.indentUnit:"subtract"==c?f=r-a.options.indentUnit:"number"==typeof c&&(f=r+c);f=Math.max(0,f);c="";d=0;if(a.options.indentWithTabs)for(a=Math.floor(f/k);a;--a)d+=k,c+="\t";d<f&&(c+=v(f-d));if(c!=t)return Qb(e,c,H(b,0),H(b,t.length),"+input"),l.stateAfter=null,!0;for(k=0;k<e.sel.ranges.length;k++)if(l=e.sel.ranges[k],l.head.line==b&&l.head.ch<t.length){b= H(b,t.length);Vd(e,k,new W(b,b));break}}function ee(a,b,c,d,e){var g=a.doc;a.display.shift=!1;d||(d=g.sel);var k=a.state.pasteIncoming||"paste"==e,l=fe(b),m=null;if(k&&1<d.ranges.length)if(Fa&&Fa.text.join("\n")==b){if(0==d.ranges.length%Fa.text.length){m=[];for(var r=0;r<Fa.text.length;r++)m.push(g.splitLines(Fa.text[r]))}}else l.length==d.ranges.length&&a.options.pasteLinesPerSelection&&(m=y(l,function(a){return[a]}));for(r=d.ranges.length-1;0<=r;r--){var t=d.ranges[r];var f=t.from(),u=t.to();t.empty()&& -(c&&0<c?f=H(f.line,f.ch-c):a.state.overwrite&&!k?u=H(u.line,Math.min(I(g,u.line).text.length,u.ch+w(l).length)):Fa&&Fa.lineWise&&Fa.text.join("\n")==b&&(f=u=H(f.line,0)));t=a.curOp.updateInput;f={from:f,to:u,text:m?m[r%m.length]:l,origin:e||(k?"paste":a.state.cutIncoming?"cut":"+input")};Pb(a.doc,f);qa(a,"inputRead",a,f)}b&&!k&&Sf(a,b);Kb(a);a.curOp.updateInput=t;a.curOp.typing=!0;a.state.pasteIncoming=a.state.cutIncoming=!1}function Tf(a,b){var c=a.clipboardData&&a.clipboardData.getData("Text"); +(c&&0<c?f=H(f.line,f.ch-c):a.state.overwrite&&!k?u=H(u.line,Math.min(J(g,u.line).text.length,u.ch+w(l).length)):Fa&&Fa.lineWise&&Fa.text.join("\n")==b&&(f=u=H(f.line,0)));t=a.curOp.updateInput;f={from:f,to:u,text:m?m[r%m.length]:l,origin:e||(k?"paste":a.state.cutIncoming?"cut":"+input")};Pb(a.doc,f);qa(a,"inputRead",a,f)}b&&!k&&Sf(a,b);Kb(a);a.curOp.updateInput=t;a.curOp.typing=!0;a.state.pasteIncoming=a.state.cutIncoming=!1}function Tf(a,b){var c=a.clipboardData&&a.clipboardData.getData("Text"); if(c)return a.preventDefault(),b.isReadOnly()||b.options.disableInput||Ea(b,function(){return ee(b,c,0,null,"paste")}),!0}function Sf(a,b){if(a.options.electricChars&&a.options.smartIndent)for(var c=a.doc.sel,d=c.ranges.length-1;0<=d;d--){var e=c.ranges[d];if(!(100<e.head.ch||d&&c.ranges[d-1].head.line==e.head.line)){var g=a.getModeAt(e.head),k=!1;if(g.electricChars)for(var l=0;l<g.electricChars.length;l++){if(-1<b.indexOf(g.electricChars.charAt(l))){k=Dc(a,e.head.line,"smart");break}}else g.electricInput&& -g.electricInput.test(I(a.doc,e.head.line).text.slice(0,e.head.ch))&&(k=Dc(a,e.head.line,"smart"));k&&qa(a,"electricInput",a,e.head.line)}}}function Uf(a){for(var b=[],c=[],d=0;d<a.doc.sel.ranges.length;d++){var e=a.doc.sel.ranges[d].head.line;e={anchor:H(e,0),head:H(e+1,0)};c.push(e);b.push(a.getRange(e.anchor,e.head))}return{text:b,ranges:c}}function Vf(a,b){a.setAttribute("autocorrect","off");a.setAttribute("autocapitalize","off");a.setAttribute("spellcheck",!!b)}function Wf(){var a=c("textarea", -null,null,"position: absolute; bottom: -1em; padding: 0; width: 1px; height: 1em; outline: none"),b=c("div",[a],null,"overflow: hidden; position: relative; width: 3px; height: 0px;");sa?a.style.width="1000px":a.setAttribute("wrap","off");Ec&&(a.style.border="1px solid black");Vf(a);return b}function ge(a,b,c,d,e){function g(d){var g=e?Jg(a.cm,m,b,c):Yd(m,b,c);if(null==g){if(d=!d)d=b.line+c,d<a.first||d>=a.first+a.size?d=!1:(b=new H(d,b.ch,b.sticky),d=m=I(a,d));if(d)b=Zd(e,a.cm,m,b.line,c);else return!1}else b= -g;return!0}var k=b,l=c,m=I(a,b.line);if("char"==d)g();else if("column"==d)g(!0);else if("word"==d||"group"==d){var r=null;d="group"==d;for(var t=a.cm&&a.cm.getHelper(b,"wordChars"),f=!0;!(0>c)||g(!f);f=!1){var u=m.text.charAt(b.ch)||"\n";u=E(u,t)?"w":d&&"\n"==u?"n":!d||/\s/.test(u)?null:"p";!d||f||u||(u="s");if(r&&r!=u){0>c&&(c=1,g(),b.sticky="after");break}u&&(r=u);if(0<c&&!g(!f))break}}l=Wd(a,b,k,l,!0);aa(k,l)&&(l.hitSide=!0);return l}function Xf(a,b,c,d){var e=a.doc,g=b.left;if("page"==d){var k= -Math.max(Math.min(a.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight)-.5*tb(a.display),3);k=(0<c?b.bottom:b.top)+c*k}else"line"==d&&(k=0<c?b.bottom+3:b.top-3);for(;;){b=Dd(a,g,k);if(!b.outside)break;if(0>c?0>=k:k>=e.height){b.hitSide=!0;break}k+=5*c}return b}function Yf(a,b){var c=xd(a,b.line);if(!c||c.hidden)return null;var d=I(a.doc,b.line);c=we(c,d,b.line);a=Ca(d,a.doc.direction);d="left";a&&(d=Ua(a,b.ch)%2?"right":"left");b=xe(c.map,b.ch,d);b.offset="right"== +g.electricInput.test(J(a.doc,e.head.line).text.slice(0,e.head.ch))&&(k=Dc(a,e.head.line,"smart"));k&&qa(a,"electricInput",a,e.head.line)}}}function Uf(a){for(var b=[],c=[],d=0;d<a.doc.sel.ranges.length;d++){var e=a.doc.sel.ranges[d].head.line;e={anchor:H(e,0),head:H(e+1,0)};c.push(e);b.push(a.getRange(e.anchor,e.head))}return{text:b,ranges:c}}function Vf(a,b){a.setAttribute("autocorrect","off");a.setAttribute("autocapitalize","off");a.setAttribute("spellcheck",!!b)}function Wf(){var a=d("textarea", +null,null,"position: absolute; bottom: -1em; padding: 0; width: 1px; height: 1em; outline: none"),b=d("div",[a],null,"overflow: hidden; position: relative; width: 3px; height: 0px;");sa?a.style.width="1000px":a.setAttribute("wrap","off");Ec&&(a.style.border="1px solid black");Vf(a);return b}function ge(a,b,c,d,e){function g(d){var g=e?Jg(a.cm,m,b,c):Yd(m,b,c);if(null==g){if(d=!d)d=b.line+c,d<a.first||d>=a.first+a.size?d=!1:(b=new H(d,b.ch,b.sticky),d=m=J(a,d));if(d)b=Zd(e,a.cm,m,b.line,c);else return!1}else b= +g;return!0}var k=b,l=c,m=J(a,b.line);if("char"==d)g();else if("column"==d)g(!0);else if("word"==d||"group"==d){var r=null;d="group"==d;for(var t=a.cm&&a.cm.getHelper(b,"wordChars"),f=!0;!(0>c)||g(!f);f=!1){var u=m.text.charAt(b.ch)||"\n";u=E(u,t)?"w":d&&"\n"==u?"n":!d||/\s/.test(u)?null:"p";!d||f||u||(u="s");if(r&&r!=u){0>c&&(c=1,g(),b.sticky="after");break}u&&(r=u);if(0<c&&!g(!f))break}}l=Wd(a,b,k,l,!0);aa(k,l)&&(l.hitSide=!0);return l}function Xf(a,b,c,d){var e=a.doc,g=b.left;if("page"==d){var k= +Math.max(Math.min(a.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight)-.5*tb(a.display),3);k=(0<c?b.bottom:b.top)+c*k}else"line"==d&&(k=0<c?b.bottom+3:b.top-3);for(;;){b=Dd(a,g,k);if(!b.outside)break;if(0>c?0>=k:k>=e.height){b.hitSide=!0;break}k+=5*c}return b}function Yf(a,b){var c=xd(a,b.line);if(!c||c.hidden)return null;var d=J(a.doc,b.line);c=we(c,d,b.line);a=Ca(d,a.doc.direction);d="left";a&&(d=Ua(a,b.ch)%2?"right":"left");b=xe(c.map,b.ch,d);b.offset="right"== b.collapse?b.end:b.start;return b}function $g(a){for(;a;a=a.parentNode)if(/CodeMirror-gutter-wrapper/.test(a.className))return!0;return!1}function Vb(a,b){b&&(a.bad=!0);return a}function ah(a,b,c,d,e){function g(a){return function(b){return b.id==a}}function k(a){a&&(r&&(m+=t,r=!1),m+=a)}function l(b){if(1==b.nodeType){var c=b.getAttribute("cm-text");if(null!=c)k(c||b.textContent.replace(/\u200b/g,""));else{c=b.getAttribute("cm-marker");var f;if(c)b=a.findMarks(H(d,0),H(e+1,0),g(+c)),b.length&&(f= b[0].find(0))&&k(O(a.doc,f.from,f.to).join(t));else if("false"!=b.getAttribute("contenteditable")){(f=/^(pre|div|p)$/i.test(b.nodeName))&&r&&(m+=t,r=!1);for(c=0;c<b.childNodes.length;c++)l(b.childNodes[c]);f&&(r=!0)}}}else 3==b.nodeType&&k(b.nodeValue)}for(var m="",r=!1,t=a.doc.lineSeparator();;){l(b);if(b==c)break;b=b.nextSibling}return m}function od(a,b,c){if(b==a.display.lineDiv){var d=a.display.lineDiv.childNodes[c];if(!d)return Vb(a.clipPos(H(a.display.viewTo-1)),!0);b=null;c=0}else for(d=b;;d= -d.parentNode){if(!d||d==a.display.lineDiv)return null;if(d.parentNode&&d.parentNode==a.display.lineDiv)break}for(var e=0;e<a.display.view.length;e++){var g=a.display.view[e];if(g.node==d)return bh(g,b,c)}}function bh(a,b,c){function e(b,c,d){for(var e=-1;e<(t?t.length:0);e++)for(var g=0>e?r.map:t[e],k=0;k<g.length;k+=3){var l=g[k+2];if(l==b||l==c){c=N(0>e?a.line:a.rest[e]);e=g[k]+d;if(0>d||l!=b)e=g[k+(d?1:0)];return H(c,e)}}}var g=a.text.firstChild,k=!1;if(!b||!d(g,b))return Vb(H(N(a.line),0),!0); -if(b==g&&(k=!0,b=g.childNodes[c],c=0,!b))return c=a.rest?w(a.rest):a.line,Vb(H(N(c),c.text.length),k);var l=3==b.nodeType?b:null,m=b;l||1!=b.childNodes.length||3!=b.firstChild.nodeType||(l=b.firstChild,c&&(c=l.nodeValue.length));for(;m.parentNode!=g;)m=m.parentNode;var r=a.measure,t=r.maps;if(b=e(l,m,c))return Vb(b,k);g=m.nextSibling;for(l=l?l.nodeValue.length-c:0;g;g=g.nextSibling){if(b=e(g,g.firstChild,0))return Vb(H(b.line,b.ch-l),k);l+=g.textContent.length}for(m=m.previousSibling;m;m=m.previousSibling){if(b= -e(m,m.firstChild,-1))return Vb(H(b.line,b.ch+c),k);c+=m.textContent.length}}var va=navigator.userAgent,Zf=navigator.platform,eb=/gecko\/\d/i.test(va),$f=/MSIE \d/.test(va),ag=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(va),Fc=/Edge\/(\d+)/.exec(va),V=$f||ag||Fc,ca=V&&($f?document.documentMode||6:+(Fc||ag)[1]),sa=!Fc&&/WebKit\//.test(va),ch=sa&&/Qt\/\d+\.\d+/.test(va),Vc=!Fc&&/Chrome\//.test(va),Ra=/Opera\//.test(va),Rf=/Apple Computer/.test(navigator.vendor),dh=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(va), +d.parentNode){if(!d||d==a.display.lineDiv)return null;if(d.parentNode&&d.parentNode==a.display.lineDiv)break}for(var e=0;e<a.display.view.length;e++){var g=a.display.view[e];if(g.node==d)return bh(g,b,c)}}function bh(a,b,d){function e(b,c,d){for(var e=-1;e<(t?t.length:0);e++)for(var g=0>e?r.map:t[e],k=0;k<g.length;k+=3){var l=g[k+2];if(l==b||l==c){c=N(0>e?a.line:a.rest[e]);e=g[k]+d;if(0>d||l!=b)e=g[k+(d?1:0)];return H(c,e)}}}var g=a.text.firstChild,k=!1;if(!b||!c(g,b))return Vb(H(N(a.line),0),!0); +if(b==g&&(k=!0,b=g.childNodes[d],d=0,!b))return d=a.rest?w(a.rest):a.line,Vb(H(N(d),d.text.length),k);var l=3==b.nodeType?b:null,m=b;l||1!=b.childNodes.length||3!=b.firstChild.nodeType||(l=b.firstChild,d&&(d=l.nodeValue.length));for(;m.parentNode!=g;)m=m.parentNode;var r=a.measure,t=r.maps;if(b=e(l,m,d))return Vb(b,k);g=m.nextSibling;for(l=l?l.nodeValue.length-d:0;g;g=g.nextSibling){if(b=e(g,g.firstChild,0))return Vb(H(b.line,b.ch-l),k);l+=g.textContent.length}for(m=m.previousSibling;m;m=m.previousSibling){if(b= +e(m,m.firstChild,-1))return Vb(H(b.line,b.ch+d),k);d+=m.textContent.length}}var va=navigator.userAgent,Zf=navigator.platform,eb=/gecko\/\d/i.test(va),$f=/MSIE \d/.test(va),ag=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(va),Fc=/Edge\/(\d+)/.exec(va),V=$f||ag||Fc,ca=V&&($f?document.documentMode||6:+(Fc||ag)[1]),sa=!Fc&&/WebKit\//.test(va),ch=sa&&/Qt\/\d+\.\d+/.test(va),Vc=!Fc&&/Chrome\//.test(va),Ra=/Opera\//.test(va),Rf=/Apple Computer/.test(navigator.vendor),dh=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(va), tg=/PhantomJS/.test(va),Ec=!Fc&&/AppleWebKit/.test(va)&&/Mobile\/\w+/.test(va),Wc=/Android/.test(va),Yb=Ec||Wc||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(va),Ma=Ec||/Mac/.test(Zf),Sg=/\bCrOS\b/.test(va),eh=/win/i.test(Zf),Cb=Ra&&va.match(/Version\/(\d*\.\d*)/);Cb&&(Cb=Number(Cb[1]));Cb&&15<=Cb&&(Ra=!1,sa=!0);var Df=Ma&&(ch||Ra&&(null==Cb||12.11>Cb)),be=eb||V&&9<=ca,wb=function(b,c){var d=b.className;if(c=a(c).exec(d)){var e=d.slice(c.index+c[0].length);b.className=d.slice(0,c.index)+ (e?c[1]+e:"")}};var ec=document.createRange?function(a,b,c,d){var e=document.createRange();e.setEnd(d||a,c);e.setStart(a,b);return e}:function(a,b,c){var d=document.body.createTextRange();try{d.moveToElementText(a.parentNode)}catch(jh){return d}d.collapse(!0);d.moveEnd("character",c);d.moveStart("character",b);return d};var Gc=function(a){a.select()};Ec?Gc=function(a){a.selectionStart=0;a.selectionEnd=a.value.length}:V&&(Gc=function(a){try{a.select()}catch(la){}});var Bb=function(){this.id=null}; Bb.prototype.set=function(a,b){clearTimeout(this.id);this.id=setTimeout(b,a)};var ld={toString:function(){return"CodeMirror.Pass"}},Ya={scroll:!1},ce={origin:"*mouse"},Hc={origin:"+move"},Oc=[""],bg=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,cg=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/, @@ -562,15 +562,15 @@ qf=!1,fb=!1,Zb=null,dg=function(){function a(a){return 247>=a?"bbbbbbbbbtstwsbbb 1536):1774<=a&&2220>=a?"r":8192<=a&&8203>=a?"w":8204==a?"b":"L"}function b(a,b,c){this.level=a;this.from=b;this.to=c}var c=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,d=/[stwN]/,e=/[LRr]/,g=/[Lb1n]/,k=/[1n]/;return function(l,m){var r="ltr"==m?"L":"R";if(0==l.length||"ltr"==m&&!c.test(l))return!1;for(var t=l.length,f=[],u=0;u<t;++u)f.push(a(l.charCodeAt(u)));u=0;for(var h=r;u<t;++u){var v=f[u];"m"==v?f[u]=h:h=v}u=0;for(h=r;u<t;++u)v=f[u],"1"==v&&"r"==h?f[u]="n":e.test(v)&&(h=v,"r"==v&&(f[u]="R")); u=1;for(h=f[0];u<t-1;++u)v=f[u],"+"==v&&"1"==h&&"1"==f[u+1]?f[u]="1":","!=v||h!=f[u+1]||"1"!=h&&"n"!=h||(f[u]=h),h=v;for(u=0;u<t;++u)if(h=f[u],","==h)f[u]="N";else if("%"==h){for(h=u+1;h<t&&"%"==f[h];++h);for(v=u&&"!"==f[u-1]||h<t&&"1"==f[h]?"1":"N";u<h;++u)f[u]=v;u=h-1}u=0;for(h=r;u<t;++u)v=f[u],"L"==h&&"1"==v?f[u]="L":e.test(v)&&(h=v);for(h=0;h<t;++h)if(d.test(f[h])){for(u=h+1;u<t&&d.test(f[u]);++u);v="L"==(h?f[h-1]:r);for(v=v==("L"==(u<t?f[u]:r))?v?"L":"R":r;h<u;++h)f[h]=v;h=u-1}r=[];var n;for(u= 0;u<t;)if(g.test(f[u])){h=u;for(++u;u<t&&g.test(f[u]);++u);r.push(new b(0,h,u))}else{var p=u;h=r.length;for(++u;u<t&&"L"!=f[u];++u);for(v=p;v<u;)if(k.test(f[v])){p<v&&r.splice(h,0,new b(1,p,v));p=v;for(++v;v<u&&k.test(f[v]);++v);r.splice(h,0,new b(2,p,v));p=v}else++v;p<u&&r.splice(h,0,new b(1,p,u))}"ltr"==m&&(1==r[0].level&&(n=l.match(/^\s+/))&&(r[0].from=n[0].length,r.unshift(new b(0,0,n[0].length))),1==w(r).level&&(n=l.match(/\s+$/))&&(w(r).to-=n[0].length,r.push(new b(0,t-n[0].length,t))));return"rtl"== -m?r.reverse():r}}(),Pc=[],T=function(a,b,c){a.addEventListener?a.addEventListener(b,c,!1):a.attachEvent?a.attachEvent("on"+b,c):(a=a._handlers||(a._handlers={}),a[b]=(a[b]||Pc).concat(c))},Tg=function(){if(V&&9>ca)return!1;var a=c("div");return"draggable"in a||"dragDrop"in a}(),rd,td,fe=3!="\n\nb".split(/\n/).length?function(a){for(var b=0,c=[],d=a.length;b<=d;){var e=a.indexOf("\n",b);-1==e&&(e=a.length);var g=a.slice(b,"\r"==a.charAt(e-1)?e-1:e),k=g.indexOf("\r");-1!=k?(c.push(g.slice(0,k)),b+= -k+1):(c.push(g),b=e+1)}return c}:function(a){return a.split(/\r\n?|\n/)},fh=window.getSelection?function(a){try{return a.selectionStart!=a.selectionEnd}catch(la){return!1}}:function(a){try{var b=a.ownerDocument.selection.createRange()}catch(ih){}return b&&b.parentElement()==a?0!=b.compareEndPoints("StartToEnd",b):!1},Ng=function(){var a=c("div");if("oncopy"in a)return!0;a.setAttribute("oncopy","return;");return"function"==typeof a.oncopy}(),zd=null,sd={},Gb={},Hb={},ja=function(a,b,c){this.pos=this.start= +m?r.reverse():r}}(),Pc=[],T=function(a,b,c){a.addEventListener?a.addEventListener(b,c,!1):a.attachEvent?a.attachEvent("on"+b,c):(a=a._handlers||(a._handlers={}),a[b]=(a[b]||Pc).concat(c))},Tg=function(){if(V&&9>ca)return!1;var a=d("div");return"draggable"in a||"dragDrop"in a}(),rd,td,fe=3!="\n\nb".split(/\n/).length?function(a){for(var b=0,c=[],d=a.length;b<=d;){var e=a.indexOf("\n",b);-1==e&&(e=a.length);var g=a.slice(b,"\r"==a.charAt(e-1)?e-1:e),k=g.indexOf("\r");-1!=k?(c.push(g.slice(0,k)),b+= +k+1):(c.push(g),b=e+1)}return c}:function(a){return a.split(/\r\n?|\n/)},fh=window.getSelection?function(a){try{return a.selectionStart!=a.selectionEnd}catch(la){return!1}}:function(a){try{var b=a.ownerDocument.selection.createRange()}catch(ih){}return b&&b.parentElement()==a?0!=b.compareEndPoints("StartToEnd",b):!1},Ng=function(){var a=d("div");if("oncopy"in a)return!0;a.setAttribute("oncopy","return;");return"function"==typeof a.oncopy}(),zd=null,sd={},Gb={},Hb={},ja=function(a,b,c){this.pos=this.start= 0;this.string=a;this.tabSize=b||8;this.lineStart=this.lastColumnPos=this.lastColumnValue=0;this.lineOracle=c};ja.prototype.eol=function(){return this.pos>=this.string.length};ja.prototype.sol=function(){return this.pos==this.lineStart};ja.prototype.peek=function(){return this.string.charAt(this.pos)||void 0};ja.prototype.next=function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)};ja.prototype.eat=function(a){var b=this.string.charAt(this.pos);if("string"==typeof a?b==a:b&& (a.test?a.test(b):a(b)))return++this.pos,b};ja.prototype.eatWhile=function(a){for(var b=this.pos;this.eat(a););return this.pos>b};ja.prototype.eatSpace=function(){for(var a=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>a};ja.prototype.skipToEnd=function(){this.pos=this.string.length};ja.prototype.skipTo=function(a){a=this.string.indexOf(a,this.pos);if(-1<a)return this.pos=a,!0};ja.prototype.backUp=function(a){this.pos-=a};ja.prototype.column=function(){this.lastColumnPos< this.start&&(this.lastColumnValue=m(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start);return this.lastColumnValue-(this.lineStart?m(this.string,this.lineStart,this.tabSize):0)};ja.prototype.indentation=function(){return m(this.string,null,this.tabSize)-(this.lineStart?m(this.string,this.lineStart,this.tabSize):0)};ja.prototype.match=function(a,b,c){if("string"==typeof a){var d=function(a){return c?a.toLowerCase():a},e=this.string.substr(this.pos, a.length);if(d(e)==d(a))return!1!==b&&(this.pos+=a.length),!0}else{if((a=this.string.slice(this.pos).match(a))&&0<a.index)return null;a&&!1!==b&&(this.pos+=a[0].length);return a}};ja.prototype.current=function(){return this.string.slice(this.start,this.pos)};ja.prototype.hideFirstChars=function(a,b){this.lineStart+=a;try{return b()}finally{this.lineStart-=a}};ja.prototype.lookAhead=function(a){var b=this.lineOracle;return b&&b.lookAhead(a)};ja.prototype.baseToken=function(){var a=this.lineOracle; return a&&a.baseToken(this.pos)};var Tc=function(a,b){this.state=a;this.lookAhead=b},Wa=function(a,b,c,d){this.state=b;this.doc=a;this.line=c;this.maxLookAhead=d||0;this.baseTokens=null;this.baseTokenPos=1};Wa.prototype.lookAhead=function(a){var b=this.doc.getLine(this.line+a);null!=b&&a>this.maxLookAhead&&(this.maxLookAhead=a);return b};Wa.prototype.baseToken=function(a){if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=a;)this.baseTokenPos+=2;var b=this.baseTokens[this.baseTokenPos+ 1];return{type:b&&b.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-a}};Wa.prototype.nextLine=function(){this.line++;0<this.maxLookAhead&&this.maxLookAhead--};Wa.fromSaved=function(a,b,c){return b instanceof Tc?new Wa(a,Oa(a.mode,b.state),c,b.lookAhead):new Wa(a,Oa(a.mode,b),c)};Wa.prototype.save=function(a){a=!1!==a?Oa(this.doc.mode,this.state):this.state;return 0<this.maxLookAhead?new Tc(a,this.maxLookAhead):a};var ke=function(a,b,c){this.start=a.start;this.end=a.pos;this.string= -a.current();this.type=b||null;this.state=c},Mb=function(a,b,c){this.text=a;Aa(this,b);this.height=c?c(this):1};Mb.prototype.lineNo=function(){return N(this)};La(Mb);var hg={},gg={},Jb=null,fc=null,ye={left:0,right:0,top:0,bottom:0},ub,Db=function(a,b,d){this.cm=d;var e=this.vert=c("div",[c("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),g=this.horiz=c("div",[c("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");a(e);a(g);T(e,"scroll",function(){e.clientHeight&&b(e.scrollTop, +a.current();this.type=b||null;this.state=c},Mb=function(a,b,c){this.text=a;Aa(this,b);this.height=c?c(this):1};Mb.prototype.lineNo=function(){return N(this)};La(Mb);var hg={},gg={},Jb=null,fc=null,ye={left:0,right:0,top:0,bottom:0},ub,Db=function(a,b,c){this.cm=c;var e=this.vert=d("div",[d("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),g=this.horiz=d("div",[d("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");a(e);a(g);T(e,"scroll",function(){e.clientHeight&&b(e.scrollTop, "vertical")});T(g,"scroll",function(){g.clientWidth&&b(g.scrollLeft,"horizontal")});this.checkedZeroWidth=!1;V&&8>ca&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};Db.prototype.update=function(a){var b=a.scrollWidth>a.clientWidth+1,c=a.scrollHeight>a.clientHeight+1,d=a.nativeBarWidth;c?(this.vert.style.display="block",this.vert.style.bottom=b?d+"px":"0",this.vert.firstChild.style.height=Math.max(0,a.scrollHeight-a.clientHeight+(a.viewHeight-(b?d:0)))+"px"):(this.vert.style.display= "",this.vert.firstChild.style.height="0");b?(this.horiz.style.display="block",this.horiz.style.right=c?d+"px":"0",this.horiz.style.left=a.barLeft+"px",this.horiz.firstChild.style.width=Math.max(0,a.scrollWidth-a.clientWidth+(a.viewWidth-a.barLeft-(c?d:0)))+"px"):(this.horiz.style.display="",this.horiz.firstChild.style.width="0");!this.checkedZeroWidth&&0<a.clientHeight&&(0==d&&this.zeroWidthHack(),this.checkedZeroWidth=!0);return{right:c?d:0,bottom:b?d:0}};Db.prototype.setScrollLeft=function(a){this.horiz.scrollLeft!= a&&(this.horiz.scrollLeft=a);this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")};Db.prototype.setScrollTop=function(a){this.vert.scrollTop!=a&&(this.vert.scrollTop=a);this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")};Db.prototype.zeroWidthHack=function(){this.horiz.style.height=this.vert.style.width=Ma&&!dh?"12px":"18px";this.horiz.style.pointerEvents=this.vert.style.pointerEvents="none";this.disableHoriz=new Bb;this.disableVert=new Bb};Db.prototype.enableZeroWidthBar= @@ -590,18 +590,18 @@ a&&"bookmark"==this.type&&(a=1);for(var c,d,e=0;e<this.lines.length;++e){var g=t c.height,c.height=null,(g=hc(c)-g)&&P(e,e.height+g));qa(d,"markerChanged",d,a)})};mb.prototype.attachLine=function(a){if(!this.lines.length&&this.doc.cm){var b=this.doc.cm.curOp;b.maybeHiddenMarkers&&-1!=r(b.maybeHiddenMarkers,this)||(b.maybeUnhiddenMarkers||(b.maybeUnhiddenMarkers=[])).push(this)}this.lines.push(a)};mb.prototype.detachLine=function(a){this.lines.splice(r(this.lines,a),1);!this.lines.length&&this.doc.cm&&(a=this.doc.cm.curOp,(a.maybeHiddenMarkers||(a.maybeHiddenMarkers=[])).push(this))}; La(mb);var wc=function(a,b){this.markers=a;this.primary=b;for(b=0;b<a.length;++b)a[b].parent=this};wc.prototype.clear=function(){if(!this.explicitlyCleared){this.explicitlyCleared=!0;for(var a=0;a<this.markers.length;++a)this.markers[a].clear();qa(this,"clear")}};wc.prototype.find=function(a,b){return this.primary.find(a,b)};La(wc);var gh=0,za=function(a,b,c,d,e){if(!(this instanceof za))return new za(a,b,c,d,e);null==c&&(c=0);uc.call(this,[new tc([new Mb("",null)])]);this.first=c;this.scrollTop= this.scrollLeft=0;this.cantEdit=!1;this.cleanGeneration=1;this.modeFrontier=this.highlightFrontier=c;c=H(c,0);this.sel=db(c);this.history=new ed(null);this.id=++gh;this.modeOption=b;this.lineSep=d;this.direction="rtl"==e?"rtl":"ltr";this.extend=!1;"string"==typeof a&&(a=this.splitLines(a));Sd(this,{from:c,to:c,text:a});ra(this,db(c),Ya)};za.prototype=z(uc.prototype,{constructor:za,iter:function(a,b,c){c?this.iterN(a-this.first,b-a,c):this.iterN(this.first,this.first+this.size,a)},insert:function(a, -b){for(var c=0,d=0;d<b.length;++d)c+=b[d].height;this.insertInner(a-this.first,b,c)},remove:function(a,b){this.removeInner(a-this.first,b)},getValue:function(a){var b=M(this,this.first,this.first+this.size);return!1===a?b:b.join(a||this.lineSeparator())},setValue:pa(function(a){var b=H(this.first,0),c=this.first+this.size-1;Pb(this,{from:b,to:H(c,I(this,c).text.length),text:this.splitLines(a),origin:"setValue",full:!0},!0);this.cm&&mc(this.cm,0,0);ra(this,db(b),Ya)}),replaceRange:function(a,b,c,d){b= -R(this,b);c=c?R(this,c):b;Qb(this,a,b,c,d)},getRange:function(a,b,c){a=O(this,R(this,a),R(this,b));return!1===c?a:a.join(c||this.lineSeparator())},getLine:function(a){return(a=this.getLineHandle(a))&&a.text},getLineHandle:function(a){if(U(this,a))return I(this,a)},getLineNumber:function(a){return N(a)},getLineHandleVisualStart:function(a){"number"==typeof a&&(a=I(this,a));return Ga(a)},lineCount:function(){return this.size},firstLine:function(){return this.first},lastLine:function(){return this.first+ +b){for(var c=0,d=0;d<b.length;++d)c+=b[d].height;this.insertInner(a-this.first,b,c)},remove:function(a,b){this.removeInner(a-this.first,b)},getValue:function(a){var b=M(this,this.first,this.first+this.size);return!1===a?b:b.join(a||this.lineSeparator())},setValue:pa(function(a){var b=H(this.first,0),c=this.first+this.size-1;Pb(this,{from:b,to:H(c,J(this,c).text.length),text:this.splitLines(a),origin:"setValue",full:!0},!0);this.cm&&mc(this.cm,0,0);ra(this,db(b),Ya)}),replaceRange:function(a,b,c,d){b= +R(this,b);c=c?R(this,c):b;Qb(this,a,b,c,d)},getRange:function(a,b,c){a=O(this,R(this,a),R(this,b));return!1===c?a:a.join(c||this.lineSeparator())},getLine:function(a){return(a=this.getLineHandle(a))&&a.text},getLineHandle:function(a){if(U(this,a))return J(this,a)},getLineNumber:function(a){return N(a)},getLineHandleVisualStart:function(a){"number"==typeof a&&(a=J(this,a));return Ga(a)},lineCount:function(){return this.size},firstLine:function(){return this.first},lastLine:function(){return this.first+ this.size-1},clipPos:function(a){return R(this,a)},getCursor:function(a){var b=this.sel.primary();return null==a||"head"==a?b.head:"anchor"==a?b.anchor:"end"==a||"to"==a||!1===a?b.to():b.from()},listSelections:function(){return this.sel.ranges},somethingSelected:function(){return this.sel.somethingSelected()},setCursor:pa(function(a,b,c){a=R(this,"number"==typeof a?H(a,b||0):a);ra(this,db(a,null),c)}),setSelection:pa(function(a,b,c){var d=R(this,a);a=R(this,b||a);ra(this,db(d,a),c)}),extendSelection:pa(function(a, b,c){gd(this,R(this,a),b&&R(this,b),c)}),extendSelections:pa(function(a,b){hf(this,X(this,a),b)}),extendSelectionsBy:pa(function(a,b){a=y(this.sel.ranges,a);hf(this,X(this,a),b)}),setSelections:pa(function(a,b,c){if(a.length){for(var d=[],e=0;e<a.length;e++)d[e]=new W(R(this,a[e].anchor),R(this,a[e].head));null==b&&(b=Math.min(a.length-1,this.sel.primIndex));ra(this,Sa(d,b),c)}}),addSelection:pa(function(a,b,c){var d=this.sel.ranges.slice(0);d.push(new W(R(this,a),R(this,b||a)));ra(this,Sa(d,d.length- 1),c)}),getSelection:function(a){for(var b=this.sel.ranges,c,d=0;d<b.length;d++){var e=O(this,b[d].from(),b[d].to());c=c?c.concat(e):e}return!1===a?c:c.join(a||this.lineSeparator())},getSelections:function(a){for(var b=[],c=this.sel.ranges,d=0;d<c.length;d++){var e=O(this,c[d].from(),c[d].to());!1!==a&&(e=e.join(a||this.lineSeparator()));b[d]=e}return b},replaceSelection:function(a,b,c){for(var d=[],e=0;e<this.sel.ranges.length;e++)d[e]=a;this.replaceSelections(d,b,c||"+input")},replaceSelections:pa(function(a, b,c){for(var d=[],e=this.sel,g=0;g<e.ranges.length;g++){var k=e.ranges[g];d[g]={from:k.from(),to:k.to(),text:this.splitLines(a[g]),origin:c}}if(a=b&&"end"!=b){a=[];e=c=H(this.first,0);for(g=0;g<d.length;g++){var l=d[g];k=$e(l.from,c,e);var m=$e(lb(l),c,e);c=l.to;e=m;"around"==b?(l=this.sel.ranges[g],l=0>Q(l.head,l.anchor),a[g]=new W(l?m:k,l?k:m)):a[g]=new W(k,k)}a=new Ja(a,this.sel.primIndex)}b=a;for(a=d.length-1;0<=a;a--)Pb(this,d[a]);b?jf(this,b):this.cm&&Kb(this.cm)}),undo:pa(function(){id(this, "undo")}),redo:pa(function(){id(this,"redo")}),undoSelection:pa(function(){id(this,"undo",!0)}),redoSelection:pa(function(){id(this,"redo",!0)}),setExtending:function(a){this.extend=a},getExtending:function(){return this.extend},historySize:function(){for(var a=this.history,b=0,c=0,d=0;d<a.done.length;d++)a.done[d].ranges||++b;for(d=0;d<a.undone.length;d++)a.undone[d].ranges||++c;return{undo:b,redo:c}},clearHistory:function(){this.history=new ed(this.history.maxGeneration)},markClean:function(){this.cleanGeneration= this.changeGeneration(!0)},changeGeneration:function(a){a&&(this.history.lastOp=this.history.lastSelOp=this.history.lastOrigin=null);return this.history.generation},isClean:function(a){return this.history.generation==(a||this.cleanGeneration)},getHistory:function(){return{done:Nb(this.history.done),undone:Nb(this.history.undone)}},setHistory:function(a){var b=this.history=new ed(this.history.maxGeneration);b.done=Nb(a.done.slice(0),null,!0);b.undone=Nb(a.undone.slice(0),null,!0)},setGutterMarker:pa(function(a, -b,c){return sc(this,a,"gutter",function(a){var d=a.gutterMarkers||(a.gutterMarkers={});d[b]=c;!c&&G(d)&&(a.gutterMarkers=null);return!0})}),clearGutter:pa(function(a){var b=this;this.iter(function(c){c.gutterMarkers&&c.gutterMarkers[a]&&sc(b,c,"gutter",function(){c.gutterMarkers[a]=null;G(c.gutterMarkers)&&(c.gutterMarkers=null);return!0})})}),lineInfo:function(a){if("number"==typeof a){if(!U(this,a))return null;var b=a;a=I(this,a);if(!a)return null}else if(b=N(a),null==b)return null;return{line:b, +b,c){return sc(this,a,"gutter",function(a){var d=a.gutterMarkers||(a.gutterMarkers={});d[b]=c;!c&&G(d)&&(a.gutterMarkers=null);return!0})}),clearGutter:pa(function(a){var b=this;this.iter(function(c){c.gutterMarkers&&c.gutterMarkers[a]&&sc(b,c,"gutter",function(){c.gutterMarkers[a]=null;G(c.gutterMarkers)&&(c.gutterMarkers=null);return!0})})}),lineInfo:function(a){if("number"==typeof a){if(!U(this,a))return null;var b=a;a=J(this,a);if(!a)return null}else if(b=N(a),null==b)return null;return{line:b, handle:a,text:a.text,gutterMarkers:a.gutterMarkers,textClass:a.textClass,bgClass:a.bgClass,wrapClass:a.wrapClass,widgets:a.widgets}},addLineClass:pa(function(b,c,d){return sc(this,b,"gutter"==c?"gutter":"class",function(b){var e="text"==c?"textClass":"background"==c?"bgClass":"gutter"==c?"gutterClass":"wrapClass";if(b[e]){if(a(d).test(b[e]))return!1;b[e]+=" "+d}else b[e]=d;return!0})}),removeLineClass:pa(function(b,c,d){return sc(this,b,"gutter"==c?"gutter":"class",function(b){var e="text"==c?"textClass": "background"==c?"bgClass":"gutter"==c?"gutterClass":"wrapClass",g=b[e];if(g)if(null==d)b[e]=null;else{var k=g.match(a(d));if(!k)return!1;var l=k.index+k[0].length;b[e]=g.slice(0,k.index)+(k.index&&l!=g.length?" ":"")+g.slice(l)||null}else return!1;return!0})}),addLineWidget:pa(function(a,b,c){return Bg(this,a,b,c)}),removeLineWidget:function(a){a.clear()},markText:function(a,b,c){return Rb(this,R(this,a),R(this,b),c,c&&c.type||"range")},setBookmark:function(a,b){b={replacedWith:b&&(null==b.nodeType? -b.widget:b),insertLeft:b&&b.insertLeft,clearWhenEmpty:!1,shared:b&&b.shared,handleMouseEvents:b&&b.handleMouseEvents};a=R(this,a);return Rb(this,a,a,b,"bookmark")},findMarksAt:function(a){a=R(this,a);var b=[],c=I(this,a.line).markedSpans;if(c)for(var d=0;d<c.length;++d){var e=c[d];(null==e.from||e.from<=a.ch)&&(null==e.to||e.to>=a.ch)&&b.push(e.marker.parent||e.marker)}return b},findMarks:function(a,b,c){a=R(this,a);b=R(this,b);var d=[],e=a.line;this.iter(a.line,b.line+1,function(g){if(g=g.markedSpans)for(var k= +b.widget:b),insertLeft:b&&b.insertLeft,clearWhenEmpty:!1,shared:b&&b.shared,handleMouseEvents:b&&b.handleMouseEvents};a=R(this,a);return Rb(this,a,a,b,"bookmark")},findMarksAt:function(a){a=R(this,a);var b=[],c=J(this,a.line).markedSpans;if(c)for(var d=0;d<c.length;++d){var e=c[d];(null==e.from||e.from<=a.ch)&&(null==e.to||e.to>=a.ch)&&b.push(e.marker.parent||e.marker)}return b},findMarks:function(a,b,c){a=R(this,a);b=R(this,b);var d=[],e=a.line;this.iter(a.line,b.line+1,function(g){if(g=g.markedSpans)for(var k= 0;k<g.length;k++){var l=g[k];null!=l.to&&e==a.line&&a.ch>=l.to||null==l.from&&e!=a.line||null!=l.from&&e==b.line&&l.from>=b.ch||c&&!c(l.marker)||d.push(l.marker.parent||l.marker)}++e});return d},getAllMarks:function(){var a=[];this.iter(function(b){if(b=b.markedSpans)for(var c=0;c<b.length;++c)null!=b[c].from&&a.push(b[c].marker)});return a},posFromIndex:function(a){var b,c=this.first,d=this.lineSeparator().length;this.iter(function(e){e=e.text.length+d;if(e>a)return b=a,!0;a-=e;++c});return R(this, H(c,b))},indexFromPos:function(a){a=R(this,a);var b=a.ch;if(a.line<this.first||0>a.ch)return 0;var c=this.lineSeparator().length;this.iter(this.first,a.line,function(a){b+=a.text.length+c});return b},copy:function(a){var b=new za(M(this,this.first,this.first+this.size),this.modeOption,this.first,this.lineSep,this.direction);b.scrollTop=this.scrollTop;b.scrollLeft=this.scrollLeft;b.sel=this.sel;b.extend=!1;a&&(b.history.undoDepth=this.history.undoDepth,b.setHistory(this.getHistory()));return b},linkedDoc:function(a){a|| (a={});var b=this.first,c=this.first+this.size;null!=a.from&&a.from>b&&(b=a.from);null!=a.to&&a.to<c&&(c=a.to);b=new za(M(this,b,c),a.mode||this.modeOption,b,this.lineSep,this.direction);a.sharedHist&&(b.history=this.history);(this.linked||(this.linked=[])).push({doc:b,sharedHist:a.sharedHist});b.linked=[{doc:this,isParent:!0,sharedHist:a.sharedHist}];a=xf(this);for(c=0;c<a.length;c++){var d=a[c],e=d.find(),g=b.clipPos(e.from);e=b.clipPos(e.to);Q(g,e)&&(g=Rb(b,g,e,d.primary,d.primary.type),d.markers.push(g), @@ -612,15 +612,15 @@ for(var Kc=1;12>=Kc;Kc++)nb[Kc+111]=nb[Kc+63235]="F"+Kc;var xc={basic:{Left:"goC "Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Up":"goLineUp","Ctrl-Down":"goLineDown","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection", "Alt-U":"redoSelection",fallthrough:"basic"},emacsy:{"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Alt-F":"goWordRight","Alt-B":"goWordLeft","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-D":"delWordAfter","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars","Ctrl-O":"openLine"},macDefault:{"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo", "Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Home":"goDocStart","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineLeft","Cmd-Right":"goLineRight","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delWrappedLineLeft", -"Cmd-Delete":"delWrappedLineRight","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection","Ctrl-Up":"goDocStart","Ctrl-Down":"goDocEnd",fallthrough:["basic","emacsy"]}};xc["default"]=Ma?xc.macDefault:xc.pcDefault;var yc={selectAll:of,singleSelection:function(a){return a.setSelection(a.getCursor("anchor"),a.getCursor("head"),Ya)},killLine:function(a){return Tb(a,function(b){if(b.empty()){var c=I(a.doc,b.head.line).text.length;return b.head.ch==c&&b.head.line<a.lastLine()?{from:b.head,to:H(b.head.line+ +"Cmd-Delete":"delWrappedLineRight","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection","Ctrl-Up":"goDocStart","Ctrl-Down":"goDocEnd",fallthrough:["basic","emacsy"]}};xc["default"]=Ma?xc.macDefault:xc.pcDefault;var yc={selectAll:of,singleSelection:function(a){return a.setSelection(a.getCursor("anchor"),a.getCursor("head"),Ya)},killLine:function(a){return Tb(a,function(b){if(b.empty()){var c=J(a.doc,b.head.line).text.length;return b.head.ch==c&&b.head.line<a.lastLine()?{from:b.head,to:H(b.head.line+ 1,0)}:{from:b.head,to:H(b.head.line,c)}}return{from:b.from(),to:b.to()}})},deleteLine:function(a){return Tb(a,function(b){return{from:H(b.from().line,0),to:R(a.doc,H(b.to().line+1,0))}})},delLineLeft:function(a){return Tb(a,function(a){return{from:H(a.from().line,0),to:a.from()}})},delWrappedLineLeft:function(a){return Tb(a,function(b){var c=a.charCoords(b.head,"div").top+5;return{from:a.coordsChar({left:0,top:c},"div"),to:b.from()}})},delWrappedLineRight:function(a){return Tb(a,function(b){var c= a.charCoords(b.head,"div").top+5;c=a.coordsChar({left:a.display.lineDiv.offsetWidth+100,top:c},"div");return{from:b.from(),to:c}})},undo:function(a){return a.undo()},redo:function(a){return a.redo()},undoSelection:function(a){return a.undoSelection()},redoSelection:function(a){return a.redoSelection()},goDocStart:function(a){return a.extendSelection(H(a.firstLine(),0))},goDocEnd:function(a){return a.extendSelection(H(a.lastLine()))},goLineStart:function(a){return a.extendSelectionsBy(function(b){return Ff(a, -b.head.line)},{origin:"+move",bias:1})},goLineStartSmart:function(a){return a.extendSelectionsBy(function(b){return Gf(a,b.head)},{origin:"+move",bias:1})},goLineEnd:function(a){return a.extendSelectionsBy(function(b){b=b.head.line;var c=I(a.doc,b);var d=c;for(var e;e=wa(d,!1);)d=e.find(1,!0).line;d!=c&&(b=N(d));return Zd(!0,a,c,b,-1)},{origin:"+move",bias:-1})},goLineRight:function(a){return a.extendSelectionsBy(function(b){b=a.cursorCoords(b.head,"div").top+5;return a.coordsChar({left:a.display.lineDiv.offsetWidth+ +b.head.line)},{origin:"+move",bias:1})},goLineStartSmart:function(a){return a.extendSelectionsBy(function(b){return Gf(a,b.head)},{origin:"+move",bias:1})},goLineEnd:function(a){return a.extendSelectionsBy(function(b){b=b.head.line;var c=J(a.doc,b);var d=c;for(var e;e=wa(d,!1);)d=e.find(1,!0).line;d!=c&&(b=N(d));return Zd(!0,a,c,b,-1)},{origin:"+move",bias:-1})},goLineRight:function(a){return a.extendSelectionsBy(function(b){b=a.cursorCoords(b.head,"div").top+5;return a.coordsChar({left:a.display.lineDiv.offsetWidth+ 100,top:b},"div")},Hc)},goLineLeft:function(a){return a.extendSelectionsBy(function(b){b=a.cursorCoords(b.head,"div").top+5;return a.coordsChar({left:0,top:b},"div")},Hc)},goLineLeftSmart:function(a){return a.extendSelectionsBy(function(b){var c=a.cursorCoords(b.head,"div").top+5;c=a.coordsChar({left:0,top:c},"div");return c.ch<a.getLine(c.line).search(/\S/)?Gf(a,b.head):c},Hc)},goLineUp:function(a){return a.moveV(-1,"line")},goLineDown:function(a){return a.moveV(1,"line")},goPageUp:function(a){return a.moveV(-1, "page")},goPageDown:function(a){return a.moveV(1,"page")},goCharLeft:function(a){return a.moveH(-1,"char")},goCharRight:function(a){return a.moveH(1,"char")},goColumnLeft:function(a){return a.moveH(-1,"column")},goColumnRight:function(a){return a.moveH(1,"column")},goWordLeft:function(a){return a.moveH(-1,"word")},goGroupRight:function(a){return a.moveH(1,"group")},goGroupLeft:function(a){return a.moveH(-1,"group")},goWordRight:function(a){return a.moveH(1,"word")},delCharBefore:function(a){return a.deleteH(-1, "char")},delCharAfter:function(a){return a.deleteH(1,"char")},delWordBefore:function(a){return a.deleteH(-1,"word")},delWordAfter:function(a){return a.deleteH(1,"word")},delGroupBefore:function(a){return a.deleteH(-1,"group")},delGroupAfter:function(a){return a.deleteH(1,"group")},indentAuto:function(a){return a.indentSelection("smart")},indentMore:function(a){return a.indentSelection("add")},indentLess:function(a){return a.indentSelection("subtract")},insertTab:function(a){return a.replaceSelection("\t")}, -insertSoftTab:function(a){for(var b=[],c=a.listSelections(),d=a.options.tabSize,e=0;e<c.length;e++){var g=c[e].from();g=m(a.getLine(g.line),g.ch,d);b.push(v(d-g%d))}a.replaceSelections(b)},defaultTab:function(a){a.somethingSelected()?a.indentSelection("add"):a.execCommand("insertTab")},transposeChars:function(a){return Ea(a,function(){for(var b=a.listSelections(),c=[],d=0;d<b.length;d++)if(b[d].empty()){var e=b[d].head,g=I(a.doc,e.line).text;if(g)if(e.ch==g.length&&(e=new H(e.line,e.ch-1)),0<e.ch)e= -new H(e.line,e.ch+1),a.replaceRange(g.charAt(e.ch-1)+g.charAt(e.ch-2),H(e.line,e.ch-2),e,"+transpose");else if(e.line>a.doc.first){var k=I(a.doc,e.line-1).text;k&&(e=new H(e.line,1),a.replaceRange(g.charAt(0)+a.doc.lineSeparator()+k.charAt(k.length-1),H(e.line-1,k.length-1),e,"+transpose"))}c.push(new W(e,e))}a.setSelections(c)})},newlineAndIndent:function(a){return Ea(a,function(){for(var b=a.listSelections(),c=b.length-1;0<=c;c--)a.replaceRange(a.doc.lineSeparator(),b[c].anchor,b[c].head,"+input"); +insertSoftTab:function(a){for(var b=[],c=a.listSelections(),d=a.options.tabSize,e=0;e<c.length;e++){var g=c[e].from();g=m(a.getLine(g.line),g.ch,d);b.push(v(d-g%d))}a.replaceSelections(b)},defaultTab:function(a){a.somethingSelected()?a.indentSelection("add"):a.execCommand("insertTab")},transposeChars:function(a){return Ea(a,function(){for(var b=a.listSelections(),c=[],d=0;d<b.length;d++)if(b[d].empty()){var e=b[d].head,g=J(a.doc,e.line).text;if(g)if(e.ch==g.length&&(e=new H(e.line,e.ch-1)),0<e.ch)e= +new H(e.line,e.ch+1),a.replaceRange(g.charAt(e.ch-1)+g.charAt(e.ch-2),H(e.line,e.ch-2),e,"+transpose");else if(e.line>a.doc.first){var k=J(a.doc,e.line-1).text;k&&(e=new H(e.line,1),a.replaceRange(g.charAt(0)+a.doc.lineSeparator()+k.charAt(k.length-1),H(e.line-1,k.length-1),e,"+transpose"))}c.push(new W(e,e))}a.setSelections(c)})},newlineAndIndent:function(a){return Ea(a,function(){for(var b=a.listSelections(),c=b.length-1;0<=c;c--)a.replaceRange(a.doc.lineSeparator(),b[c].anchor,b[c].head,"+input"); b=a.listSelections();for(c=0;c<b.length;c++)a.indentLine(b[c].from().line,null,!0);Kb(a)})},openLine:function(a){return a.replaceSelection("\n","start")},toggleOverwrite:function(a){return a.toggleOverwrite()}},Lg=new Bb,$d=null,ae=function(a,b,c){this.time=a;this.pos=b;this.button=c};ae.prototype.compare=function(a,b,c){return this.time+400>a&&0==Q(b,this.pos)&&c==this.button};var Bc,Ac,Ub={toString:function(){return"CodeMirror.Init"}},Pf={},nd={};ea.defaults=Pf;ea.optionHandlers=nd;var de=[];ea.defineInitHook= function(a){return de.push(a)};var Fa=null,Y=function(a){this.cm=a;this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null;this.polling=new Bb;this.composing=null;this.gracePeriod=!1;this.readDOMTimeout=null};Y.prototype.init=function(a){function b(a){if(!ia(e,a)){if(e.somethingSelected())Fa={lineWise:!1,text:e.getSelections()},"cut"==a.type&&e.replaceSelection("",null,"cut");else if(e.options.lineWiseCopyCut){var b=Uf(e);Fa={lineWise:!0,text:b.text};"cut"==a.type&& e.operation(function(){e.setSelections(b.ranges,0,Ya);e.replaceSelection("",null,"cut")})}else return;if(a.clipboardData){a.clipboardData.clearData();var c=Fa.text.join("\n");a.clipboardData.setData("Text",c);if(a.clipboardData.getData("Text")==c){a.preventDefault();return}}var k=Wf();a=k.firstChild;e.display.lineSpace.insertBefore(k,e.display.lineSpace.firstChild);a.value=Fa.text.join("\n");var l=document.activeElement;Gc(a);setTimeout(function(){e.display.lineSpace.removeChild(k);l.focus();l==g&& @@ -629,11 +629,11 @@ function(){return d.forceCompositionEnd()});T(g,"input",function(){c.composing|| if(b.display.viewTo==b.display.viewFrom||d.line>=b.display.viewTo||c.line<b.display.viewFrom)a.removeAllRanges();else{var e=od(b,a.anchorNode,a.anchorOffset),g=od(b,a.focusNode,a.focusOffset);if(!e||e.bad||!g||g.bad||0!=Q(fa(e,g),d)||0!=Q(ka(e,g),c))if(e=b.display.view,d=d.line>=b.display.viewFrom&&Yf(b,d)||{node:e[0].measure.map[2],offset:0},c=c.line<b.display.viewTo&&Yf(b,c),c||(c=e[e.length-1].measure,c=c.maps?c.maps[c.maps.length-1]:c.map,c={node:c[c.length-1],offset:c[c.length-2]-c[c.length- 3]}),d&&c){e=a.rangeCount&&a.getRangeAt(0);try{var k=ec(d.node,d.offset,c.offset,c.node)}catch(kh){}k&&(!eb&&b.state.focused?(a.collapse(d.node,d.offset),k.collapsed||(a.removeAllRanges(),a.addRange(k))):(a.removeAllRanges(),a.addRange(k)),e&&null==a.anchorNode?a.addRange(e):eb&&this.startGracePeriod());this.rememberSelection()}else a.removeAllRanges()}};Y.prototype.startGracePeriod=function(){var a=this;clearTimeout(this.gracePeriod);this.gracePeriod=setTimeout(function(){a.gracePeriod=!1;a.selectionChanged()&& a.cm.operation(function(){return a.cm.curOp.selectionChanged=!0})},20)};Y.prototype.showMultipleSelections=function(a){h(this.cm.display.cursorDiv,a.cursors);h(this.cm.display.selectionDiv,a.selection)};Y.prototype.rememberSelection=function(){var a=window.getSelection();this.lastAnchorNode=a.anchorNode;this.lastAnchorOffset=a.anchorOffset;this.lastFocusNode=a.focusNode;this.lastFocusOffset=a.focusOffset};Y.prototype.selectionInEditor=function(){var a=window.getSelection();if(!a.rangeCount)return!1; -a=a.getRangeAt(0).commonAncestorContainer;return d(this.div,a)};Y.prototype.focus=function(){"nocursor"!=this.cm.options.readOnly&&(this.selectionInEditor()||this.showSelection(this.prepareSelection(),!0),this.div.focus())};Y.prototype.blur=function(){this.div.blur()};Y.prototype.getField=function(){return this.div};Y.prototype.supportsTouch=function(){return!0};Y.prototype.receivedFocus=function(){function a(){b.cm.state.focused&&(b.pollSelection(),b.polling.set(b.cm.options.pollInterval,a))}var b= +a=a.getRangeAt(0).commonAncestorContainer;return c(this.div,a)};Y.prototype.focus=function(){"nocursor"!=this.cm.options.readOnly&&(this.selectionInEditor()||this.showSelection(this.prepareSelection(),!0),this.div.focus())};Y.prototype.blur=function(){this.div.blur()};Y.prototype.getField=function(){return this.div};Y.prototype.supportsTouch=function(){return!0};Y.prototype.receivedFocus=function(){function a(){b.cm.state.focused&&(b.pollSelection(),b.polling.set(b.cm.options.pollInterval,a))}var b= this;this.selectionInEditor()?this.pollSelection():Ea(this.cm,function(){return b.cm.curOp.selectionChanged=!0});this.polling.set(this.cm.options.pollInterval,a)};Y.prototype.selectionChanged=function(){var a=window.getSelection();return a.anchorNode!=this.lastAnchorNode||a.anchorOffset!=this.lastAnchorOffset||a.focusNode!=this.lastFocusNode||a.focusOffset!=this.lastFocusOffset};Y.prototype.pollSelection=function(){if(null==this.readDOMTimeout&&!this.gracePeriod&&this.selectionChanged()){var a=window.getSelection(), b=this.cm;if(Wc&&Vc&&this.cm.options.gutters.length&&$g(a.anchorNode))this.cm.triggerOnKeyDown({type:"keydown",keyCode:8,preventDefault:Math.abs}),this.blur(),this.focus();else if(!this.composing){this.rememberSelection();var c=od(b,a.anchorNode,a.anchorOffset),d=od(b,a.focusNode,a.focusOffset);c&&d&&Ea(b,function(){ra(b.doc,db(c,d),Ya);if(c.bad||d.bad)b.curOp.selectionChanged=!0})}}};Y.prototype.pollContent=function(){null!=this.readDOMTimeout&&(clearTimeout(this.readDOMTimeout),this.readDOMTimeout= -null);var a=this.cm,b=a.display,c=a.doc.sel.primary(),d=c.from(),e=c.to();0==d.ch&&d.line>a.firstLine()&&(d=H(d.line-1,I(a.doc,d.line-1).length));e.ch==I(a.doc,e.line).text.length&&e.line<a.lastLine()&&(e=H(e.line+1,0));if(d.line<b.viewFrom||e.line>b.viewTo-1)return!1;var g;d.line==b.viewFrom||0==(g=rb(a,d.line))?(c=N(b.view[0].line),g=b.view[0].node):(c=N(b.view[g].line),g=b.view[g-1].node.nextSibling);var k=rb(a,e.line);k==b.view.length-1?(e=b.viewTo-1,b=b.lineDiv.lastChild):(e=N(b.view[k+1].line)- -1,b=b.view[k+1].node.previousSibling);if(!g)return!1;b=a.doc.splitLines(ah(a,g,b,c,e));for(g=O(a.doc,H(c,0),H(e,I(a.doc,e).text.length));1<b.length&&1<g.length;)if(w(b)==w(g))b.pop(),g.pop(),e--;else if(b[0]==g[0])b.shift(),g.shift(),c++;else break;var l=0;k=0;for(var m=b[0],r=g[0],t=Math.min(m.length,r.length);l<t&&m.charCodeAt(l)==r.charCodeAt(l);)++l;m=w(b);r=w(g);for(t=Math.min(m.length-(1==b.length?l:0),r.length-(1==g.length?l:0));k<t&&m.charCodeAt(m.length-k-1)==r.charCodeAt(r.length-k-1);)++k; +null);var a=this.cm,b=a.display,c=a.doc.sel.primary(),d=c.from(),e=c.to();0==d.ch&&d.line>a.firstLine()&&(d=H(d.line-1,J(a.doc,d.line-1).length));e.ch==J(a.doc,e.line).text.length&&e.line<a.lastLine()&&(e=H(e.line+1,0));if(d.line<b.viewFrom||e.line>b.viewTo-1)return!1;var g;d.line==b.viewFrom||0==(g=rb(a,d.line))?(c=N(b.view[0].line),g=b.view[0].node):(c=N(b.view[g].line),g=b.view[g-1].node.nextSibling);var k=rb(a,e.line);k==b.view.length-1?(e=b.viewTo-1,b=b.lineDiv.lastChild):(e=N(b.view[k+1].line)- +1,b=b.view[k+1].node.previousSibling);if(!g)return!1;b=a.doc.splitLines(ah(a,g,b,c,e));for(g=O(a.doc,H(c,0),H(e,J(a.doc,e).text.length));1<b.length&&1<g.length;)if(w(b)==w(g))b.pop(),g.pop(),e--;else if(b[0]==g[0])b.shift(),g.shift(),c++;else break;var l=0;k=0;for(var m=b[0],r=g[0],t=Math.min(m.length,r.length);l<t&&m.charCodeAt(l)==r.charCodeAt(l);)++l;m=w(b);r=w(g);for(t=Math.min(m.length-(1==b.length?l:0),r.length-(1==g.length?l:0));k<t&&m.charCodeAt(m.length-k-1)==r.charCodeAt(r.length-k-1);)++k; if(1==b.length&&1==g.length&&c==d.line)for(;l&&l>d.ch&&m.charCodeAt(m.length-k-1)==r.charCodeAt(r.length-k-1);)l--,k++;b[b.length-1]=m.slice(0,m.length-k).replace(/^\u200b+/,"");b[0]=b[0].slice(l).replace(/\u200b+$/,"");d=H(c,l);c=H(e,g.length?w(g).length-k:0);if(1<b.length||b[0]||Q(d,c))return Qb(a.doc,b,d,c,"+input"),!0};Y.prototype.ensurePolled=function(){this.forceCompositionEnd()};Y.prototype.reset=function(){this.forceCompositionEnd()};Y.prototype.forceCompositionEnd=function(){this.composing&& (clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())};Y.prototype.readFromDOMSoon=function(){var a=this;null==this.readDOMTimeout&&(this.readDOMTimeout=setTimeout(function(){a.readDOMTimeout=null;if(a.composing)if(a.composing.done)a.composing=null;else return;a.updateFromDOM()},80))};Y.prototype.updateFromDOM=function(){var a=this;!this.cm.isReadOnly()&&this.pollContent()||Ea(this.cm,function(){return ya(a.cm)})};Y.prototype.setUneditable=function(a){a.contentEditable= "false"};Y.prototype.onKeyPress=function(a){0!=a.charCode&&(a.preventDefault(),this.cm.isReadOnly()||oa(this.cm,ee)(this.cm,String.fromCharCode(null==a.charCode?a.keyCode:a.charCode),0))};Y.prototype.readOnlyChanged=function(a){this.div.contentEditable=String("nocursor"!=a)};Y.prototype.onContextMenu=function(){};Y.prototype.resetPosition=function(){};Y.prototype.needsContentAttribute=!0;var ma=function(a){this.cm=a;this.prevInput="";this.pollingFast=!1;this.polling=new Bb;this.hasSelection=!1;this.composing= @@ -641,7 +641,7 @@ null};ma.prototype.init=function(a){function b(a){if(!ia(e,a)){if(e.somethingSel T(k,"input",function(){V&&9<=ca&&c.hasSelection&&(c.hasSelection=null);d.poll()});T(k,"paste",function(a){ia(e,a)||Tf(a,e)||(e.state.pasteIncoming=!0,d.fastPoll())});T(k,"cut",b);T(k,"copy",b);T(a.scroller,"paste",function(b){cb(a,b)||ia(e,b)||(e.state.pasteIncoming=!0,d.focus())});T(a.lineSpace,"selectstart",function(b){cb(a,b)||na(b)});T(k,"compositionstart",function(){var a=e.getCursor("from");d.composing&&d.composing.range.clear();d.composing={start:a,range:e.markText(a,e.getCursor("to"),{className:"CodeMirror-composing"})}}); T(k,"compositionend",function(){d.composing&&(d.poll(),d.composing.range.clear(),d.composing=null)})};ma.prototype.prepareSelection=function(){var a=this.cm,b=a.display,c=a.doc,d=Ie(a);if(a.options.moveInputWithCursor){a=Qa(a,c.sel.primary().head,"div");c=b.wrapper.getBoundingClientRect();var e=b.lineDiv.getBoundingClientRect();d.teTop=Math.max(0,Math.min(b.wrapper.clientHeight-10,a.top+e.top-c.top));d.teLeft=Math.max(0,Math.min(b.wrapper.clientWidth-10,a.left+e.left-c.left))}return d};ma.prototype.showSelection= function(a){var b=this.cm.display;h(b.cursorDiv,a.cursors);h(b.selectionDiv,a.selection);null!=a.teTop&&(this.wrapper.style.top=a.teTop+"px",this.wrapper.style.left=a.teLeft+"px")};ma.prototype.reset=function(a){if(!this.contextMenuPending&&!this.composing){var b=this.cm;b.somethingSelected()?(this.prevInput="",a=b.getSelection(),this.textarea.value=a,b.state.focused&&Gc(this.textarea),V&&9<=ca&&(this.hasSelection=a)):a||(this.prevInput=this.textarea.value="",V&&9<=ca&&(this.hasSelection=null))}}; -ma.prototype.getField=function(){return this.textarea};ma.prototype.supportsTouch=function(){return!1};ma.prototype.focus=function(){if("nocursor"!=this.cm.options.readOnly&&(!Yb||e()!=this.textarea))try{this.textarea.focus()}catch(J){}};ma.prototype.blur=function(){this.textarea.blur()};ma.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0};ma.prototype.receivedFocus=function(){this.slowPoll()};ma.prototype.slowPoll=function(){var a=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval, +ma.prototype.getField=function(){return this.textarea};ma.prototype.supportsTouch=function(){return!1};ma.prototype.focus=function(){if("nocursor"!=this.cm.options.readOnly&&(!Yb||e()!=this.textarea))try{this.textarea.focus()}catch(I){}};ma.prototype.blur=function(){this.textarea.blur()};ma.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0};ma.prototype.receivedFocus=function(){this.slowPoll()};ma.prototype.slowPoll=function(){var a=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval, function(){a.poll();a.cm.state.focused&&a.slowPoll()})};ma.prototype.fastPoll=function(){function a(){c.poll()||b?(c.pollingFast=!1,c.slowPoll()):(b=!0,c.polling.set(60,a))}var b=!1,c=this;c.pollingFast=!0;c.polling.set(20,a)};ma.prototype.poll=function(){var a=this,b=this.cm,c=this.textarea,d=this.prevInput;if(this.contextMenuPending||!b.state.focused||fh(c)&&!d&&!this.composing||b.isReadOnly()||b.options.disableInput||b.state.keySeq)return!1;var e=c.value;if(e==d&&!b.somethingSelected())return!1; if(V&&9<=ca&&this.hasSelection===e||Ma&&/[\uf700-\uf7ff]/.test(e))return b.display.input.reset(),!1;if(b.doc.sel==b.display.selForContextMenu){var g=e.charCodeAt(0);8203!=g||d||(d="\u200b");if(8666==g)return this.reset(),this.cm.execCommand("undo")}var k=0;for(g=Math.min(d.length,e.length);k<g&&d.charCodeAt(k)==e.charCodeAt(k);)++k;Ea(b,function(){ee(b,e.slice(k),d.length-k,null,a.composing?"*compose":null);1E3<e.length||-1<e.indexOf("\n")?c.value=a.prevInput="":a.prevInput=e;a.composing&&(a.composing.range.clear(), a.composing.range=b.markText(a.composing.start,b.getCursor("to"),{className:"CodeMirror-composing"}))});return!0};ma.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)};ma.prototype.onKeyPress=function(){V&&9<=ca&&(this.hasSelection=null);this.fastPoll()};ma.prototype.onContextMenu=function(a){function b(){if(null!=k.selectionStart){var a=e.somethingSelected(),b="\u200b"+(a?k.value:"");k.value="\u21da";k.value=b;d.prevInput=a?"":"\u200b";k.selectionStart=1;k.selectionEnd= @@ -657,15 +657,15 @@ null);b("configureMouse",null);b("lineWrapping",!1,Yg,!0);b("gutters",[],functio "ltr",function(a,b){return a.doc.setDirection(b)},!0)})(ea);(function(a){var b=a.optionHandlers,c=a.helpers={};a.prototype={constructor:a,focus:function(){window.focus();this.display.input.focus()},setOption:function(a,c){var d=this.options,e=d[a];if(d[a]!=c||"mode"==a)d[a]=c,b.hasOwnProperty(a)&&oa(this,b[a])(this,c,e),da(this,"optionChange",this,a)},getOption:function(a){return this.options[a]},getDoc:function(){return this.doc},addKeyMap:function(a,b){this.state.keyMaps[b?"push":"unshift"](jd(a))}, removeKeyMap:function(a){for(var b=this.state.keyMaps,c=0;c<b.length;++c)if(b[c]==a||b[c].name==a)return b.splice(c,1),!0},addOverlay:ua(function(b,c){var d=b.token?b:a.getMode(this.options,b);if(d.startState)throw Error("Overlays may not be stateful.");x(this.state.overlays,{mode:d,modeSpec:b,opaque:c&&c.opaque,priority:c&&c.priority||0},function(a){return a.priority});this.state.modeGen++;ya(this)}),removeOverlay:ua(function(a){for(var b=this.state.overlays,c=0;c<b.length;++c){var d=b[c].modeSpec; if(d==a||"string"==typeof a&&d.name==a){b.splice(c,1);this.state.modeGen++;ya(this);break}}}),indentLine:ua(function(a,b,c){"string"!=typeof b&&"number"!=typeof b&&(b=null==b?this.options.smartIndent?"smart":"prev":b?"add":"subtract");U(this.doc,a)&&Dc(this,a,b,c)}),indentSelection:ua(function(a){for(var b=this.doc.sel.ranges,c=-1,d=0;d<b.length;d++){var e=b[d];if(e.empty())e.head.line>c&&(Dc(this,e.head.line,a,!0),c=e.head.line,d==this.doc.sel.primIndex&&Kb(this));else{var g=e.from();e=e.to();var k= -Math.max(c,g.line);c=Math.min(this.lastLine(),e.line-(e.ch?0:1))+1;for(e=k;e<c;++e)Dc(this,e,a);e=this.doc.sel.ranges;0==g.ch&&b.length==e.length&&0<e[d].from().ch&&Vd(this.doc,d,new W(g,e[d].to()),Ya)}}}),getTokenAt:function(a,b){return je(this,a,b)},getLineTokens:function(a,b){return je(this,H(a),b,!0)},getTokenTypeAt:function(a){a=R(this.doc,a);var b=ib(this,I(this.doc,a.line)),c=0,d=(b.length-1)/2;a=a.ch;if(0==a)b=b[2];else for(;;){var e=c+d>>1;if((e?b[2*e-1]:0)>=a)d=e;else if(b[2*e+1]<a)c=e+ +Math.max(c,g.line);c=Math.min(this.lastLine(),e.line-(e.ch?0:1))+1;for(e=k;e<c;++e)Dc(this,e,a);e=this.doc.sel.ranges;0==g.ch&&b.length==e.length&&0<e[d].from().ch&&Vd(this.doc,d,new W(g,e[d].to()),Ya)}}}),getTokenAt:function(a,b){return je(this,a,b)},getLineTokens:function(a,b){return je(this,H(a),b,!0)},getTokenTypeAt:function(a){a=R(this.doc,a);var b=ib(this,J(this.doc,a.line)),c=0,d=(b.length-1)/2;a=a.ch;if(0==a)b=b[2];else for(;;){var e=c+d>>1;if((e?b[2*e-1]:0)>=a)d=e;else if(b[2*e+1]<a)c=e+ 1;else{b=b[2*e+2];break}}c=b?b.indexOf("overlay "):-1;return 0>c?b:0==c?null:b.slice(0,c-1)},getModeAt:function(b){var c=this.doc.mode;return c.innerMode?a.innerMode(c,this.getTokenAt(b).state).mode:c},getHelper:function(a,b){return this.getHelpers(a,b)[0]},getHelpers:function(a,b){var d=[];if(!c.hasOwnProperty(b))return d;var e=c[b];a=this.getModeAt(a);if("string"==typeof a[b])e[a[b]]&&d.push(e[a[b]]);else if(a[b])for(var g=0;g<a[b].length;g++){var k=e[a[b][g]];k&&d.push(k)}else a.helperType&&e[a.helperType]? d.push(e[a.helperType]):e[a.name]&&d.push(e[a.name]);for(b=0;b<e._global.length;b++)g=e._global[b],g.pred(a,this)&&-1==r(d,g.val)&&d.push(g.val);return d},getStateAfter:function(a,b){var c=this.doc;a=Math.max(c.first,Math.min(null==a?c.first+c.size-1:a,c.first+c.size-1));return Va(this,a+1,b).state},cursorCoords:function(a,b){var c=this.doc.sel.primary();a=null==a?c.head:"object"==typeof a?R(this.doc,a):a?c.from():c.to();return Qa(this,a,b||"page")},charCoords:function(a,b){return Bd(this,R(this.doc, -a),b||"page")},coordsChar:function(a,b){a=De(this,a,b||"page");return Dd(this,a.left,a.top)},lineAtHeight:function(a,b){a=De(this,{top:a,left:0},b||"page").top;return S(this.doc,a+this.display.viewOffset)},heightAtLine:function(a,b,c){var d=!1;if("number"==typeof a){var e=this.doc.first+this.doc.size-1;a<this.doc.first?a=this.doc.first:a>e&&(a=e,d=!0);a=I(this.doc,a)}return Xc(this,a,{top:0,left:0},b||"page",c||d).top+(d?this.doc.height-Ha(a):0)},defaultTextHeight:function(){return tb(this.display)}, +a),b||"page")},coordsChar:function(a,b){a=De(this,a,b||"page");return Dd(this,a.left,a.top)},lineAtHeight:function(a,b){a=De(this,{top:a,left:0},b||"page").top;return S(this.doc,a+this.display.viewOffset)},heightAtLine:function(a,b,c){var d=!1;if("number"==typeof a){var e=this.doc.first+this.doc.size-1;a<this.doc.first?a=this.doc.first:a>e&&(a=e,d=!0);a=J(this.doc,a)}return Xc(this,a,{top:0,left:0},b||"page",c||d).top+(d?this.doc.height-Ha(a):0)},defaultTextHeight:function(){return tb(this.display)}, defaultCharWidth:function(){return ic(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(a,b,c,d,e){var g=this.display;a=Qa(this,R(this.doc,a));var k=a.bottom,l=a.left;b.style.position="absolute";b.setAttribute("cm-ignore-events","true");this.display.input.setUneditable(b);g.sizer.appendChild(b);if("over"==d)k=a.top;else if("above"==d||"near"==d){var m=Math.max(g.wrapper.clientHeight,this.doc.height),r=Math.max(g.sizer.clientWidth,g.lineSpace.clientWidth); ("above"==d||a.bottom+b.offsetHeight>m)&&a.top>b.offsetHeight?k=a.top-b.offsetHeight:a.bottom+b.offsetHeight<=m&&(k=a.bottom);l+b.offsetWidth>r&&(l=r-b.offsetWidth)}b.style.top=k+"px";b.style.left=b.style.right="";"right"==e?(l=g.sizer.clientWidth-b.offsetWidth,b.style.right="0px"):("left"==e?l=0:"middle"==e&&(l=(g.sizer.clientWidth-b.offsetWidth)/2),b.style.left=l+"px");c&&(a=Ld(this,{left:l,top:k,right:l+b.offsetWidth,bottom:k+b.offsetHeight}),null!=a.scrollTop&&nc(this,a.scrollTop),null!=a.scrollLeft&& xb(this,a.scrollLeft))},triggerOnKeyDown:ua(If),triggerOnKeyPress:ua(Kf),triggerOnKeyUp:Jf,triggerOnMouseDown:ua(Lf),execCommand:function(a){if(yc.hasOwnProperty(a))return yc[a].call(null,this)},triggerElectric:ua(function(a){Sf(this,a)}),findPosH:function(a,b,c,d){var e=1;0>b&&(e=-1,b=-b);a=R(this.doc,a);for(var g=0;g<b&&(a=ge(this.doc,a,e,c,d),!a.hitSide);++g);return a},moveH:ua(function(a,b){var c=this;this.extendSelectionsBy(function(d){return c.display.shift||c.doc.extend||d.empty()?ge(c.doc, d.head,a,b,c.options.rtlMoveVisually):0>a?d.from():d.to()},Hc)}),deleteH:ua(function(a,b){var c=this.doc;this.doc.sel.somethingSelected()?c.replaceSelection("",null,"+delete"):Tb(this,function(d){var e=ge(c,d.head,a,b,!1);return 0>a?{from:e,to:d.head}:{from:d.head,to:e}})}),findPosV:function(a,b,c,d){var e=1;0>b&&(e=-1,b=-b);var g=R(this.doc,a);for(a=0;a<b&&(g=Qa(this,g,"div"),null==d?d=g.left:g.left=d,g=Xf(this,g,e,c),!g.hitSide);++a);return g},moveV:ua(function(a,b){var c=this,d=this.doc,e=[],g= -!this.display.shift&&!d.extend&&d.sel.somethingSelected();d.extendSelectionsBy(function(k){if(g)return 0>a?k.from():k.to();var l=Qa(c,k.head,"div");null!=k.goalColumn&&(l.left=k.goalColumn);e.push(l.left);var m=Xf(c,l,a,b);"page"==b&&k==d.sel.primary()&&$c(c,Bd(c,m,"div").top-l.top);return m},Hc);if(e.length)for(var k=0;k<d.sel.ranges.length;k++)d.sel.ranges[k].goalColumn=e[k]}),findWordAt:function(a){var b=I(this.doc,a.line).text,c=a.ch,d=a.ch;if(b){var e=this.getHelper(a,"wordChars");"before"!= +!this.display.shift&&!d.extend&&d.sel.somethingSelected();d.extendSelectionsBy(function(k){if(g)return 0>a?k.from():k.to();var l=Qa(c,k.head,"div");null!=k.goalColumn&&(l.left=k.goalColumn);e.push(l.left);var m=Xf(c,l,a,b);"page"==b&&k==d.sel.primary()&&$c(c,Bd(c,m,"div").top-l.top);return m},Hc);if(e.length)for(var k=0;k<d.sel.ranges.length;k++)d.sel.ranges[k].goalColumn=e[k]}),findWordAt:function(a){var b=J(this.doc,a.line).text,c=a.ch,d=a.ch;if(b){var e=this.getHelper(a,"wordChars");"before"!= a.sticky&&d!=b.length||!c?++d:--c;var g=b.charAt(c);for(g=E(g,e)?function(a){return E(a,e)}:/\s/.test(g)?function(a){return/\s/.test(a)}:function(a){return!/\s/.test(a)&&!E(a)};0<c&&g(b.charAt(c-1));)--c;for(;d<b.length&&g(b.charAt(d));)++d}return new W(H(a.line,c),H(a.line,d))},toggleOverwrite:function(a){if(null==a||a!=this.state.overwrite)(this.state.overwrite=!this.state.overwrite)?g(this.display.cursorDiv,"CodeMirror-overwrite"):wb(this.display.cursorDiv,"CodeMirror-overwrite"),da(this,"overwriteToggle", this,this.state.overwrite)},hasFocus:function(){return this.display.input.getField()==e()},isReadOnly:function(){return!(!this.options.readOnly&&!this.doc.cantEdit)},scrollTo:ua(function(a,b){mc(this,a,b)}),getScrollInfo:function(){var a=this.display.scroller;return{left:a.scrollLeft,top:a.scrollTop,height:a.scrollHeight-Xa(this)-this.display.barHeight,width:a.scrollWidth-Xa(this)-this.display.barWidth,clientHeight:wd(this),clientWidth:qb(this)}},scrollIntoView:ua(function(a,b){null==a?(a={from:this.doc.sel.primary().head, to:null},null==b&&(b=this.options.cursorScrollMargin)):"number"==typeof a?a={from:H(a,0),to:null}:null==a.from&&(a={from:a,to:null});a.to||(a.to=a.from);a.margin=b||0;null!=a.from.line?(ad(this),this.curOp.scrollToPos=a):Pe(this,a.from,a.to,a.margin)}),setSize:ua(function(a,b){var c=this,d=function(a){return"number"==typeof a||/^\d+$/.test(String(a))?a+"px":a};null!=a&&(this.display.wrapper.style.width=d(a));null!=b&&(this.display.wrapper.style.height=d(b));this.options.lineWrapping&&Ae(this);var e= @@ -675,318 +675,343 @@ La(a);a.registerHelper=function(b,d,e){c.hasOwnProperty(b)||(c[b]=a[b]={_global: function(a){ea.defaults.mode||"null"==a||(ea.defaults.mode=a);Rc.apply(this,arguments)};ea.defineMIME=function(a,b){Gb[a]=b};ea.defineMode("null",function(){return{token:function(a){return a.skipToEnd()}}});ea.defineMIME("text/plain","null");ea.defineExtension=function(a,b){ea.prototype[a]=b};ea.defineDocExtension=function(a,b){za.prototype[a]=b};ea.fromTextArea=function(a,b){function c(){a.value=m.getValue()}b=b?t(b):{};b.value=a.value;!b.tabindex&&a.tabIndex&&(b.tabindex=a.tabIndex);!b.placeholder&& a.placeholder&&(b.placeholder=a.placeholder);if(null==b.autofocus){var d=e();b.autofocus=d==a||null!=a.getAttribute("autofocus")&&d==document.body}if(a.form&&(T(a.form,"submit",c),!b.leaveSubmitMethodAlone)){var g=a.form;var k=g.submit;try{var l=g.submit=function(){c();g.submit=k;g.submit();g.submit=l}}catch(he){}}b.finishInit=function(b){b.save=c;b.getTextArea=function(){return a};b.toTextArea=function(){b.toTextArea=isNaN;c();a.parentNode.removeChild(b.getWrapperElement());a.style.display="";a.form&& (ha(a.form,"submit",c),"function"==typeof a.form.submit&&(a.form.submit=k))}};a.style.display="none";var m=ea(function(b){return a.parentNode.insertBefore(b,a.nextSibling)},b);return m};(function(a){a.off=ha;a.on=T;a.wheelEventPixels=wg;a.Doc=za;a.splitLines=fe;a.countColumn=m;a.findColumn=u;a.isWordChar=D;a.Pass=ld;a.signal=da;a.Line=Mb;a.changeEnd=lb;a.scrollbarModel=Te;a.Pos=H;a.cmpPos=Q;a.modes=sd;a.mimeModes=Gb;a.resolveMode=bb;a.getMode=Na;a.modeExtensions=Hb;a.extendMode=ta;a.copyState=Oa; -a.startState=bc;a.innerMode=Ib;a.commands=yc;a.keyMap=xc;a.keyName=Ef;a.isModifierKey=Bf;a.lookupKey=Sb;a.normalizeKeyMap=Ig;a.StringStream=ja;a.SharedTextMarker=wc;a.TextMarker=mb;a.LineWidget=vc;a.e_preventDefault=na;a.e_stopPropagation=Qc;a.e_stop=pb;a.addClass=g;a.contains=d;a.rmClass=wb;a.keyNames=nb})(ea);ea.version="5.31.0";return ea})},function(h,f,a){var q=a(214);f.multicast=function(a,c){var b="function"===typeof a?a:function(){return a};if("function"===typeof c)return this.lift(new p(b, -c));c=Object.create(this,q.connectableObservableDescriptor);c.source=this;c.subjectFactory=b;return c};var p=function(){function a(a,b){this.subjectFactory=a;this.selector=b}a.prototype.call=function(a,b){var c=this.selector,e=this.subjectFactory();a=c(e).subscribe(a);a.add(b.subscribe(e));return a};return a}();f.MulticastOperator=p},function(h,f,a){a.d(f,"b",function(){return q});var q;(function(a){a[a.UINT8=0]="UINT8";a[a.UINT16=1]="UINT16";a[a.UINT32=2]="UINT32";a[a.UINT64=3]="UINT64";a[a.FLOAT32= -4]="FLOAT32"})(q||(q={}));h=[];f.a=h;h[q.UINT8]=1;h[q.UINT16]=2;h[q.UINT32]=4;h[q.UINT64]=8;h[q.FLOAT32]=4},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return d});f.c=function(a,b){e.set(a,b)}; -f.b=function(a){return e.get(a)};h=a(1);var p=a(140),n=a(21),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),b=new Float32Array(4),d=function(a){function d(a){if(!(this instanceof d))throw new TypeError("Cannot call a class as a function");var b=(d.__proto__||Object.getPrototypeOf(d)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); -b=!b||"object"!==typeof b&&"function"!==typeof b?this:b;b.gl=a;b.countingBuffer=b.registerDisposer(Object(p.d)(b.gl));return b}q(d,a);c(d,[{key:"setPartIndex",value:function(a,b){for(var c=[],d=1;d<arguments.length;++d)c[d-1]=arguments[d];d="\nvoid setPartIndex("+c.map(function(a,b){return"float partIndex"+b}).join()+") {\n uint32_t pickID; pickID.value = uPickID;\n uint32_t pickBaseOffset = getPickBaseOffset();\n"+c.map(function(a,b){return"uint32_t pickOffset"+b+" = add(pickBaseOffset, partIndex"+ +a.startState=bc;a.innerMode=Ib;a.commands=yc;a.keyMap=xc;a.keyName=Ef;a.isModifierKey=Bf;a.lookupKey=Sb;a.normalizeKeyMap=Ig;a.StringStream=ja;a.SharedTextMarker=wc;a.TextMarker=mb;a.LineWidget=vc;a.e_preventDefault=na;a.e_stopPropagation=Qc;a.e_stop=pb;a.addClass=g;a.contains=c;a.rmClass=wb;a.keyNames=nb})(ea);ea.version="5.31.0";return ea})},function(h,f,a){var q=a(214);f.multicast=function(a,d){var b="function"===typeof a?a:function(){return a};if("function"===typeof d)return this.lift(new p(b, +d));d=Object.create(this,q.connectableObservableDescriptor);d.source=this;d.subjectFactory=b;return d};var p=function(){function a(a,b){this.subjectFactory=a;this.selector=b}a.prototype.call=function(a,b){var c=this.selector,d=this.subjectFactory();a=c(d).subscribe(a);a.add(b.subscribe(d));return a};return a}();f.MulticastOperator=p},function(h,f,a){a.d(f,"b",function(){return q});var q;(function(a){a[a.UINT8=0]="UINT8";a[a.UINT16=1]="UINT16";a[a.UINT32=2]="UINT32";a[a.UINT64=3]="UINT64";a[a.FLOAT32= +4]="FLOAT32"})(q||(q={}));h=[];f.a=h;h[q.UINT8]=1;h[q.UINT16]=2;h[q.UINT32]=4;h[q.UINT64]=8;h[q.FLOAT32]=4},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return c});f.c=function(a,b){e.set(a,b)}; +f.b=function(a){return e.get(a)};h=a(1);var p=a(140),n=a(21),d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),b=new Float32Array(4),c=function(a){function c(a){if(!(this instanceof c))throw new TypeError("Cannot call a class as a function");var b=(c.__proto__||Object.getPrototypeOf(c)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); +b=!b||"object"!==typeof b&&"function"!==typeof b?this:b;b.gl=a;b.countingBuffer=b.registerDisposer(Object(p.d)(b.gl));return b}q(c,a);d(c,[{key:"setPartIndex",value:function(a,b){for(var c=[],d=1;d<arguments.length;++d)c[d-1]=arguments[d];d="\nvoid setPartIndex("+c.map(function(a,b){return"float partIndex"+b}).join()+") {\n uint32_t pickID; pickID.value = uPickID;\n uint32_t pickBaseOffset = getPickBaseOffset();\n"+c.map(function(a,b){return"uint32_t pickOffset"+b+" = add(pickBaseOffset, partIndex"+ b+");"}).join("\n")+"\n";0===c.length&&(d+="\n uint32_t pickOffset0 = pickBaseOffset;\n");d+="\n vPickID = add(pickID, pickOffset0).value;\n uint32_t selectedIndex; selectedIndex.value = uSelectedIndex;\nif (equals(selectedIndex, pickBaseOffset)"+c.map(function(a,b){return" || equals(selectedIndex, pickOffset"+b+")"}).join("")+") {\n vColor = uColorSelected;\n } else {\n vColor = uColor;\n }\n}\n";a.addVertexCode(n.d);a.addVertexCode(n.b);a.addVertexCode(d);return"setPartIndex("+c.join()+ ")"}},{key:"getCrossSectionFadeFactor",value:function(){return this.targetIsSliceView?"(clamp(1.0 - 2.0 * abs(0.5 - gl_FragCoord.z), 0.0, 1.0))":"(1.0)"}},{key:"defineShader",value:function(a){a.addUniform("highp vec4","uColor");a.addUniform("highp vec4","uColorSelected");a.addUniform("highp vec4","uSelectedIndex");a.addVarying("highp vec4","vColor");a.addUniform("highp mat4","uProjection");a.addUniform("highp vec4","uPickID");a.addVarying("highp vec4","vPickID");a.require(p.b);1===this.pickIdsPerInstance? a.addVertexCode("\nuint32_t getPickBaseOffset() { return getPrimitiveIndex(); }\n"):(a.addVertexCode(n.j),a.addVertexCode("\nuint32_t getPickBaseOffset() {\n return multiply(getPrimitiveIndex(), "+this.pickIdsPerInstance.toFixed(1)+");\n}\n"));a.addFragmentCode("\nvoid emitAnnotation(vec4 color) {\n emit(color, vPickID);\n}\n")}},{key:"enable",value:function(a,c,d){a.bind();var e=this.gl,g=c.renderContext,k=c.annotationLayer;this.countingBuffer.ensure(c.count).bind(a,1);e.uniformMatrix4fv(a.uniform("uProjection"), -!1,c.projectionMatrix);g.emitPickID&&e.uniform4fv(a.uniform("uPickID"),Object(n.r)(b,c.basePickId));if(g.emitColor){g=k.state.color.value;b[0]=g[0];b[1]=g[1];b[2]=g[2];b[3]=1;e.uniform4fv(a.uniform("uColor"),b);for(g=0;3>g;++g)b[g]=.75+.25*b[g];e.uniform4fv(a.uniform("uColorSelected"),b);e.uniform4fv(a.uniform("uSelectedIndex"),Object(n.r)(b,c.selectedIndex))}d();Object(p.c)(this.gl,a,!0)}}]);return d}(h.a),e=new Map},function(h,f,a){function q(a,b,d,e,g,l){a=void 0===a?-1:a;b=void 0===b?-1:b;d=void 0=== -d?1:d;e=void 0===e?1:e;g=void 0===g?1:g;l=void 0===l?1:l;return Object(p.d)(new Float32Array([a,b,a,e,d,e,d,b]),2,g,l)}f.a=function(a,b,d,e,g,l,k){return Object(n.b)(a,WebGL2RenderingContext.ARRAY_BUFFER,q,void 0===b?-1:b,void 0===d?-1:d,void 0===e?1:e,void 0===g?1:g,void 0===l?1:l,void 0===k?1:k).value};var p=a(43),n=a(20)},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b? -a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function c(a){for(var b=t.length,c=t[b-1],d=0;d<b;++d){var e=t[d];if(a>=e.lengthInNanometers){c= -e;break}}return c}function b(a){for(var b=Object.assign({},v),c={},e=$jscomp.makeIterator("textHeightInPixels barTopMarginInPixels barHeightInPixels paddingInPixels scaleFactor maxWidthInPixels maxWidthFraction leftPixelOffset bottomPixelOffset".split(" ")),g=e.next();!g.done;c={k:c.k},g=e.next())c.k=g.value,Object(d.v)(a,c.k,function(a){return function(c){void 0!==c&&(b[a.k]=Object(d.p)(c))}}(c));Object(d.v)(a,"fontName",function(a){void 0!==a&&(b.fontName=Object(d.A)(a))});return b}f.d=c;f.e=function(a){for(var b= -t.length,c=t[b-1],d=0;d<b;++d){var e=t[d];if(a>=Math.pow(e.lengthInNanometers,3)){c=e;break}}return c};a.d(f,"a",function(){return m});a.d(f,"b",function(){return r});a.d(f,"c",function(){return w});h=a(9);f=a(1);var d=a(4),e=a(76),g=function x(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return x(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},l=function(){function a(a, +!1,c.projectionMatrix);g.emitPickID&&e.uniform4fv(a.uniform("uPickID"),Object(n.r)(b,c.basePickId));if(g.emitColor){g=k.state.color.value;b[0]=g[0];b[1]=g[1];b[2]=g[2];b[3]=1;e.uniform4fv(a.uniform("uColor"),b);for(g=0;3>g;++g)b[g]=.75+.25*b[g];e.uniform4fv(a.uniform("uColorSelected"),b);e.uniform4fv(a.uniform("uSelectedIndex"),Object(n.r)(b,c.selectedIndex))}d();Object(p.c)(this.gl,a,!0)}}]);return c}(h.a),e=new Map},function(h,f,a){function q(a,b,c,e,g,l){a=void 0===a?-1:a;b=void 0===b?-1:b;c=void 0=== +c?1:c;e=void 0===e?1:e;g=void 0===g?1:g;l=void 0===l?1:l;return Object(p.d)(new Float32Array([a,b,a,e,c,e,c,b]),2,g,l)}f.a=function(a,b,c,e,g,l,k){return Object(n.b)(a,WebGL2RenderingContext.ARRAY_BUFFER,q,void 0===b?-1:b,void 0===c?-1:c,void 0===e?1:e,void 0===g?1:g,void 0===l?1:l,void 0===k?1:k).value};var p=a(43),n=a(20)},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b? +a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function d(a){for(var b=t.length,c=t[b-1],d=0;d<b;++d){var e=t[d];if(a>=e.lengthInNanometers){c= +e;break}}return c}function b(a){for(var b=Object.assign({},v),d={},e=$jscomp.makeIterator("textHeightInPixels barTopMarginInPixels barHeightInPixels paddingInPixels scaleFactor maxWidthInPixels maxWidthFraction leftPixelOffset bottomPixelOffset".split(" ")),g=e.next();!g.done;d={k:d.k},g=e.next())d.k=g.value,Object(c.v)(a,d.k,function(a){return function(d){void 0!==d&&(b[a.k]=Object(c.p)(d))}}(d));Object(c.v)(a,"fontName",function(a){void 0!==a&&(b.fontName=Object(c.A)(a))});return b}f.d=d;f.e=function(a){for(var b= +t.length,c=t[b-1],d=0;d<b;++d){var e=t[d];if(a>=Math.pow(e.lengthInNanometers,3)){c=e;break}}return c};a.d(f,"a",function(){return m});a.d(f,"b",function(){return r});a.d(f,"c",function(){return w});h=a(9);f=a(1);var c=a(4),e=a(77),g=function x(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return x(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},l=function(){function a(a, b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),k=[1.5,2,3,5,7.5,10],t=[{unit:"km",lengthInNanometers:1E12},{unit:"m",lengthInNanometers:1E9},{unit:"mm",lengthInNanometers:1E6},{unit:"\u00b5m",lengthInNanometers:1E3},{unit:"nm",lengthInNanometers:1},{unit:"pm",lengthInNanometers:.001}],m=function(){function a(){n(this,a);this.allowedSignificands= -k;this.prevTargetLengthInPixels=this.prevNanometersPerPixel=this.nanometersPerPixel=this.targetLengthInPixels=0}l(a,[{key:"update",value:function(){var a=this.nanometersPerPixel,b=this.targetLengthInPixels;if(this.prevNanometersPerPixel===a&&this.prevTargetLengthInPixels===b)return!1;this.prevNanometersPerPixel=a;this.prevTargetLengthInPixels=b;var d=b*a;b=Math.pow(10,Math.floor(Math.log(d)/Math.LN10));d/=b;for(var e=1,g=$jscomp.makeIterator(this.allowedSignificands),k=g.next();!k.done;k=g.next())if(k= -k.value,Math.abs(k-d)<Math.abs(e-d))e=k;else break;b*=e;d=c(b);this.lengthInPixels=Math.round(b/a);this.physicalUnit=d.unit;this.physicalLength=b/d.lengthInNanometers;return!0}}]);return a}(),r=function(a){function b(a,c){c=void 0===c?new m:c;n(this,b);var d=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.gl=a;d.dimensions=c;d.texture=null;d.width=0;d.height=0;d.priorOptions=void 0;return d}p(b,a);l(b,[{key:"update",value:function(a){var b=this.dimensions,c=this.texture;if(b.update()|| +k;this.prevTargetLengthInPixels=this.prevNanometersPerPixel=this.nanometersPerPixel=this.targetLengthInPixels=0}l(a,[{key:"update",value:function(){var a=this.nanometersPerPixel,b=this.targetLengthInPixels;if(this.prevNanometersPerPixel===a&&this.prevTargetLengthInPixels===b)return!1;this.prevNanometersPerPixel=a;this.prevTargetLengthInPixels=b;var c=b*a;b=Math.pow(10,Math.floor(Math.log(c)/Math.LN10));c/=b;for(var e=1,g=$jscomp.makeIterator(this.allowedSignificands),k=g.next();!k.done;k=g.next())if(k= +k.value,Math.abs(k-c)<Math.abs(e-c))e=k;else break;b*=e;c=d(b);this.lengthInPixels=Math.round(b/a);this.physicalUnit=c.unit;this.physicalLength=b/c.lengthInNanometers;return!0}}]);return a}(),r=function(a){function b(a,c){c=void 0===c?new m:c;n(this,b);var d=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.gl=a;d.dimensions=c;d.texture=null;d.width=0;d.height=0;d.priorOptions=void 0;return d}p(b,a);l(b,[{key:"update",value:function(a){var b=this.dimensions,c=this.texture;if(b.update()|| null===c||a!==this.priorOptions){null===c&&(c=this.texture=this.gl.createTexture());var d=this.gl,g=a;g=void 0===g?u:g;var k=document.createElement("canvas"),l=k.getContext("2d"),m=g.textHeightInPixels*g.scaleFactor,r="bold "+m+"px "+g.fontName;l.font=r;l.fillStyle="white";var t=b.physicalLength+" "+b.physicalUnit,f=l.measureText(t),h=g.barHeightInPixels*g.scaleFactor,v=g.barTopMarginInPixels*g.scaleFactor;g=g.paddingInPixels*g.scaleFactor;m=h+v+m+2*g;f=Math.max(b.lengthInPixels,f.width)+2*g;k.width= f;k.height=m;l.font=r;l.textAlign="center";l.fillStyle="rgba(0, 0, 0, 0.3)";l.fillRect(0,0,f,m);l.fillStyle="white";l.fillText(t,f/2,m-g-h-v);l.fillRect(g,m-g-h,b.lengthInPixels,h);Object(e.c)(d,c,k);this.priorOptions=a;this.width=f;this.height=m}}},{key:"disposed",value:function(){this.gl.deleteTexture(this.texture);this.texture=null;g(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}}]);return b}(f.a),u={scaleFactor:1,textHeightInPixels:15,barHeightInPixels:8, barTopMarginInPixels:5,fontName:"sans-serif",paddingInPixels:2},v=Object.assign({},u,{maxWidthInPixels:100,maxWidthFraction:.25,leftPixelOffset:10,bottomPixelOffset:10}),w=function(a){function c(){n(this,c);return q(this,(c.__proto__||Object.getPrototypeOf(c)).call(this,v,b))}p(c,a);return c}(h.c)},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!== -typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}a.d(f,"b",function(){return w});a.d(f,"a",function(){return y});a.d(f,"c",function(){return z});var c=a(30);h=a(23);var b= -a(265);f=a(59);var d=a(77),e=a(63),g=a(2),l=a(22),k=a(20),t=a(24),m=a(21);a=a(15);var r=function G(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return G(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},u=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a, +typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}a.d(f,"b",function(){return w});a.d(f,"a",function(){return y});a.d(f,"c",function(){return z});var d=a(30);h=a(24);var b= +a(265);f=a(59);var c=a(78),e=a(64),g=a(2),l=a(23),k=a(20),t=a(25),m=a(21);a=a(15);var r=function G(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return G(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},u=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a, d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),v=this&&this.__decorate||function(a,b,c,d){var e=arguments.length,g=3>e?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d,k;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var l=a.length-1;0<=l;l--)if(k=a[l])g=(3>e?k(g):3<e?k(b,c,g):k(b,c))||g;return 3<e&&g&&Object.defineProperty(b,c,g),g},w=function(){function a(){n(this,a);this.tempLightVec=new Float32Array(4);this.tempPickID= new Float32Array(4)}u(a,[{key:"defineShader",value:function(a){a.addAttribute("highp vec3","aVertexPosition");a.addAttribute("highp vec3","aVertexNormal");a.addVarying("highp vec4","vColor");a.addUniform("highp vec4","uLightDirection");a.addUniform("highp vec4","uColor");a.addUniform("highp mat4","uModelMatrix");a.addUniform("highp mat4","uProjection");a.addUniform("highp vec4","uPickID");a.setVertexMain("\ngl_Position = uProjection * (uModelMatrix * vec4(aVertexPosition, 1.0));\nvec3 normal = (uModelMatrix * vec4(aVertexNormal, 0.0)).xyz;\nfloat lightingFactor = abs(dot(normal, uLightDirection.xyz)) + uLightDirection.w;\nvColor = vec4(lightingFactor * uColor.rgb, uColor.a);\n"); a.setFragmentMain("emit(vColor, uPickID);")}},{key:"beginLayer",value:function(a,b,c){var d=c.dataToDevice,e=c.lightDirection,k=c.ambientLighting;c=c.directionalLighting;a.uniformMatrix4fv(b.uniform("uProjection"),!1,d);d=this.tempLightVec;g.s.scale(d,e,c);d[3]=k;a.uniform4fv(b.uniform("uLightDirection"),d)}},{key:"setColor",value:function(a,b,c){a.uniform4fv(b.uniform("uColor"),c)}},{key:"setPickID",value:function(a,b,c){a.uniform4fv(b.uniform("uPickID"),Object(m.r)(this.tempPickID,c))}},{key:"beginObject", value:function(a,b,c){a.uniformMatrix4fv(b.uniform("uModelMatrix"),!1,c)}},{key:"getShader",value:function(a,b){var c=this;return a.memoize.get("mesh/MeshShaderManager:"+Object(l.a)(b),function(){var d=new t.a(a);d.require(b);c.defineShader(d);return d.build()})}},{key:"drawFragment",value:function(a,b,c){c.vertexBuffer.bindToVertexAttrib(b.attribute("aVertexPosition"),3);c.normalBuffer.bindToVertexAttrib(b.attribute("aVertexNormal"),3);c.indexBuffer.bind();a.drawElements(a.TRIANGLES,c.numIndices, a.UNSIGNED_INT,0)}},{key:"endLayer",value:function(a,b){a.disableVertexAttribArray(b.attribute("aVertexPosition"));a.disableVertexAttribArray(b.attribute("aVertexNormal"))}}]);return a}(),y=function(a){function g(a,c,d){n(this,g);var k=q(this,(g.__proto__||Object.getPrototypeOf(g)).call(this));k.chunkManager=a;k.source=c;k.displayState=d;k.meshShaderManager=new w;k.shaders=new Map;Object(e.f)(d,k);a=k.sharedObject=k.registerDisposer(new e.b(a,d));a.RPC_TYPE_ID=b.b;a.initializeCounterpartWithChunkManager({source:c.addCounterpartRef()}); -k.setReady(!0);a.visibility.add(k.visibility);return k}p(g,a);u(g,[{key:"getShader",value:function(a){var b=this.shaders,c=b.get(a);void 0===c&&(c=this.registerDisposer(this.meshShaderManager.getShader(this.gl,a)),b.set(a,c));return c}},{key:"draw",value:function(a){var b=this;if(a.emitColor||!a.alreadyEmittedPickID){var d=this.gl,g=this.displayState,k=this.meshShaderManager,l=Math.min(1,g.objectAlpha.value);if(!(0>=l)){var m=this.getShader(a.emitter);m.bind();k.beginLayer(d,m,a);var r=a.pickIDs, -t=this.displayState.objectToDataTransform.transform;Object(e.d)(g,this.source.fragmentSource.objectChunks,function(f,u,h){a.emitColor&&k.setColor(d,m,Object(e.e)(g,f,l));a.emitPickID&&k.setPickID(d,m,r.registerUint64(b,u));k.beginObject(d,m,t);f=$jscomp.makeIterator(h);for(u=f.next();!u.done;u=f.next())u=u.value,u.state===c.d.GPU_MEMORY&&k.drawFragment(d,m,u)});k.endLayer(d,m)}}}},{key:"isReady",value:function(){var a=this.displayState,b=this.source,e=!0,g=b.fragmentSource.chunks;Object(d.a)(a,function(k){k= -Object(d.b)(k,a.clipBounds.value);var l=b.chunks.get(k);if(void 0===l)e=!1;else{l=$jscomp.makeIterator(l.fragmentIds);for(var m=l.next();!m.done;m=l.next())if(m=g.get(k+"/"+m.value),void 0===m||m.state!==c.d.GPU_MEMORY){e=!1;break}}});return e}},{key:"isTransparent",get:function(){return 1>this.displayState.objectAlpha.value}},{key:"gl",get:function(){return this.chunkManager.chunkQueueManager.gl}}]);return g}(f.a),x=function(a){function b(a,c){n(this,b);a=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this, +k.setReady(!0);a.visibility.add(k.visibility);return k}p(g,a);u(g,[{key:"getShader",value:function(a){var b=this.shaders,c=b.get(a);void 0===c&&(c=this.registerDisposer(this.meshShaderManager.getShader(this.gl,a)),b.set(a,c));return c}},{key:"draw",value:function(a){var b=this;if(a.emitColor||!a.alreadyEmittedPickID){var c=this.gl,g=this.displayState,k=this.meshShaderManager,l=Math.min(1,g.objectAlpha.value);if(!(0>=l)){var m=this.getShader(a.emitter);m.bind();k.beginLayer(c,m,a);var r=a.pickIDs, +t=this.displayState.objectToDataTransform.transform;Object(e.d)(g,this.source.fragmentSource.objectChunks,function(f,u,h){a.emitColor&&k.setColor(c,m,Object(e.e)(g,f,l));a.emitPickID&&k.setPickID(c,m,r.registerUint64(b,u));k.beginObject(c,m,t);f=$jscomp.makeIterator(h);for(u=f.next();!u.done;u=f.next())u=u.value,u.state===d.d.GPU_MEMORY&&k.drawFragment(c,m,u)});k.endLayer(c,m)}}}},{key:"isReady",value:function(){var a=this.displayState,b=this.source,e=!0,g=b.fragmentSource.chunks;Object(c.a)(a,function(k){k= +Object(c.b)(k,a.clipBounds.value);var l=b.chunks.get(k);if(void 0===l)e=!1;else{l=$jscomp.makeIterator(l.fragmentIds);for(var m=l.next();!m.done;m=l.next())if(m=g.get(k+"/"+m.value),void 0===m||m.state!==d.d.GPU_MEMORY){e=!1;break}}});return e}},{key:"isTransparent",get:function(){return 1>this.displayState.objectAlpha.value}},{key:"gl",get:function(){return this.chunkManager.chunkQueueManager.gl}}]);return g}(f.a),x=function(a){function b(a,c){n(this,b);a=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this, a));a.fragmentIds=c.fragmentIds;return a}p(b,a);return b}(h.b),A=function(a){function b(a,c){n(this,b);a=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a));a.objectKey=c.objectKey;a.vertexPositions=c.vertexPositions;var d=a.indices=c.indices;a.numIndices=d.length;a.vertexNormals=c.vertexNormals;return a}p(b,a);u(b,[{key:"copyToGPU",value:function(a){r(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"copyToGPU",this).call(this,a);this.vertexBuffer=k.a.fromData(a,this.vertexPositions, a.ARRAY_BUFFER,a.STATIC_DRAW);this.indexBuffer=k.a.fromData(a,this.indices,a.ELEMENT_ARRAY_BUFFER,a.STATIC_DRAW);this.normalBuffer=k.a.fromData(a,this.vertexNormals,a.ARRAY_BUFFER,a.STATIC_DRAW)}},{key:"freeGPUMemory",value:function(a){r(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"freeGPUMemory",this).call(this,a);this.vertexBuffer.dispose();this.indexBuffer.dispose();this.normalBuffer.dispose()}}]);return b}(h.b),z=function(a){function b(){n(this,b);var a=q(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this, arguments));a.fragmentSource=a.registerDisposer(new D(a.chunkManager,a));return a}p(b,a);u(b,[{key:"initializeCounterpart",value:function(a,c){this.fragmentSource.initializeCounterpart(this.chunkManager.rpc,{});c.fragmentSource=this.fragmentSource.addCounterpartRef();r(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"initializeCounterpart",this).call(this,a,c)}},{key:"getChunk",value:function(a){return new x(this,a)}}]);return b}(h.e),D=function(a){function b(a,c){n(this,b);a=q(this,(b.__proto__|| Object.getPrototypeOf(b)).call(this,a));a.meshSource=c;a.objectChunks=new Map;return a}p(b,a);u(b,[{key:"addChunk",value:function(a,c){r(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"addChunk",this).call(this,a,c);a=this.objectChunks;var d=c.objectKey,e=a.get(d);void 0===e&&(e=new Set,a.set(d,e));e.add(c)}},{key:"deleteChunk",value:function(a){var c=this.chunks.get(a);r(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"deleteChunk",this).call(this,a);a=this.objectChunks;var d= c.objectKey,e=a.get(d);e.delete(c);0===e.size&&a.delete(d)}},{key:"getChunk",value:function(a){return new A(this,a)}}]);return b}(h.e);D=v([Object(a.g)(b.a)],D)},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function p(){return new n.f(void 0)} -f.c=p;f.b=function(a){return new n.c(a,c.A)};a.d(f,"a",function(){return g});var n=a(9);h=a(1);var c=a(4),b=a(24),d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),e=function k(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!== -a)return k(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},g=function(a){function c(a,b,d,e){e=void 0===e?p():e;if(!(this instanceof c))throw new TypeError("Cannot call a class as a function");var g=(c.__proto__||Object.getPrototypeOf(c)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");g=!g||"object"!==typeof g&&"function"!==typeof g?this:g;g.gl=a;g.defineShader=b;g.getShaderKey=d;g.shaderError=e;g.shaderUpdated= -!0;g.shader=void 0;e.value=void 0;return g}q(c,a);d(c,[{key:"invalidateShader",value:function(){this.shaderUpdated=!0}},{key:"get",value:function(){if(!this.shaderUpdated)return this.shader;this.shaderUpdated=!1;try{var a=this.getShader();this.disposeShader();this.shader=a;this.shaderError.value=null}catch(r){this.shaderError.value=r}return this.shader}},{key:"getShader",value:function(){var a=this,b=this.getShaderKey();return this.gl.memoize.get(b,function(){return a.buildShader()})}},{key:"buildShader", -value:function(){var a=new b.a(this.gl);this.defineShader(a);return a.build()}},{key:"disposed",value:function(){e(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"disposed",this).call(this);this.disposeShader()}},{key:"disposeShader",value:function(){this.shader&&(this.shader.dispose(),this.shader=void 0)}}]);return c}(h.a)},function(h,f,a){f.a=function(a){return new q.c(void 0===a?.5:a,p.q)};var q=a(9),p=a(4)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function"); -}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b,c,d){var e= +f.c=p;f.b=function(a){return new n.c(a,d.A)};a.d(f,"a",function(){return g});var n=a(9);h=a(1);var d=a(4),b=a(25),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),e=function k(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!== +a)return k(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},g=function(a){function d(a,b,c,e){e=void 0===e?p():e;if(!(this instanceof d))throw new TypeError("Cannot call a class as a function");var g=(d.__proto__||Object.getPrototypeOf(d)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");g=!g||"object"!==typeof g&&"function"!==typeof g?this:g;g.gl=a;g.defineShader=b;g.getShaderKey=c;g.shaderError=e;g.shaderUpdated= +!0;g.shader=void 0;e.value=void 0;return g}q(d,a);c(d,[{key:"invalidateShader",value:function(){this.shaderUpdated=!0}},{key:"get",value:function(){if(!this.shaderUpdated)return this.shader;this.shaderUpdated=!1;try{var a=this.getShader();this.disposeShader();this.shader=a;this.shaderError.value=null}catch(r){this.shaderError.value=r}return this.shader}},{key:"getShader",value:function(){var a=this,b=this.getShaderKey();return this.gl.memoize.get(b,function(){return a.buildShader()})}},{key:"buildShader", +value:function(){var a=new b.a(this.gl);this.defineShader(a);return a.build()}},{key:"disposed",value:function(){e(d.prototype.__proto__||Object.getPrototypeOf(d.prototype),"disposed",this).call(this);this.disposeShader()}},{key:"disposeShader",value:function(){this.shader&&(this.shader.dispose(),this.shader=void 0)}}]);return d}(h.a)},function(h,f,a){f.a=function(a){return new q.c(void 0===a?.5:a,p.q)};var q=a(9),p=a(4)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function"); +}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function d(a,b,c,d){var e= !1,g;a.registerDisposer(b);var k=l.UNLINKED,m=function(){var e=c.value;if(e!==k)switch(e){case l.UNLINKED:g=void 0;break;case l.LINKED:g=void 0;d.assign(a,b);break;case l.RELATIVE:g=d.difference(a,b)}k=e;a.changed.dispatch()};a.registerDisposer(a.changed.add(function(){if(!e)switch(c.value){case l.LINKED:d.assign(b,a);break;case l.RELATIVE:d.subtract(b,a,g)}}));a.registerDisposer(b.changed.add(function(){e=!0;switch(c.value){case l.UNLINKED:if(d.isValid(a))break;case l.LINKED:d.assign(a,b);break; -case l.RELATIVE:d.add(a,b,g)}e=!1}));a.registerDisposer(c.changed.add(m));m();return a}a.d(f,"d",function(){return l});a.d(f,"h",function(){return t});a.d(f,"b",function(){return v});a.d(f,"f",function(){return w});a.d(f,"a",function(){return y});a.d(f,"g",function(){return x});a.d(f,"c",function(){return z});a.d(f,"e",function(){return D});h=a(1);var b=a(2),d=a(4),e=a(7);a=a(306);var g=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable= -!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),l;(function(a){a[a.LINKED=0]="LINKED";a[a.RELATIVE=1]="RELATIVE";a[a.UNLINKED=2]="UNLINKED"})(l||(l={}));var k=function(a){function b(a){a=void 0===a?l.LINKED:a;q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,l,a))}n(b,a);return b}(a.a),t=function(a){function c(a){q(this,c);var d=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));d.changed= -new e.a;var g=!0;null==a&&(a=b.s.create(),g=!1);d.size=a;d.valid=g;return d}n(c,a);g(c,[{key:"reset",value:function(){this.valid=!1;this.changed.dispatch()}},{key:"setValid",value:function(){this.valid||(this.valid=!0,this.changed.dispatch())}},{key:"toJSON",value:function(){if(this.valid)return Array.prototype.slice.call(this.size)}},{key:"restoreState",value:function(a){try{Object(d.b)(this.size,a),this.valid=!0,this.changed.dispatch()}catch(B){this.valid=!1,this.changed.dispatch()}}},{key:"toString", -value:function(){return this.valid?this.size.toString():null}},{key:"voxelFromSpatial",value:function(a,c){return b.s.divide(a,c,this.size)}},{key:"spatialFromVoxel",value:function(a,c){return b.s.multiply(a,c,this.size)}}]);return c}(h.a),m=b.s.create(),r=b.n.create(),u=function(a){function c(a,d){q(this,c);var g=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));g.voxelCoordinates=null;g.changed=new e.a;null==a&&(a=new t);g.voxelSize=a;var k=!0;null==d&&(d=b.s.create(),k=!1);g.spatialCoordinates= -d;g.spatialCoordinatesValid=k;g.registerDisposer(a);g.registerDisposer(a.changed.add(function(){g.handleVoxelSizeChanged()}));return g}n(c,a);g(c,[{key:"reset",value:function(){this.spatialCoordinatesValid=!1;this.voxelCoordinates=null;this.voxelSize.reset();this.changed.dispatch()}},{key:"getVoxelCoordinates",value:function(a){var c=this.voxelCoordinates;if(c)b.s.copy(a,c);else if(this.valid)this.voxelSize.voxelFromSpatial(a,this.spatialCoordinates);else return!1;return!0}},{key:"setVoxelCoordinates", +case l.RELATIVE:d.add(a,b,g)}e=!1}));a.registerDisposer(c.changed.add(m));m();return a}a.d(f,"d",function(){return l});a.d(f,"h",function(){return t});a.d(f,"b",function(){return v});a.d(f,"f",function(){return w});a.d(f,"a",function(){return y});a.d(f,"g",function(){return x});a.d(f,"c",function(){return z});a.d(f,"e",function(){return D});h=a(1);var b=a(2),c=a(4),e=a(7);a=a(306);var g=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable= +!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),l;(function(a){a[a.LINKED=0]="LINKED";a[a.RELATIVE=1]="RELATIVE";a[a.UNLINKED=2]="UNLINKED"})(l||(l={}));var k=function(a){function b(a){a=void 0===a?l.LINKED:a;q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,l,a))}n(b,a);return b}(a.a),t=function(a){function d(a){q(this,d);var c=p(this,(d.__proto__||Object.getPrototypeOf(d)).call(this));c.changed= +new e.a;var g=!0;null==a&&(a=b.s.create(),g=!1);c.size=a;c.valid=g;return c}n(d,a);g(d,[{key:"reset",value:function(){this.valid=!1;this.changed.dispatch()}},{key:"setValid",value:function(){this.valid||(this.valid=!0,this.changed.dispatch())}},{key:"toJSON",value:function(){if(this.valid)return Array.prototype.slice.call(this.size)}},{key:"restoreState",value:function(a){try{Object(c.b)(this.size,a),this.valid=!0,this.changed.dispatch()}catch(B){this.valid=!1,this.changed.dispatch()}}},{key:"toString", +value:function(){return this.valid?this.size.toString():null}},{key:"voxelFromSpatial",value:function(a,c){return b.s.divide(a,c,this.size)}},{key:"spatialFromVoxel",value:function(a,c){return b.s.multiply(a,c,this.size)}}]);return d}(h.a),m=b.s.create(),r=b.n.create(),u=function(a){function d(a,c){q(this,d);var g=p(this,(d.__proto__||Object.getPrototypeOf(d)).call(this));g.voxelCoordinates=null;g.changed=new e.a;null==a&&(a=new t);g.voxelSize=a;var k=!0;null==c&&(c=b.s.create(),k=!1);g.spatialCoordinates= +c;g.spatialCoordinatesValid=k;g.registerDisposer(a);g.registerDisposer(a.changed.add(function(){g.handleVoxelSizeChanged()}));return g}n(d,a);g(d,[{key:"reset",value:function(){this.spatialCoordinatesValid=!1;this.voxelCoordinates=null;this.voxelSize.reset();this.changed.dispatch()}},{key:"getVoxelCoordinates",value:function(a){var c=this.voxelCoordinates;if(c)b.s.copy(a,c);else if(this.valid)this.voxelSize.voxelFromSpatial(a,this.spatialCoordinates);else return!1;return!0}},{key:"setVoxelCoordinates", value:function(a){var c=this.voxelSize;c.valid?(c.spatialFromVoxel(this.spatialCoordinates,a),this.markSpatialCoordinatesChanged()):(c=this.voxelCoordinates)?b.s.copy(c,a):this.voxelCoordinates=b.s.clone(a);this.changed.dispatch()}},{key:"markSpatialCoordinatesChanged",value:function(){this.spatialCoordinatesValid=!0;this.voxelCoordinates=null;this.changed.dispatch()}},{key:"handleVoxelSizeChanged",value:function(){null==this.voxelCoordinates||this.spatialCoordinatesValid||(this.voxelSize.spatialFromVoxel(this.spatialCoordinates, -this.voxelCoordinates),this.spatialCoordinatesValid=!0);this.voxelCoordinates=null;this.changed.dispatch()}},{key:"toJSON",value:function(){var a=!0,b=this.voxelSize.toJSON(),c={};void 0!==b&&(a=!1,c.voxelSize=b);this.voxelCoordinatesValid?(this.getVoxelCoordinates(m),c.voxelCoordinates=Array.prototype.slice.call(m),a=!1):this.spatialCoordinatesValid&&(c.spatialCoordinates=Array.prototype.slice.call(this.spatialCoordinates),a=!1);if(!a)return c}},{key:"restoreState",value:function(a){var c=this;Object(d.t)(a); -Object(d.v)(a,"voxelSize",function(a){void 0!==a&&c.voxelSize.restoreState(a)});this.spatialCoordinatesValid=!1;Object(d.v)(a,"voxelCoordinates",function(a){void 0!==a&&c.setVoxelCoordinates(Object(d.b)(b.s.create(),a))});Object(d.v)(a,"spatialCoordinates",function(a){void 0!==a&&(Object(d.b)(c.spatialCoordinates,a),c.markSpatialCoordinatesChanged())})}},{key:"snapToVoxel",value:function(){if(this.valid){for(var a=this.spatialCoordinates,b=this.voxelSize.size,c=0;3>c;++c){var d=b[c];a[c]=Math.round(a[c]/ +this.voxelCoordinates),this.spatialCoordinatesValid=!0);this.voxelCoordinates=null;this.changed.dispatch()}},{key:"toJSON",value:function(){var a=!0,b=this.voxelSize.toJSON(),c={};void 0!==b&&(a=!1,c.voxelSize=b);this.voxelCoordinatesValid?(this.getVoxelCoordinates(m),c.voxelCoordinates=Array.prototype.slice.call(m),a=!1):this.spatialCoordinatesValid&&(c.spatialCoordinates=Array.prototype.slice.call(this.spatialCoordinates),a=!1);if(!a)return c}},{key:"restoreState",value:function(a){var d=this;Object(c.t)(a); +Object(c.v)(a,"voxelSize",function(a){void 0!==a&&d.voxelSize.restoreState(a)});this.spatialCoordinatesValid=!1;Object(c.v)(a,"voxelCoordinates",function(a){void 0!==a&&d.setVoxelCoordinates(Object(c.b)(b.s.create(),a))});Object(c.v)(a,"spatialCoordinates",function(a){void 0!==a&&(Object(c.b)(d.spatialCoordinates,a),d.markSpatialCoordinatesChanged())})}},{key:"snapToVoxel",value:function(){if(this.valid){for(var a=this.spatialCoordinates,b=this.voxelSize.size,c=0;3>c;++c){var d=b[c];a[c]=Math.round(a[c]/ d)*d}this.changed.dispatch()}else if(a=this.voxelCoordinates,null!=a){for(b=0;3>b;++b)a[b]=Math.round(a[b]);this.changed.dispatch()}}},{key:"assign",value:function(a){this.spatialCoordinatesValid=a.spatialCoordinatesValid;b.s.copy(this.spatialCoordinates,a.spatialCoordinates);this.voxelCoordinates=(a=a.voxelCoordinates)&&b.s.clone(a);this.changed.dispatch()}},{key:"valid",get:function(){return this.spatialCoordinatesValid&&this.voxelSize.valid}},{key:"voxelCoordinatesValid",get:function(){return this.valid|| null!=this.voxelCoordinates}}],[{key:"getOffset",value:function(a,c){if(a.spatialCoordinatesValid&&c.spatialCoordinatesValid)return{spatialOffset:b.s.subtract(b.s.create(),a.spatialCoordinates,c.spatialCoordinates)};if(a.voxelCoordinates&&c.voxelCoordinates){if(a.voxelSize!==c.voxelSize)throw Error("Voxel offsets are only meaningful with identical voxelSize.");return{voxelOffset:b.s.subtract(b.s.create(),a.voxelCoordinates,c.voxelCoordinates)}}return{}}},{key:"addOffset",value:function(a,c,d,e){e= -void 0===e?1:e;var g=d.spatialOffset;d=d.voxelOffset;void 0!==g&&c.spatialCoordinatesValid?(b.s.scaleAndAdd(a.spatialCoordinates,c.spatialCoordinates,g,e),a.markSpatialCoordinatesChanged()):void 0!==d&&c.getVoxelCoordinates(m)&&a.setVoxelCoordinates(b.s.scaleAndAdd(m,m,d,e))}}]);return c}(h.a);a=function(){function a(b,c){c=void 0===c?new k:c;q(this,a);this.peer=b;this.link=c}g(a,[{key:"toJSON",value:function(){var a=this.link;if(a.value!==l.LINKED)return{link:a.toJSON(),value:this.getValueJson()}}}, -{key:"getValueJson",value:function(){return this.value.toJSON()}},{key:"reset",value:function(){this.link.value=l.LINKED}},{key:"restoreState",value:function(a){var b=this;void 0===a||0===Object.keys(a).length?this.link.value=l.LINKED:(Object(d.t)(a),this.link.value=l.UNLINKED,Object(d.v)(a,"value",function(a){void 0!==a&&b.value.restoreState(a)}),Object(d.v)(a,"link",function(a){return b.link.restoreState(a)}))}},{key:"copyToPeer",value:function(){this.link.value!==l.LINKED&&(this.link.value=l.UNLINKED, -this.peer.assign(this.value),this.link.value=l.LINKED)}},{key:"changed",get:function(){return this.value.changed}}]);return a}();var v=function(a){function b(){q(this,b);var a=p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.value=c(new u(a.peer.voxelSize.addRef()),a.peer,a.link,{assign:function(a,b){return a.assign(b)},isValid:function(a){return a.spatialCoordinatesValid||a.voxelCoordinatesValid},difference:u.getOffset,add:u.addOffset,subtract:function(a,b,c){u.addOffset(a, -b,c,-1)}});return a}n(b,a);g(b,[{key:"getValueJson",value:function(){var a=this.value.toJSON()||{};delete a.voxelSize;return a}}]);return b}(a),w=function(a){function c(a){q(this,c);var d=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));d.changed=new e.a;null==a&&(a=b.n.create());d.orientation=a;return d}n(c,a);g(c,[{key:"toJSON",value:function(){var a=this.orientation;b.n.normalize(this.orientation,this.orientation);if(0!==a[0]||0!==a[1]||0!==a[2]||1!==a[3])return Array.prototype.slice.call(this.orientation)}}, -{key:"restoreState",value:function(a){try{Object(d.b)(this.orientation,a),b.n.normalize(this.orientation,this.orientation)}catch(B){b.n.identity(this.orientation)}this.changed.dispatch()}},{key:"reset",value:function(){b.n.identity(this.orientation);this.changed.dispatch()}},{key:"snap",value:function(){var a=b.i.create();b.i.fromQuat(a,this.orientation);for(var c=[!1,!1,!1],d=0;3>d;++d){for(var e=0,g=0,k=0;3>k;++k){var l=a[3*d+k];a[3*d+k]=0;!c[k]&&Math.abs(l)>Math.abs(e)&&(e=l,g=k)}a[3*d+g]=Math.sign(e); -c[g]=!0}b.n.fromMat3(this.orientation,a);this.changed.dispatch()}},{key:"assign",value:function(a){b.n.copy(this.orientation,a.orientation);this.changed.dispatch()}}],[{key:"makeRelative",value:function(a,d){var e=new c(b.n.multiply(b.n.create(),a.orientation,d)),g=!1;e.registerDisposer(a.changed.add(function(){g||(k=!0,b.n.multiply(e.orientation,a.orientation,d),e.changed.dispatch(),k=!1)}));var k=!1,l=b.n.invert(b.n.create(),d);e.registerDisposer(e.changed.add(function(){k||(g=!0,b.n.multiply(a.orientation, -e.orientation,l),a.changed.dispatch(),g=!1)}));return e}}]);return c}(h.a),y=function(a){function d(){q(this,d);var a=p(this,(d.__proto__||Object.getPrototypeOf(d)).apply(this,arguments));a.value=c(new w,a.peer,a.link,{assign:function(a,b){return a.assign(b)},isValid:function(){return!0},difference:function(a,c){var d=b.n.create();return b.n.multiply(d,b.n.invert(d,c.orientation),a.orientation)},add:function(a,c,d){b.n.multiply(a.orientation,c.orientation,d);a.changed.dispatch()},subtract:function(a, -c,d){b.n.multiply(a.orientation,c.orientation,b.n.invert(r,d));a.changed.dispatch()}});return a}n(d,a);return d}(a),x=function(a){function c(a,b){q(this,c);var d=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));d.changed=new e.a;null==a&&(a=new u);d.position=a;null==b&&(b=new w);d.orientation=b;d.registerDisposer(d.position);d.registerDisposer(d.orientation);d.registerDisposer(d.position.changed.add(d.changed.dispatch));d.registerDisposer(d.orientation.changed.add(d.changed.dispatch));return d} -n(c,a);g(c,[{key:"reset",value:function(){this.position.reset();this.orientation.reset()}},{key:"toMat4",value:function(a){b.k.fromRotationTranslation(a,this.orientation.orientation,this.position.spatialCoordinates)}},{key:"toJSON",value:function(){var a=this.position.toJSON(),b=this.orientation.toJSON();if(void 0!==a||void 0!==b)return{position:a,orientation:b}}},{key:"restoreState",value:function(a){var b=this;Object(d.t)(a);Object(d.v)(a,"position",function(a){void 0!==a&&b.position.restoreState(a)}); -Object(d.v)(a,"orientation",function(a){void 0!==a&&b.orientation.restoreState(a)})}},{key:"snap",value:function(){this.orientation.snap();this.position.snapToVoxel();this.changed.dispatch()}},{key:"translateAbsolute",value:function(a){b.s.add(this.position.spatialCoordinates,this.position.spatialCoordinates,a);this.position.changed.dispatch()}},{key:"translateRelative",value:function(a){this.valid&&(b.s.transformQuat(m,a,this.orientation.orientation),b.s.add(this.position.spatialCoordinates,this.position.spatialCoordinates, +void 0===e?1:e;var g=d.spatialOffset;d=d.voxelOffset;void 0!==g&&c.spatialCoordinatesValid?(b.s.scaleAndAdd(a.spatialCoordinates,c.spatialCoordinates,g,e),a.markSpatialCoordinatesChanged()):void 0!==d&&c.getVoxelCoordinates(m)&&a.setVoxelCoordinates(b.s.scaleAndAdd(m,m,d,e))}}]);return d}(h.a);a=function(){function a(b,c){c=void 0===c?new k:c;q(this,a);this.peer=b;this.link=c}g(a,[{key:"toJSON",value:function(){var a=this.link;if(a.value!==l.LINKED)return{link:a.toJSON(),value:this.getValueJson()}}}, +{key:"getValueJson",value:function(){return this.value.toJSON()}},{key:"reset",value:function(){this.link.value=l.LINKED}},{key:"restoreState",value:function(a){var b=this;void 0===a||0===Object.keys(a).length?this.link.value=l.LINKED:(Object(c.t)(a),this.link.value=l.UNLINKED,Object(c.v)(a,"value",function(a){void 0!==a&&b.value.restoreState(a)}),Object(c.v)(a,"link",function(a){return b.link.restoreState(a)}))}},{key:"copyToPeer",value:function(){this.link.value!==l.LINKED&&(this.link.value=l.UNLINKED, +this.peer.assign(this.value),this.link.value=l.LINKED)}},{key:"changed",get:function(){return this.value.changed}}]);return a}();var v=function(a){function b(){q(this,b);var a=p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.value=d(new u(a.peer.voxelSize.addRef()),a.peer,a.link,{assign:function(a,b){return a.assign(b)},isValid:function(a){return a.spatialCoordinatesValid||a.voxelCoordinatesValid},difference:u.getOffset,add:u.addOffset,subtract:function(a,b,c){u.addOffset(a, +b,c,-1)}});return a}n(b,a);g(b,[{key:"getValueJson",value:function(){var a=this.value.toJSON()||{};delete a.voxelSize;return a}}]);return b}(a),w=function(a){function d(a){q(this,d);var c=p(this,(d.__proto__||Object.getPrototypeOf(d)).call(this));c.changed=new e.a;null==a&&(a=b.n.create());c.orientation=a;return c}n(d,a);g(d,[{key:"toJSON",value:function(){var a=this.orientation;b.n.normalize(this.orientation,this.orientation);if(0!==a[0]||0!==a[1]||0!==a[2]||1!==a[3])return Array.prototype.slice.call(this.orientation)}}, +{key:"restoreState",value:function(a){try{Object(c.b)(this.orientation,a),b.n.normalize(this.orientation,this.orientation)}catch(B){b.n.identity(this.orientation)}this.changed.dispatch()}},{key:"reset",value:function(){b.n.identity(this.orientation);this.changed.dispatch()}},{key:"snap",value:function(){var a=b.i.create();b.i.fromQuat(a,this.orientation);for(var c=[!1,!1,!1],d=0;3>d;++d){for(var e=0,g=0,k=0;3>k;++k){var l=a[3*d+k];a[3*d+k]=0;!c[k]&&Math.abs(l)>Math.abs(e)&&(e=l,g=k)}a[3*d+g]=Math.sign(e); +c[g]=!0}b.n.fromMat3(this.orientation,a);this.changed.dispatch()}},{key:"assign",value:function(a){b.n.copy(this.orientation,a.orientation);this.changed.dispatch()}}],[{key:"makeRelative",value:function(a,c){var e=new d(b.n.multiply(b.n.create(),a.orientation,c)),g=!1;e.registerDisposer(a.changed.add(function(){g||(k=!0,b.n.multiply(e.orientation,a.orientation,c),e.changed.dispatch(),k=!1)}));var k=!1,l=b.n.invert(b.n.create(),c);e.registerDisposer(e.changed.add(function(){k||(g=!0,b.n.multiply(a.orientation, +e.orientation,l),a.changed.dispatch(),g=!1)}));return e}}]);return d}(h.a),y=function(a){function c(){q(this,c);var a=p(this,(c.__proto__||Object.getPrototypeOf(c)).apply(this,arguments));a.value=d(new w,a.peer,a.link,{assign:function(a,b){return a.assign(b)},isValid:function(){return!0},difference:function(a,c){var d=b.n.create();return b.n.multiply(d,b.n.invert(d,c.orientation),a.orientation)},add:function(a,c,d){b.n.multiply(a.orientation,c.orientation,d);a.changed.dispatch()},subtract:function(a, +c,d){b.n.multiply(a.orientation,c.orientation,b.n.invert(r,d));a.changed.dispatch()}});return a}n(c,a);return c}(a),x=function(a){function d(a,b){q(this,d);var c=p(this,(d.__proto__||Object.getPrototypeOf(d)).call(this));c.changed=new e.a;null==a&&(a=new u);c.position=a;null==b&&(b=new w);c.orientation=b;c.registerDisposer(c.position);c.registerDisposer(c.orientation);c.registerDisposer(c.position.changed.add(c.changed.dispatch));c.registerDisposer(c.orientation.changed.add(c.changed.dispatch));return c} +n(d,a);g(d,[{key:"reset",value:function(){this.position.reset();this.orientation.reset()}},{key:"toMat4",value:function(a){b.k.fromRotationTranslation(a,this.orientation.orientation,this.position.spatialCoordinates)}},{key:"toJSON",value:function(){var a=this.position.toJSON(),b=this.orientation.toJSON();if(void 0!==a||void 0!==b)return{position:a,orientation:b}}},{key:"restoreState",value:function(a){var b=this;Object(c.t)(a);Object(c.v)(a,"position",function(a){void 0!==a&&b.position.restoreState(a)}); +Object(c.v)(a,"orientation",function(a){void 0!==a&&b.orientation.restoreState(a)})}},{key:"snap",value:function(){this.orientation.snap();this.position.snapToVoxel();this.changed.dispatch()}},{key:"translateAbsolute",value:function(a){b.s.add(this.position.spatialCoordinates,this.position.spatialCoordinates,a);this.position.changed.dispatch()}},{key:"translateRelative",value:function(a){this.valid&&(b.s.transformQuat(m,a,this.orientation.orientation),b.s.add(this.position.spatialCoordinates,this.position.spatialCoordinates, m),this.position.changed.dispatch())}},{key:"translateVoxelsRelative",value:function(a){if(this.valid){var c=b.s.create();b.s.transformQuat(c,a,this.orientation.orientation);b.s.multiply(c,c,this.position.voxelSize.size);b.s.add(this.position.spatialCoordinates,this.position.spatialCoordinates,c);this.position.changed.dispatch()}}},{key:"rotateRelative",value:function(a,c){var d=b.n.create();b.n.setAxisAngle(d,a,c);a=this.orientation.orientation;b.n.multiply(a,a,d);this.orientation.changed.dispatch()}}, -{key:"rotateAbsolute",value:function(a,c,d){var e=b.n.create();b.n.setAxisAngle(e,a,c);a=this.orientation.orientation;if(void 0!==d){c=this.position.spatialCoordinates;var g=b.s.subtract(m,d,c),k=b.n.invert(r,a);b.s.transformQuat(g,g,k);b.n.multiply(a,e,a);b.s.transformQuat(c,g,a);b.s.subtract(c,d,c);this.position.changed.dispatch()}else b.n.multiply(a,e,a);this.orientation.changed.dispatch()}},{key:"valid",get:function(){return this.position.valid}}]);return c}(h.a),A=function(a){function b(a,c){a= +{key:"rotateAbsolute",value:function(a,c,d){var e=b.n.create();b.n.setAxisAngle(e,a,c);a=this.orientation.orientation;if(void 0!==d){c=this.position.spatialCoordinates;var g=b.s.subtract(m,d,c),k=b.n.invert(r,a);b.s.transformQuat(g,g,k);b.n.multiply(a,e,a);b.s.transformQuat(c,g,a);b.s.subtract(c,d,c);this.position.changed.dispatch()}else b.n.multiply(a,e,a);this.orientation.changed.dispatch()}},{key:"valid",get:function(){return this.position.valid}}]);return d}(h.a),A=function(a){function b(a,c){a= void 0===a?Number.NaN:a;c=void 0===c?a:c;q(this,b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.value_=a;d.defaultValue=c;d.changed=new e.a;return d}n(b,a);g(b,[{key:"toJSON",value:function(){var a=this.value_,b=this.defaultValue;if(!(Number.isNaN(a)&&Number.isNaN(b)||a===b))return a}},{key:"restoreState",value:function(a){"number"===typeof a&&Number.isFinite(a)&&0<a?this.value=a:this.value=this.defaultValue}},{key:"reset",value:function(){this.value=this.defaultValue}},{key:"zoomBy", -value:function(a){var b=this.value_;Number.isNaN(b)||(this.value=b*a)}},{key:"assign",value:function(a){this.value=a.value}},{key:"value",get:function(){return this.value_},set:function(a){a!==this.value_&&(this.value_=a,this.changed.dispatch())}},{key:"valid",get:function(){return!Number.isNaN(this.value)}}]);return b}(h.a),z=function(a){function b(){q(this,b);var a=p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.value=function(){var b=new A;return c(b,a.peer,a.link,{assign:function(a, -b){return a.assign(b)},isValid:function(a){return a.valid},difference:function(a,b){return a.value/b.value},add:function(a,b,c){a.value=b.value*c},subtract:function(a,b,c){a.value=b.value/c}})}();return a}n(b,a);return b}(a),D=function(a){function c(a,b){a=void 0===a?new x:a;b=void 0===b?Number.NaN:b;q(this,c);var d=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));d.pose=a;d.changed=new e.a;d.zoomFactor="number"===typeof b?new A(b):b;d.registerDisposer(d.zoomFactor);d.registerDisposer(a); -d.registerDisposer(d.pose.changed.add(function(){d.changed.dispatch()}));d.registerDisposer(d.zoomFactor.changed.add(function(){d.changed.dispatch()}));d.registerDisposer(d.voxelSize.changed.add(function(){d.handleVoxelSizeChanged()}));d.handleVoxelSizeChanged();return d}n(c,a);g(c,[{key:"reset",value:function(){this.pose.reset();this.zoomFactor.reset()}},{key:"setZoomFactorFromVoxelSize",value:function(){this.voxelSize.valid&&(this.zoomFactor.value=Math.min.apply(null,this.voxelSize.size))}},{key:"handleVoxelSizeChanged", -value:function(){this.zoomFactor.valid||this.setZoomFactorFromVoxelSize()}},{key:"toMat4",value:function(a){this.pose.toMat4(a);var c=this.zoomFactor.value;b.k.scale(a,a,b.s.fromValues(c,c,c))}},{key:"toJSON",value:function(){var a=this.pose.toJSON(),b=this.zoomFactor.toJSON();if(void 0!==a||void 0!==b)return{pose:a,zoomFactor:b}}},{key:"restoreState",value:function(a){var b=this;try{Object(d.t)(a),Object(d.v)(a,"pose",function(a){void 0!==a&&b.pose.restoreState(a)}),Object(d.v)(a,"zoomFactor",function(a){void 0!== -a&&b.zoomFactor.restoreState(a)}),this.handleVoxelSizeChanged(),this.changed.dispatch()}catch(F){this.reset()}}},{key:"zoomBy",value:function(a){this.zoomFactor.zoomBy(a)}},{key:"voxelSize",get:function(){return this.pose.position.voxelSize}},{key:"position",get:function(){return this.pose.position}},{key:"valid",get:function(){return this.pose.valid}}]);return c}(h.a)},function(h,f,a){a.d(f,"a",function(){return b});f.b=function(a,b,c){c(a.transform,b.transform);return b.changed.add(function(){c(a.transform, -b.transform);a.changed.dispatch()})};var q=a(2),p=a(4),n=a(7),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),b=function(){function a(b){b=void 0===b?q.k.create():b;if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");this.transform=b;this.changed=new n.a}c(a,[{key:"reset",value:function(){q.k.copy(this.transform, +value:function(a){var b=this.value_;Number.isNaN(b)||(this.value=b*a)}},{key:"assign",value:function(a){this.value=a.value}},{key:"value",get:function(){return this.value_},set:function(a){a!==this.value_&&(this.value_=a,this.changed.dispatch())}},{key:"valid",get:function(){return!Number.isNaN(this.value)}}]);return b}(h.a),z=function(a){function b(){q(this,b);var a=p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.value=function(){var b=new A;return d(b,a.peer,a.link,{assign:function(a, +b){return a.assign(b)},isValid:function(a){return a.valid},difference:function(a,b){return a.value/b.value},add:function(a,b,c){a.value=b.value*c},subtract:function(a,b,c){a.value=b.value/c}})}();return a}n(b,a);return b}(a),D=function(a){function d(a,b){a=void 0===a?new x:a;b=void 0===b?Number.NaN:b;q(this,d);var c=p(this,(d.__proto__||Object.getPrototypeOf(d)).call(this));c.pose=a;c.changed=new e.a;c.zoomFactor="number"===typeof b?new A(b):b;c.registerDisposer(c.zoomFactor);c.registerDisposer(a); +c.registerDisposer(c.pose.changed.add(function(){c.changed.dispatch()}));c.registerDisposer(c.zoomFactor.changed.add(function(){c.changed.dispatch()}));c.registerDisposer(c.voxelSize.changed.add(function(){c.handleVoxelSizeChanged()}));c.handleVoxelSizeChanged();return c}n(d,a);g(d,[{key:"reset",value:function(){this.pose.reset();this.zoomFactor.reset()}},{key:"setZoomFactorFromVoxelSize",value:function(){this.voxelSize.valid&&(this.zoomFactor.value=Math.min.apply(null,this.voxelSize.size))}},{key:"handleVoxelSizeChanged", +value:function(){this.zoomFactor.valid||this.setZoomFactorFromVoxelSize()}},{key:"toMat4",value:function(a){this.pose.toMat4(a);var c=this.zoomFactor.value;b.k.scale(a,a,b.s.fromValues(c,c,c))}},{key:"toJSON",value:function(){var a=this.pose.toJSON(),b=this.zoomFactor.toJSON();if(void 0!==a||void 0!==b)return{pose:a,zoomFactor:b}}},{key:"restoreState",value:function(a){var b=this;try{Object(c.t)(a),Object(c.v)(a,"pose",function(a){void 0!==a&&b.pose.restoreState(a)}),Object(c.v)(a,"zoomFactor",function(a){void 0!== +a&&b.zoomFactor.restoreState(a)}),this.handleVoxelSizeChanged(),this.changed.dispatch()}catch(F){this.reset()}}},{key:"zoomBy",value:function(a){this.zoomFactor.zoomBy(a)}},{key:"voxelSize",get:function(){return this.pose.position.voxelSize}},{key:"position",get:function(){return this.pose.position}},{key:"valid",get:function(){return this.pose.valid}}]);return d}(h.a)},function(h,f,a){a.d(f,"a",function(){return b});f.b=function(a,b,d){d(a.transform,b.transform);return b.changed.add(function(){d(a.transform, +b.transform);a.changed.dispatch()})};var q=a(2),p=a(4),n=a(7),d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),b=function(){function a(b){b=void 0===b?q.k.create():b;if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");this.transform=b;this.changed=new n.a}d(a,[{key:"reset",value:function(){q.k.copy(this.transform, q.d);this.changed.dispatch()}},{key:"toJSON",value:function(){if(!q.k.equals(q.d,this.transform)){var a=this.transform;return[[a[0],a[4],a[8],a[12]],[a[1],a[5],a[9],a[13]],[a[2],a[6],a[10],a[14]],[a[3],a[7],a[11],a[15]]]}}},{key:"restoreState",value:function(a){if(null==a)this.reset();else if(Array.isArray(a))if(4===a.length)try{for(var b=0;4>b;++b)Object(p.b)(this.transform.subarray(4*b,4*(b+1)),a[b]);q.k.transpose(this.transform,this.transform)}catch(t){this.reset()}else if(16===a.length)try{Object(p.b)(this.transform, a),q.k.transpose(this.transform,this.transform)}catch(t){this.reset()}else this.reset();else if("object"===typeof a){b=q.n.create();var c=q.s.create(),d=q.s.fromValues(1,1,1);try{Object(p.b)(b,a.rotation),q.n.normalize(b,b)}catch(t){q.n.identity(b)}try{Object(p.b)(c,a.translation)}catch(t){q.s.copy(c,q.h)}try{Object(p.b)(d,a.scale)}catch(t){q.s.copy(d,q.g)}q.k.fromRotationTranslationScale(this.transform,b,c,d);this.changed.dispatch()}else this.reset()}},{key:"clone",value:function(){return new a(q.k.clone(this.transform))}}]); return a}()},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return n});h=a(18);var p=function(){function a(a,c){for(var b=0;b<c.length;b++){var d=c[b];d.enumerable=d.enumerable||!1;d.configurable= -!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,e){c&&a(b.prototype,c);e&&a(b,e);return b}}(),n=function(a){function b(){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var a=(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!a||"object"!==typeof a&&"function"!==typeof a?this:a}q(b,a);p(b,[{key:"draw",value:function(a){}}, -{key:"isReady",value:function(){return!0}}]);return b}(h.j)},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"b",function(){return d});h=a(1);var p=a(25);a.d(f,"a",function(){return p.a});a.d(f,"c",function(){return p.c}); -var n=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),c=new Set("f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 escape pause".split(" ")),b=new Set("color date datetime datetime-local email month number password search tel text time url week".split(" ")),d=function(a){function d(a,b){if(!(this instanceof d))throw new TypeError("Cannot call a class as a function"); -var c=(d.__proto__||Object.getPrototypeOf(d)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");c=!c||"object"!==typeof c&&"function"!==typeof c?this:c;c.target=a;c.eventMap=b;c.modifierShortcutsAreGlobal=!0;c.allShortcutsAreGlobal=!1;c.allowSpaceKeyOnButtons=!1;c.registerEventListener(a,"keydown",c.handleKeyDown.bind(c),!1);return c}q(d,a);n(d,[{key:"shouldIgnoreEvent",value:function(a,d){var e=d.target,g=e.tagName;if(e===this.target)return!1; -var k="TEXTAREA"===g||"INPUT"===g||"BUTTON"===g||"SELECT"===g,l=!k&&(e.isContentEditable||e.ownerDocument&&"on"===e.ownerDocument.designMode);return!k&&!l||this.allShortcutsAreGlobal||c.has(a)?!1:l||this.modifierShortcutsAreGlobal&&(d.altKey||d.ctrlKey||d.metaKey)?!0:"INPUT"===g&&b.has(e.type)?"enter"!==a:"INPUT"===g||"BUTTON"===g?this.allowSpaceKeyOnButtons?!1:"space"===a:!0}},{key:"handleKeyDown",value:function(a){var b=a.code.toLowerCase();this.shouldIgnoreEvent(b,a)||Object(p.b)(b,a,this.eventMap)}}]); -return d}(h.a)},function(h,f,a){f.a=function(a,f){f.offset+=a;return f};f.b=function(a,f){var h=[];f=$jscomp.makeIterator(f);for(var c=f.next();!c.done;c=f.next())c=c.value,c.startsWith(a)&&h.push({value:c});return h};f.c=function(a,f,h,c){var b=[];f=$jscomp.makeIterator(f);for(var d=f.next();!d.done;d=f.next()){d=d.value;var e=h(d);e.startsWith(a)&&b.push({value:e,description:c(d)})}return b}},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+ -typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return e});f.b=function(a,c,e){e=void 0===e?"GET":e;var g=new XMLHttpRequest;if(Array.isArray(a)){var k=a.length;k=1===k?0:Math.abs(Object(n.a)(c))%k;a=a[k]+c}else a+=c;g[d]=e;g[b]=a;g.open(e,a);return g};f.d=function(a,b,c){c=void 0===c?p.e:c;a.responseType=b;return new Promise(function(b,d){var g= -function(){a.abort()};c.add(g);a.onloadend=function(){var k=this.status;c.remove(g);200<=k&&300>k?b(this.response):d(e.fromXhr(a))};a.send()})};f.c=function(a){var b=a.match(/^([^:\/]+):\/\/([^\/]+)(\/.*)?$/);if(null===b)throw Error("Invalid URL: "+JSON.stringify(a));return"gs"===b[1]?[["https://storage.googleapis.com/"+b[2]],b[3]]:[[a],""]};var p=a(32),n=a(263),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable= -!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();$jscomp.initSymbol();var b=Symbol("url");$jscomp.initSymbol();var d=Symbol("method"),e=function(a){function e(a,b,c,d){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");var g=a+" "+JSON.stringify(b)+" resulted in HTTP error "+c;d&&(g+=": "+d);g+=".";var k=(e.__proto__||Object.getPrototypeOf(e)).call(this,g);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); -k=!k||"object"!==typeof k&&"function"!==typeof k?this:k;k.name="HttpError";k.message=g;k.method=a;k.url=b;k.code=c;k.statusMessage=d;return k}q(e,a);c(e,null,[{key:"fromXhr",value:function(a){return new e(a[d],a[b],a.status,a.statusText)}}]);return e}(Error)},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+ -typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function c(a,b){var c=b.redrawNeeded.dispatch;b.registerDisposer(a.segmentColorHash.changed.add(c));b.registerDisposer(a.visibleSegments.changed.add(c));b.registerDisposer(a.highlightedSegments.changed.add(c));b.registerDisposer(a.segmentEquivalences.changed.add(c)); -b.registerDisposer(a.segmentSelectionState.changed.add(c))}a.d(f,"c",function(){return m});a.d(f,"a",function(){return r});f.g=c;f.f=function(a,b){c(a,b);b.registerDisposer(a.objectAlpha.changed.add(b.redrawNeeded.dispatch));b.registerDisposer(a.objectToDataTransform.changed.add(b.redrawNeeded.dispatch))};f.e=function(a,b,c){c=void 0===c?1:c;var e=u;e[3]=c;a.segmentColorHash.compute(e,b);if(a.segmentSelectionState.isSelected(b))for(var g=0;3>g;++g)e[g]=.5*e[g]+.5;g=new Float32Array(3);Object(d.b)(g, -e[0],e[1],e[2]);g[1]*=a.saturation.value;var k=new Float32Array(3);Object(d.a)(k,g[0],g[1],g[2]);e[0]=k[0];e[1]=k[1];e[2]=k[2];a.highlightedSegments.has(b)&&(e[0]=.2,e[1]=.2,e[2]=2,e[3]=1);e[0]*=c;e[1]*=c;e[2]*=c;return e};f.d=function(a,c,d){Object(b.a)(a,function(e,g){var k=Object(b.b)(e,a.clipBounds.value);k=c.get(k);void 0!==k&&d(g,e,k)})};a.d(f,"b",function(){return v});var b=a(77),d=a(149);h=a(1);f=a(2);var e=a(7),g=a(14),l=a(29);a=a(15);var k=function y(a,b,c){null===a&&(a=Function.prototype); -var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return y(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},t=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),m=function(){function a(b,c){n(this,a);this.key=b;this.value=c} -t(a,[{key:"toString",value:function(){return this.key+"\u2192"+this.value}}]);return a}(),r=function(a){function b(){n(this,b);var a=q(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.selectedSegment=new g.a;a.hasSelectedSegment=!1;a.changed=new e.a;return a}p(b,a);t(b,[{key:"set",value:function(a){if(null==a)this.hasSelectedSegment&&(this.hasSelectedSegment=!1,this.changed.dispatch());else{var b=this.selectedSegment;this.hasSelectedSegment&&a.low===b.low&&a.high===b.high||(b.low= -a.low,b.high=a.high,this.hasSelectedSegment=!0,this.changed.dispatch())}}},{key:"isSelected",value:function(a){return this.hasSelectedSegment&&g.a.equal(a,this.selectedSegment)}},{key:"bindTo",value:function(a,b){var c=this,d=new g.a;this.registerDisposer(a.changed.add(function(){var e=a.get(b);"number"===typeof e?(d.low=e,d.high=0,e=d):e instanceof m&&(e=e.value);c.set(e)}))}}]);return b}(h.a),u=f.u.create(),v=function(a){function b(a,c){n(this,b);var d=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this)); -d.chunkManager=a;d.displayState=c;return d}p(b,a);t(b,[{key:"initializeCounterpartWithChunkManager",value:function(a){var c=this.displayState;a.chunkManager=this.chunkManager.rpcId;a.visibleSegments=c.visibleSegments.rpcId;a.segmentEquivalences=c.segmentEquivalences.rpcId;a.clipBounds=c.clipBounds.rpcId;k(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"initializeCounterpart",this).call(this,this.chunkManager.rpc,a)}}]);return b}(Object(l.c)(a.b))},function(h,f,a){function q(a,b){if(!(a instanceof -b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a, -b):a.__proto__=b)}function c(a){return new B.a({fragmentMain:a.displayState.fragmentMain,shaderError:a.displayState.shaderError,fragmentMainStartLine:t.a})}Object.defineProperty(f,"__esModule",{value:!0});a.d(f,"SegmentationUserLayer",function(){return M});h=a(18);f=a(27);var b=a(54),d=a(47),e=a(112),g=a(63),l=a(298),k=a(74),t=a(103),m=a(26),r=a(175),u=a(56),v=a(35),w=a(9),y=a(300),x=a(163),A=a(4),z=a(7),D=a(14),E=a(55),G=a(81),C=a(301),B=a(111),F=a(40),L=a(168),I=function(){function a(a,b){for(var c= -0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),O=function U(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return U(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(45);a(303);var M=function(a){function c(a,b){q(this, -c);var d=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this,a,b));d.manager=a;d.displayState={segmentColorHash:e.a.getDefault(),segmentSelectionState:new g.a,selectedAlpha:Object(u.a)(.5),saturation:Object(u.a)(1),notSelectedAlpha:Object(u.a)(0),objectAlpha:Object(u.a)(1),clipBounds:k.a.make(d.manager.worker,void 0),hideSegmentZero:new v.b(!0,!0),visibleSegments:y.a.makeWithCounterpart(d.manager.worker),highlightedSegments:y.a.makeWithCounterpart(d.manager.worker),segmentEquivalences:l.a.makeWithCounterpart(d.manager.worker), -objectToDataTransform:d.transform,fragmentMain:Object(t.f)(),shaderError:Object(E.c)()};d.objectLayerStateChanged=new z.a;d.displayState.visibleSegments.changed.add(function(){return d.specificationChanged.dispatch()});d.displayState.segmentEquivalences.changed.add(function(){return d.specificationChanged.dispatch()});d.displayState.segmentSelectionState.bindTo(a.layerSelectedValues,d);d.displayState.selectedAlpha.changed.add(function(){return d.specificationChanged.dispatch()});d.displayState.notSelectedAlpha.changed.add(function(){return d.specificationChanged.dispatch()}); -d.displayState.objectAlpha.changed.add(function(){return d.specificationChanged.dispatch()});d.displayState.hideSegmentZero.changed.add(function(){return d.specificationChanged.dispatch()});d.displayState.fragmentMain.changed.add(function(){return d.specificationChanged.dispatch()});d.tabs.add("rendering",{label:"Rendering",order:-100,getter:function(){return new P(d)}});d.tabs.default="rendering";return d}n(c,a);I(c,[{key:"restoreState",value:function(a){var d=this;O(c.prototype.__proto__||Object.getPrototypeOf(c.prototype), -"restoreState",this).call(this,a);this.displayState.selectedAlpha.restoreState(a.selectedAlpha);this.displayState.saturation.restoreState(a.saturation);this.displayState.notSelectedAlpha.restoreState(a.notSelectedAlpha);this.displayState.objectAlpha.restoreState(a.objectAlpha);this.displayState.hideSegmentZero.restoreState(a.hideSegmentZero);this.displayState.fragmentMain.restoreState(a.skeletonShader);Object(A.v)(a,"equivalences",function(a){d.displayState.segmentEquivalences.restoreState(a)});var e= -function(b,c){Object(A.v)(a,b,function(a){if(void 0!==a){var b=d.displayState.segmentEquivalences;Object(A.a)(a,function(a){a=D.a.parseString(String(a),10);c.add(b.get(a))})}})};e("segments",this.displayState.visibleSegments);e("highlights",this.displayState.highlightedSegments);Object(A.v)(a,"clipBounds",function(a){if(void 0!==a){var b,c;Object(A.v)(a,"center",function(a){return b=Object(A.k)(a)});Object(A.v)(a,"size",function(a){return c=Object(A.k)(a)});b&&c&&(d.displayState.clipBounds.value= -{center:b,size:c})}});this.displayState.highlightedSegments.changed.add(function(){d.specificationChanged.dispatch()});e=this.multiscaleSource;var g=this.meshPath=null===a.mesh?null:Object(A.y)(a.mesh),k=this.skeletonsPath=Object(A.v)(a,"skeletons",A.y),l=0;null!=g&&(++l,this.manager.dataSourceProvider.getMeshSource(this.manager.chunkManager,g).then(function(a){d.wasDisposed||(d.addMesh(a),0===--l&&(d.isReady=!0))}));void 0!==k&&(++l,this.manager.dataSourceProvider.getSkeletonSource(this.manager.chunkManager, -k).then(function(a){d.wasDisposed||(d.addSkeletonSource(a),0===--l&&(d.isReady=!0))}));void 0!==e&&(++l,e.then(function(a){d.wasDisposed||(d.addRenderLayer(new r.a(a,d.displayState)),void 0===g&&void 0===k&&(++l,Promise.resolve(a.getMeshSource()).then(function(a){d.wasDisposed?null!==a&&a.dispose():(0===--l&&(d.isReady=!0),a instanceof b.c?(d.addMesh(a),d.objectLayerStateChanged.dispatch()):a instanceof t.d&&(d.addSkeletonSource(a),d.objectLayerStateChanged.dispatch()))})),0===--l&&(d.isReady=!0))}))}}, -{key:"addMesh",value:function(a){this.meshLayer=new b.a(this.manager.chunkManager,a,this.displayState);this.addRenderLayer(this.meshLayer)}},{key:"addSkeletonSource",value:function(a){this.skeletonLayer=a=new t.c(this.manager.chunkManager,a,this.manager.voxelSize,this.displayState);this.addRenderLayer(new t.b(a.addRef()));this.addRenderLayer(new t.e(a))}},{key:"toJSON",value:function(){var a=O(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"toJSON",this).call(this);a.type="segmentation"; -a.mesh=this.meshPath;a.skeletons=this.skeletonsPath;a.selectedAlpha=this.displayState.selectedAlpha.toJSON();a.notSelectedAlpha=this.displayState.notSelectedAlpha.toJSON();a.saturation=this.displayState.saturation.toJSON();a.objectAlpha=this.displayState.objectAlpha.toJSON();a.hideSegmentZero=this.displayState.hideSegmentZero.toJSON();var b=this.displayState.visibleSegments;0<b.size&&(a.segments=b.toJSON());b=this.displayState.highlightedSegments;0<b.size&&(a.highlights=b.toJSON());b=this.displayState.segmentEquivalences; -0<b.size&&(a.equivalences=b.toJSON());b=this.displayState.clipBounds;b.value&&(a.clipBounds={center:Array.from(b.value.center),size:Array.from(b.value.size)});a.skeletonShader=this.displayState.fragmentMain.toJSON();return a}},{key:"transformPickedValue",value:function(a){if(null==a)return a;var b=this.displayState.segmentEquivalences;if(0===b.size)return a;"number"===typeof a&&(a=new D.a(a,0));b=b.get(a);return D.a.equal(b,a)?a:new g.c(a,b)}},{key:"handleAction",value:function(a){switch(a){case "recolor":this.displayState.segmentColorHash.randomize(); -break;case "clear-segments":this.displayState.visibleSegments.clear();break;case "select":a=this.displayState.segmentSelectionState;if(a.hasSelectedSegment){a=a.selectedSegment;var b=this.displayState.visibleSegments;b.has(a)?b.delete(a):b.add(a)}break;case "highlight":a=this.displayState.segmentSelectionState,a.hasSelectedSegment&&(a=a.selectedSegment,b=this.displayState.highlightedSegments,b.has(a)?b.delete(a):b.add(a))}}},{key:"volumeOptions",get:function(){return{volumeType:m.c.SEGMENTATION}}}]); -return c}(Object(x.a)(h.i)),P=function(a){function b(a){q(this,b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.layer=a;d.visibleSegmentWidget=d.registerDisposer(new C.a(d.layer.displayState));d.addSegmentWidget=d.registerDisposer(new L.a);d.selectedAlphaWidget=d.registerDisposer(new G.a(d.layer.displayState.selectedAlpha));d.notSelectedAlphaWidget=d.registerDisposer(new G.a(d.layer.displayState.notSelectedAlpha));d.saturationWidget=d.registerDisposer(new G.a(d.layer.displayState.saturation)); -d.objectAlphaWidget=d.registerDisposer(new G.a(d.layer.displayState.objectAlpha));var e=d.element;e.classList.add("segmentation-dropdown");var g=d.notSelectedAlphaWidget,k=d.saturationWidget,l=d.objectAlphaWidget;d.selectedAlphaWidget.promptElement.textContent="Opacity (on)";g.promptElement.textContent="Opacity (off)";k.promptElement.textContent="Saturation";l.promptElement.textContent="Opacity (3d)";void 0!==d.layer.volumePath&&(e.appendChild(d.selectedAlphaWidget.element),e.appendChild(d.notSelectedAlphaWidget.element), -e.appendChild(d.saturationWidget.element));d.registerDisposer(new v.a(d.registerDisposer(new w.a(function(){return d.layer.meshPath||d.layer.meshLayer||d.layer.skeletonsPath||d.layer.skeletonLayer?!0:!1},d.layer.objectLayerStateChanged)),d.objectAlphaWidget.element));e.appendChild(d.objectAlphaWidget.element);a=d.registerDisposer(new v.c(a.displayState.hideSegmentZero));a.element.className="neuroglancer-segmentation-dropdown-hide-segment-zero neuroglancer-noselect";g=document.createElement("label"); -g.className="neuroglancer-segmentation-dropdown-hide-segment-zero neuroglancer-noselect";g.appendChild(document.createTextNode("Hide segment ID 0"));g.appendChild(a.element);e.appendChild(g);d.addSegmentWidget.element.classList.add("add-segment");d.addSegmentWidget.element.title="Add one or more segment IDs";e.appendChild(d.registerDisposer(d.addSegmentWidget).element);d.registerDisposer(d.addSegmentWidget.valuesEntered.add(function(a){a=$jscomp.makeIterator(a);for(var b=a.next();!b.done;b=a.next())d.layer.displayState.visibleSegments.add(b.value)})); -e.appendChild(d.registerDisposer(d.visibleSegmentWidget).element);a=function(){if(void 0===d.codeWidget&&null!==d.layer.skeletonsPath&&void 0!==d.layer.skeletonLayer){var a=document.createElement("div");a.className="neuroglancer-segmentation-dropdown-skeleton-shader-header";var b=document.createElement("div");b.style.flex="1";b.textContent="Skeleton shader:";var g=document.createElement("a"),k=document.createElement("button");k.type="button";k.textContent="?";k.className="help-link";g.appendChild(k); -g.title="Documentation on skeleton rendering";g.target="_blank";g.href="https://github.com/google/neuroglancer/blob/master/src/neuroglancer/sliceview/image_layer_rendering.md";k=document.createElement("button");k.innerHTML="□";k.className="maximize-button";k.title="Show larger editor view";d.registerEventListener(k,"click",function(){new N(d.layer)});a.appendChild(b);a.appendChild(k);a.appendChild(g);e.appendChild(a);a=d.codeWidget=d.registerDisposer(c(d.layer));e.appendChild(a.element);a.textEditor.refresh()}}; -d.registerDisposer(d.layer.objectLayerStateChanged.add(a));a();d.visibility.changed.add(function(){d.visible&&void 0!==d.codeWidget&&d.codeWidget.textEditor.refresh()});return d}n(b,a);return b}(F.b),N=function(a){function b(a){q(this,b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.layer=a;d.codeWidget=d.registerDisposer(c(d.layer));d.content.classList.add("neuroglancer-segmentation-layer-skeleton-shader-overlay");d.content.appendChild(d.codeWidget.element);d.codeWidget.textEditor.refresh(); -return d}n(b,a);return b}(d.a);Object(f.e)("segmentation",M);Object(f.f)(m.c.SEGMENTATION,M)},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0, -configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}a.d(f,"b",function(){return m});a.d(f,"a",function(){return y});var c=a(113),b=a(14),d=function A(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return A(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0: -b.call(c)}},e=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();f.c=3;var g=0,l=0,k=0,t=0;h=function(){function a(b){b=void 0===b?a.generateHashFunctions(3):b;n(this,a);this.loadFactor=.9;this.size=0;this.growFactor=1.2;this.maxHeight=8192;this.emptyHigh=this.emptyLow=4294967295;this.maxAttempts=this.maxRehashAttempts= -5;this.maxWidth=4096/this.entryStride;this.generation=0;this.mungedEmptyKey=-1;this.hashFunctions=b;this.allocate(4,1)}e(a,[{key:"updateHashFunctions",value:function(b){this.hashFunctions=a.generateHashFunctions(b);this.mungedEmptyKey=-1}},{key:"tableWithMungedEmptyKey",value:function(a){for(var b=this.hashFunctions.length,c=Array(b),d=0;d<b;++d)c[d]=this.getHash(d,this.emptyLow,this.emptyHigh);d=this.mungedEmptyKey;if(-1===d)a:for(;;){d=16777216*Math.random()>>>0;for(var e=0;e<b;++e)for(var g=this.getHash(e, -d,d),k=0;k<b;++k)if(c[k]===g)continue a;this.mungedEmptyKey=d;break}e=this.table;g=this.emptyLow;k=this.emptyHigh;for(var l=0;l<b;++l){var m=c[l];e[m]===g&&e[m+1]===k&&(e[m]=d,e[m+1]=d)}try{a(e)}finally{for(a=0;a<b;++a)l=c[a],e[l]===d&&e[l+1]===d&&(e[l]=g,e[l+1]=k)}}},{key:"getHash",value:function(a,b,c){a=this.hashFunctions[a];var d=this.width,e=this.height;d=a[0].compute(b,c)%d;b=a[1].compute(b,c)%e;return this.entryStride*(b*this.width+d)}},{key:"keys",value:function(a){function c(c,n){for(;;)switch(d){case 0:a= -void 0===a?new b.a:a,h=v,u=h.emptyLow,f=h.emptyHigh,t=h.entryStride,r=v,m=r.table,l=0,k=m.length;case 1:if(!(l<k)){d=3;break}g=m[l];e=m[l+1];if(g===u&&e===f){d=4;break}a.low=g;a.high=e;d=5;return{value:a,done:!1};case 5:if(void 0===n){d=6;break}d=-1;throw n;case 6:case 4:case 2:l+=t;d=1;break;case 3:d=-1;default:return{value:void 0,done:!0}}}var d=0,e,g,k,l,m,r,t,f,u,h,v=this,n={next:function(a){return c(a,void 0)},throw:function(a){return c(void 0,a)},return:function(a){throw Error("Not yet implemented"); -}};$jscomp.initSymbolIterator();n[Symbol.iterator]=function(){return this};return n}},{key:"indexOfPair",value:function(a,b){var c=this.table,d=this.emptyHigh;if(a===this.emptyLow&&b===d)return-1;d=0;for(var e=this.hashFunctions.length;d<e;++d){var g=this.getHash(d,a,b);if(c[g]===a&&c[g+1]===b)return g}return-1}},{key:"indexOf",value:function(a){return this.indexOfPair(a.low,a.high)}},{key:"chooseAnotherEmptyKey",value:function(){for(var a=this.emptyLow,b=this.emptyHigh,c=this.table,d=this.entryStride, -e,g;e=4294967296*Math.random()>>>0,g=4294967296*Math.random()>>>0,e===a&&g===b||this.hasPair(e,g););this.emptyLow=e;this.emptyHigh=g;for(var k=0,l=c.length;k<l;k+=d)c[k]===a&&c[k+1]===b&&(c[k]=e,c[k+1]=g)}},{key:"has",value:function(a){return-1!==this.indexOf(a)}},{key:"hasPair",value:function(a,b){return-1!==this.indexOfPair(a,b)}},{key:"delete",value:function(a){a=this.indexOf(a);if(-1!==a){var b=this.table;b[a]=this.emptyLow;b[a+1]=this.emptyHigh;++this.generation;this.size--;return!0}return!1}}, -{key:"clearTable",value:function(){for(var a=this.table,b=this.entryStride,c=this.emptyLow,d=this.emptyHigh,e=a.length,g=0;g<e;g+=b)a[g]=c,a[g+1]=d}},{key:"clear",value:function(){if(0===this.size)return!1;this.size=0;++this.generation;this.clearTable();return!0}},{key:"swapPending",value:function(a,b){var c=g,d=l;this.storePending(a,b);a[b]=c;a[b+1]=d}},{key:"storePending",value:function(a,b){g=a[b];l=a[b+1]}},{key:"backupPending",value:function(){k=g;t=l}},{key:"restorePending",value:function(){g= -k;l=t}},{key:"tryToInsert",value:function(){for(var a=0,b=this.emptyLow,c=this.emptyHigh,d=this.maxAttempts,e=this.table,k=this.hashFunctions.length,m=Math.floor(Math.random()*k);;){var r=this.getHash(m,g,l);this.swapPending(e,r);if(g===b&&l===c)return!0;if(++a===d)break;m=(m+Math.floor(Math.random()*(k-1))+1)%k}return!1}},{key:"allocate",value:function(a,b){var c=a*b;this.width=a;this.height=b;this.table=new Uint32Array(c*this.entryStride);this.maxAttempts=c;this.clearTable();this.capacity=c*this.loadFactor; -this.mungedEmptyKey=-1}},{key:"rehash",value:function(a,b,c){this.allocate(b,c);this.updateHashFunctions(this.hashFunctions.length);b=this.emptyLow;c=this.emptyHigh;for(var d=this.entryStride,e=0,g=a.length;e<g;e+=d){var k=a[e+1];if(a[e]!==b||k!==c)if(this.storePending(a,e),!this.tryToInsert())return!1}return!0}},{key:"grow",value:function(a){for(var b=this.table,c=this.width,d=this.height,e=this.maxWidth,g=this.maxHeight;;){var k=c*d;c=Math.min(e,Math.ceil(a/this.height));c*d<a&&(d=Math.min(g,Math.ceil(a/ -c)));var l=c*d;if(l<a&&l===k)throw Error("Maximum table size exceeded");for(k=0;k<this.maxRehashAttempts;++k)if(this.rehash(b,c,d))return;a=Math.ceil(this.growFactor*a)}}},{key:"insertInternal",value:function(){++this.generation;g===this.emptyLow&&l===this.emptyHigh&&this.chooseAnotherEmptyKey();++this.size>this.capacity&&(this.backupPending(),this.grow(Math.ceil(this.growFactor*this.width*this.height)),this.restorePending());for(;!this.tryToInsert();)this.backupPending(),this.grow(this.width*this.height), -this.restorePending()}}],[{key:"generateHashFunctions",value:function(a){a=void 0===a?3:a;for(var b=[],d=0;d<a;++d){var e=[c.a.generate(),c.a.generate()];b.push(e)}return b}}]);return a}();var m=function(a){function b(){n(this,b);return q(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}p(b,a);$jscomp.initSymbol();$jscomp.initSymbolIterator();e(b,[{key:"add",value:function(a){var b=a.low;a=a.high;if(this.hasPair(b,a))return!1;g=b;l=a;this.insertInternal();return!0}},{key:Symbol.iterator, -value:function(){return this.keys()}}]);return b}(h);m.prototype.entryStride=2;var r=0,u=0,v=0,w=0,y=function(a){function c(){n(this,c);return q(this,(c.__proto__||Object.getPrototypeOf(c)).apply(this,arguments))}p(c,a);$jscomp.initSymbol();$jscomp.initSymbolIterator();e(c,[{key:"set",value:function(a,b){var c=a.low;a=a.high;if(this.hasPair(c,a))return!1;g=c;l=a;r=b.low;u=b.high;this.insertInternal();return!0}},{key:"get",value:function(a,b){a=this.indexOf(a);if(-1===a)return!1;var c=this.table;b.low= -c[a+2];b.high=c[a+3];return!0}},{key:"swapPending",value:function(a,b){var e=r,g=u;d(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"swapPending",this).call(this,a,b);a[b+2]=e;a[b+3]=g}},{key:"storePending",value:function(a,b){d(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"storePending",this).call(this,a,b);r=a[b+2];u=a[b+3]}},{key:"backupPending",value:function(){d(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"backupPending",this).call(this);v=r;w=u}},{key:"restorePending", -value:function(){d(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"restorePending",this).call(this);r=v;u=w}},{key:Symbol.iterator,value:function(){return this.entries()}},{key:"entries",value:function(a){function c(c,q){for(;;)switch(d){case 0:a=void 0===a?[new b.a,new b.a]:a,w=p,n=w.emptyLow,v=w.emptyHigh,h=w.entryStride,u=p,f=u.table,t=$jscomp.makeIterator(a),r=t.next().value,m=t.next().value,l=0,k=f.length;case 1:if(!(l<k)){d=3;break}g=f[l];e=f[l+1];if(g===n&&e===v){d=4;break}r.low= -g;r.high=e;m.low=f[l+2];m.high=f[l+3];d=5;return{value:a,done:!1};case 5:if(void 0===q){d=6;break}d=-1;throw q;case 6:case 4:case 2:l+=h;d=1;break;case 3:d=-1;default:return{value:void 0,done:!0}}}var d=0,e,g,k,l,m,r,t,f,u,h,v,n,w,p=this,q={next:function(a){return c(a,void 0)},throw:function(a){return c(void 0,a)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();q[Symbol.iterator]=function(){return this};return q}}]);return c}(h);y.prototype.entryStride=4},function(h, -f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}); -b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a){var b=k.get(a),d=a.changed.count;if(void 0!==b&&b.generation===d)return b;if(a instanceof l){var e=a.baseJSON();for(var g=$jscomp.makeIterator(a.children),t=g.next();!t.done;t=g.next()){var f=$jscomp.makeIterator(t.value);t=f.next().value;f=f.next().value;e[t]=c(f).value}}else e=a.toJSON();void 0===b?(b={generation:d,value:e},k.set(a,b)):(b.generation=d,b.value=e);return b}a.d(f,"a",function(){return l});f.b=c;h=a(1); -var b=a(4),d=a(7),e=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),g=function m(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return m(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}}, -l=function(a){function c(){q(this,c);var a=p(this,(c.__proto__||Object.getPrototypeOf(c)).apply(this,arguments));a.children=new Map;a.changed=new d.a;return a}n(c,a);e(c,[{key:"add",value:function(a,b){var c=this;if(this.children.has(a))throw Error("Key "+JSON.stringify(a)+" already registered.");this.children.set(a,b);b.changed.add(this.changed.dispatch);this.changed.dispatch();return function(){c.remove(a)}}},{key:"remove",value:function(a){var b=this.children;if(b.has(a))throw Error("Key "+JSON.stringify(a)+ -" not registered.");b=b.get(a);this.children.delete(a);b.changed.remove(this.changed.dispatch);this.changed.dispatch()}},{key:"disposed",value:function(){for(var a=this.changed,b=$jscomp.makeIterator(this.children.values()),d=b.next();!d.done;d=b.next())d.value.changed.remove(a.dispatch);this.children=void 0;g(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"disposed",this).call(this)}},{key:"toJSON",value:function(){for(var a=this.baseJSON(),b=$jscomp.makeIterator(this.children),c=b.next();!c.done;c= -b.next()){var d=$jscomp.makeIterator(c.value);c=d.next().value;d=d.next().value;a[c]=d.toJSON()}return a}},{key:"baseJSON",value:function(){return{}}},{key:"reset",value:function(){for(var a=$jscomp.makeIterator(this.children.values()),b=a.next();!b.done;b=a.next())b.value.reset()}},{key:"restoreState",value:function(a){Object(b.t)(a);for(var c=$jscomp.makeIterator(this.children),d=c.next();!d.done;d=c.next()){var e=$jscomp.makeIterator(d.value);d=e.next().value;e=e.next().value;try{if(a.hasOwnProperty(d)){var g= -a[d];void 0!==g&&e.restoreState(g)}}catch(A){throw Error("Error restoring property "+JSON.stringify(d)+": "+A.message);}}}}]);return c}(h.a);(function(a){function c(){q(this,c);var a=p(this,(c.__proto__||Object.getPrototypeOf(c)).apply(this,arguments));a.lastState={};return a}n(c,a);e(c,[{key:"restoreState",value:function(a){Object(b.t)(a);this.lastState=a;g(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"restoreState",this).call(this,a)}},{key:"reset",value:function(){this.lastState={}; -g(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"reset",this).call(this)}},{key:"baseJSON",value:function(){for(var a=Object.assign(g(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"baseJSON",this).call(this),this.lastState),b=$jscomp.makeIterator(this.children.keys()),d=b.next();!d.done;d=b.next())delete a[d.value];return a}},{key:"toJSON",value:function(){var a=g(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"toJSON",this).call(this);return this.lastState=a}}, -{key:"add",value:function(a,b){var d=g(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"add",this).call(this,a,b);a=this.lastState[a];void 0!==a&&(b.reset(),b.restoreState(a));return d}}]);return c})(l);var k=new WeakMap},function(h,f,a){function q(a){var f=a.Symbol;if("function"===typeof f)return f.iterator||(f.iterator=f("iterator polyfill")),f.iterator;if((f=a.Set)&&"function"===typeof(new f)["@@iterator"])return"@@iterator";if(a=a.Map){f=Object.getOwnPropertyNames(a.prototype);for(var c= -0;c<f.length;++c){var b=f[c];if("entries"!==b&&"size"!==b&&a.prototype[b]===a.prototype.entries)return b}}return"@@iterator"}h=a(16);f.symbolIteratorPonyfill=q;f.iterator=q(h.root);f.$$iterator=f.iterator},function(h,f,a){var q=a(0);h=function(){function a(a,c,b){this.kind=a;this.value=c;this.error=b;this.hasValue="N"===a}a.prototype.observe=function(a){switch(this.kind){case "N":return a.next&&a.next(this.value);case "E":return a.error&&a.error(this.error);case "C":return a.complete&&a.complete()}}; -a.prototype.do=function(a,c,b){switch(this.kind){case "N":return a&&a(this.value);case "E":return c&&c(this.error);case "C":return b&&b()}};a.prototype.accept=function(a,c,b){return a&&"function"===typeof a.next?this.observe(a):this.do(a,c,b)};a.prototype.toObservable=function(){switch(this.kind){case "N":return q.Observable.of(this.value);case "E":return q.Observable.throw(this.error);case "C":return q.Observable.empty()}throw Error("unexpected notification kind value");};a.createNext=function(f){return"undefined"!== -typeof f?new a("N",f):a.undefinedValueNotification};a.createError=function(f){return new a("E",void 0,f)};a.createComplete=function(){return a.completeNotification};a.completeNotification=new a("C");a.undefinedValueNotification=new a("N",void 0);return a}();f.Notification=h},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)},p=a(16);h=function(a){function c(b, -c){a.call(this,b,c);this.scheduler=b;this.work=c;this.pending=!1}q(c,a);c.prototype.schedule=function(a,c){void 0===c&&(c=0);if(this.closed)return this;this.state=a;this.pending=!0;a=this.id;var b=this.scheduler;null!=a&&(this.id=this.recycleAsyncId(b,a,c));this.delay=c;this.id=this.id||this.requestAsyncId(b,this.id,c);return this};c.prototype.requestAsyncId=function(a,c,e){void 0===e&&(e=0);return p.root.setInterval(a.flush.bind(a,this),e)};c.prototype.recycleAsyncId=function(a,c,e){void 0===e&& -(e=0);return null!==e&&this.delay===e&&!1===this.pending?c:(p.root.clearInterval(c),void 0)};c.prototype.execute=function(a,c){if(this.closed)return Error("executing a cancelled action");this.pending=!1;if(a=this._execute(a,c))return a;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))};c.prototype._execute=function(a,c){c=!1;var b=void 0;try{this.work(a)}catch(g){c=!0,b=!!g&&g||Error(g)}if(c)return this.unsubscribe(),b};c.prototype._unsubscribe=function(){var a= -this.id,c=this.scheduler,e=c.actions,g=e.indexOf(this);this.state=this.work=null;this.pending=!1;this.scheduler=null;-1!==g&&e.splice(g,1);null!=a&&(this.id=this.recycleAsyncId(c,a,null));this.delay=null};return c}(a(406).Action);f.AsyncAction=h},function(h,f,a){var q=this&&this.__extends||function(a,f){function c(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(c.prototype=f.prototype,new c)};h=function(a){function f(){a.apply(this,arguments); -this.actions=[];this.active=!1;this.scheduled=void 0}q(f,a);f.prototype.flush=function(a){var b=this.actions;if(this.active)b.push(a);else{var c;this.active=!0;do if(c=a.execute(a.state,a.delay))break;while(a=b.shift());this.active=!1;if(c){for(;a=b.shift();)a.unsubscribe();throw c;}}};return f}(a(407).Scheduler);f.AsyncScheduler=h},function(h,f,a){var q=this&&this.__extends||function(a,f){function c(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f): -(c.prototype=f.prototype,new c)};h=function(a){function f(){var c=a.call(this,"argument out of range");this.name=c.name="ArgumentOutOfRangeError";this.stack=c.stack;this.message=c.message}q(f,a);return f}(Error);f.ArgumentOutOfRangeError=h},function(h,f,a){var q=a(234);a.d(f,"b",function(){return q.a});var p=a(96);a.d(f,"c",function(){return p.b});var n=a(248);a.d(f,"a",function(){return n.a});a.d(f,"d",function(){return n.b});a.d(f,"e",function(){return n.c})},function(h,f){f=function(){return this}(); -try{f=f||Function("return this")()||(0,eval)("this")}catch(a){"object"===typeof window&&(f=window)}h.exports=f},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return b});var p=a(9);h=a(15);var n= -function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),c=function g(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return g(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};f=this&&this.__decorate|| -function(a,b,c,d){var g=arguments.length,k=3>g?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d,l;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)k=Reflect.decorate(a,b,c,d);else for(var t=a.length-1;0<=t;t--)if(l=a[t])k=(3>g?l(k):3<g?l(b,c,k):l(b,c))||k;return 3<g&&k&&Object.defineProperty(b,c,k),k};var b=d=function(a){function b(a,c){c=void 0===c?{}:c;if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var d=(b.__proto__||Object.getPrototypeOf(b)).call(this, -a,c);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");d=!d||"object"!==typeof d&&"function"!==typeof d?this:d;d.updatingValue_=!1;void 0!==a&&(d.base=new p.f(c.value),d.setupChangedHandler());return d}q(b,a);n(b,[{key:"initializeCounterpart",value:function(a,d){d=void 0===d?{}:d;d.value=this.value;c(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"initializeCounterpart",this).call(this,a,d)}},{key:"setupChangedHandler",value:function(){var a= -this;this.registerDisposer(this.base.changed.add(function(){if(a.updatingValue_)a.updatingValue_=!1;else{var b=a.rpc;null!==b&&b.invoke("SharedWatchableValue.changed",{id:a.rpcId,value:a.value})}}))}},{key:"value",get:function(){return this.base.value},set:function(a){this.base.value=a}},{key:"changed",get:function(){return this.base.changed}}],[{key:"makeFromExisting",value:function(a,b){var c=new d;c.base=b;c.setupChangedHandler();c.initializeCounterpart(a);return c}},{key:"make",value:function(a, -b){return d.makeFromExisting(a,new p.f(b))}}]);return b}(h.c);b=d=f([Object(h.f)("SharedWatchableValue")],b);Object(h.e)("SharedWatchableValue.changed",function(a){var b=this.get(a.id);b.updatingValue_=!0;b.base.value=a.value;b.updatingValue_=!1});var d},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+ -typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return g});var n=a(58);h=a(18);var c=a(39),b=a(2),d=a(15),e=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(), -g=function(a){function g(a,e,k){k=void 0===k?{}:k;if(!(this instanceof g))throw new TypeError("Cannot call a class as a function");var l=q(this,(g.__proto__||Object.getPrototypeOf(g)).call(this));l.chunkManager=a;l.sources=e;l.rpcId=null;l.transformedSourcesGeneration=-1;a=k;var m=void 0===a.transform?new n.a:a.transform;l.transform=m;a=Object(c.m)(l)[0][0];k=a.source.spec;a=l.voxelSize=a.chunkLayout.localSpatialVectorToGlobal(b.s.create(),k.voxelSize);for(k=0;3>k;++k)a[k]=Math.abs(a[k]);a=l.registerDisposer(new d.b); -var r=l.chunkManager.rpc;a.RPC_TYPE_ID=c.d;e=e.map(function(a){return a.map(function(a){return a.rpcId})});a.initializeCounterpart(r,{sources:e,transform:m.transform});l.rpcId=a.rpcId;l.registerDisposer(m.changed.add(function(){r.invoke(c.e,{id:l.rpcId,value:m.transform})}));l.setReady(!0);return l}p(g,a);e(g,[{key:"setGLBlendMode",value:function(a,b){0<b&&(a.enable(a.BLEND),a.blendFunc(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA))}},{key:"gl",get:function(){return this.chunkManager.chunkQueueManager.gl}}]); -return g}(h.f)},function(h,f,a){function q(a){a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,a.NEAREST);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,a.NEAREST);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_S,a.CLAMP_TO_EDGE);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_T,a.CLAMP_TO_EDGE)}f.b=q;f.a=function(a,f,c,b,d,e,g){d=void 0===d?a.RGBA8:d;e=void 0===e?a.RGBA:e;g=void 0===g?a.UNSIGNED_BYTE:g;a.activeTexture(a.TEXTURE0+a.tempTextureUnit);a.bindTexture(a.TEXTURE_2D,f);q(a);a.texImage2D(a.TEXTURE_2D, -0,d,c,b,0,e,g,null);a.bindTexture(a.TEXTURE_2D,null)};f.c=function(a,f,c){a.activeTexture(a.TEXTURE0+a.tempTextureUnit);a.bindTexture(a.TEXTURE_2D,f);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,a.LINEAR);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,a.LINEAR);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_S,a.CLAMP_TO_EDGE);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_T,a.CLAMP_TO_EDGE);a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,!0);a.pixelStorei(a.UNPACK_ALIGNMENT,4);a.texImage2D(a.TEXTURE_2D,0,a.RGBA8, -a.RGBA,a.UNSIGNED_BYTE,c);a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,!1);a.bindTexture(a.TEXTURE_2D,null)}},function(h,f,a){f.b=function(a,f){return a.low+","+a.high+(f?"_"+f.center.toString()+"_"+f.size.toString():"")};f.a=function(a,f){var h=a.segmentEquivalences;a=$jscomp.makeIterator(a.visibleSegments);for(var c=a.next();!c.done;c=a.next())if(c=c.value,h.disjointSets.isMinElement(c))for(var b=$jscomp.makeIterator(h.setElements(c)),d=b.next();!d.done;d=b.next())f(d.value,c)}},function(h,f,a){function q(a, -b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf? -Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a){a.addOutputBuffer("vec4","v4f_fragColor",null);a.addFragmentCode("\nvoid emit(vec4 color, vec4 pickId) {\n v4f_fragColor = color;\n}\n")}function b(a){a.addOutputBuffer("vec4","v4f_fragColor",null);a.addFragmentCode("\nvoid emit(vec4 color, vec4 pickId) {\n v4f_fragColor = pickId;\n}\n")}a.d(f,"b",function(){return y});a.d(f,"a",function(){return A});var d=a(144),e=a(18),g=a(145);h=a(146);var l=a(44),k=a(25),t=a(2),m=a(80),r=a(98),u=a(53), -v=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),w;(function(a){a[a.COLOR=0]="COLOR";a[a.PICK=1]="PICK";a[a.NUM_TEXTURES=2]="NUM_TEXTURES"})(w||(w={}));var y=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);v(b,[{key:"draw",value:function(a){}}, -{key:"isReady",value:function(){return!0}}]);return b}(e.j),x=t.u.create(),A=function(a){function f(a,b,h,v){q(this,f);var n=p(this,(f.__proto__||Object.getPrototypeOf(f)).call(this,a,b,v));n.sliceView=h;n.axesLineHelper=n.registerDisposer(d.a.get(n.gl));n.sliceViewRenderHelper=n.registerDisposer(l.d.get(n.gl,c));n.colorFactor=t.u.fromValues(1,1,1,1);n.pickIDs=new g.a;n.visibleLayerTracker=Object(e.l)(n.viewer.layerManager,y,n.viewer.visibleLayerRoles,n);n.offscreenFramebuffer=n.registerDisposer(new r.b(n.gl, -{colorBuffers:Object(r.e)(n.gl,w.NUM_TEXTURES)}));n.offscreenCopyHelper=n.registerDisposer(r.c.get(n.gl));n.scaleBarCopyHelper=n.registerDisposer(r.c.get(n.gl));n.scaleBarTexture=n.registerDisposer(new u.b(n.gl));Object(k.c)(b,"translate-via-mouse-drag",function(a){n.viewer.mouseState.updateUnconditionally()&&Object(m.a)(a.detail,function(a,b,c){a=n.viewer.navigationState.position;var d=a.spatialCoordinates;t.s.set(d,b,c,0);t.s.transformMat4(d,d,n.sliceView.viewportToData);a.changed.dispatch()})}); -Object(k.c)(b,"rotate-via-mouse-drag",function(a){var b=n.viewer.mouseState;if(b.updateUnconditionally()){var c=t.s.clone(b.position);Object(m.a)(a.detail,function(a,b,d){a=n.sliceView.viewportAxes;n.viewer.navigationState.pose.rotateAbsolute(a[1],b/4*Math.PI/180,c);n.viewer.navigationState.pose.rotateAbsolute(a[0],d/4*Math.PI/180,c)})}});n.registerDisposer(h);n.registerDisposer(v.crossSectionBackgroundColor.changed.add(function(){return n.scheduleRedraw()}));n.registerDisposer(h.visibility.add(n.visibility)); -n.registerDisposer(h.viewChanged.add(function(){n.visible&&a.scheduleRedraw()}));n.registerDisposer(v.showAxisLines.changed.add(function(){n.visible&&n.scheduleRedraw()}));n.registerDisposer(v.showScaleBar.changed.add(function(){n.visible&&n.context.scheduleRedraw()}));n.registerDisposer(v.scaleBarOptions.changed.add(function(){n.visible&&n.context.scheduleRedraw()}));return n}n(f,a);v(f,[{key:"isReady",value:function(){if(!this.visible||!this.sliceView.isReady())return!1;var a=this.visibleLayerTracker.getVisibleLayers(); -a=$jscomp.makeIterator(a);for(var b=a.next();!b.done;b=a.next())if(!b.value.isReady())return!1;return!0}},{key:"draw",value:function(){var a=this.sliceView;this.onResize();a.updateRendering();if(a.hasValidViewport){var d=this.gl,e=a.width,g=a.height,k=a.dataToDevice;this.offscreenFramebuffer.bind(e,g);d.disable(WebGL2RenderingContext.SCISSOR_TEST);this.gl.clearColor(0,0,0,0);d.clear(WebGL2RenderingContext.COLOR_BUFFER_BIT);var l=t.k.create(),m=this.viewer.crossSectionBackgroundColor.value;x[0]=m[0]; -x[1]=m[1];x[2]=m[2];x[3]=1;this.sliceViewRenderHelper.draw(a.offscreenFramebuffer.colorBuffers[0].texture,t.d,this.colorFactor,x,0,0,1,1);m=this.visibleLayerTracker.getVisibleLayers();var r=this.pickIDs;r.clear();this.offscreenFramebuffer.bindSingle(w.COLOR);r={dataToDevice:a.dataToDevice,pickIDs:r,emitter:c,emitColor:!0,emitPickID:!1,viewportWidth:e,viewportHeight:g,sliceView:a};d.enable(WebGL2RenderingContext.BLEND);d.blendFunc(WebGL2RenderingContext.SRC_ALPHA,WebGL2RenderingContext.ONE_MINUS_SRC_ALPHA); -for(var f=$jscomp.makeIterator(m),u=f.next();!u.done;u=f.next())u.value.draw(r);d.disable(WebGL2RenderingContext.BLEND);this.offscreenFramebuffer.bindSingle(w.PICK);r.emitColor=!1;r.emitPickID=!0;r.emitter=b;m=$jscomp.makeIterator(m);for(u=m.next();!u.done;u=m.next())u.value.draw(r);if(this.viewer.showAxisLines.value||this.viewer.showScaleBar.value){if(this.viewer.showAxisLines.value){t.k.copy(l,k);for(k=0;3>k;++k)l[12+k]=0;for(k=0;4>k;++k)l[2+4*k]=0;g=Math.min(e,g)/4*1.5;k=a.pixelSize;for(m=0;12> -m;++m)l[m]=l[m]*g*k}this.offscreenFramebuffer.bindSingle(w.COLOR);this.viewer.showAxisLines.value&&this.axesLineHelper.draw(l);this.viewer.showScaleBar.value&&(d.enable(WebGL2RenderingContext.BLEND),d.blendFunc(WebGL2RenderingContext.SRC_ALPHA,WebGL2RenderingContext.ONE_MINUS_SRC_ALPHA),l=this.viewer.scaleBarOptions.value,g=this.scaleBarTexture,k=g.dimensions,k.targetLengthInPixels=Math.min(l.maxWidthFraction*e,l.maxWidthInPixels*l.scaleFactor),k.nanometersPerPixel=a.pixelSize,g.update(l),d.viewport(l.leftPixelOffset* -l.scaleFactor,l.bottomPixelOffset*l.scaleFactor,g.width,g.height),this.scaleBarCopyHelper.draw(g.texture),d.disable(WebGL2RenderingContext.BLEND))}this.offscreenFramebuffer.unbind();this.setGLViewport();this.offscreenCopyHelper.draw(this.offscreenFramebuffer.colorBuffers[w.COLOR].texture)}}},{key:"onResize",value:function(){this.sliceView.setViewportSizeDebounced(this.element.clientWidth,this.element.clientHeight)}},{key:"updateMouseState",value:function(a){a.pickedRenderLayer=null;var b=this.sliceView; +!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),n=function(a){function b(){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var a=(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!a||"object"!==typeof a&&"function"!==typeof a?this:a}q(b,a);p(b,[{key:"draw",value:function(a){}}, +{key:"isReady",value:function(){return!0}}]);return b}(h.j)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&& +b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function d(a){a.addOutputBuffer("vec4","v4f_fragColor",null);a.addFragmentCode("\nvoid emit(vec4 color, vec4 pickId) {\n v4f_fragColor = color;\n}\n")}function b(a){a.addOutputBuffer("vec4","v4f_fragColor",null);a.addFragmentCode("\nvoid emit(vec4 color, vec4 pickId) {\n v4f_fragColor = pickId;\n}\n")}a.d(f,"b",function(){return y});a.d(f,"a",function(){return A}); +var c=a(144),e=a(18),g=a(145);h=a(146);var l=a(44),k=a(22),t=a(2),m=a(80),r=a(99),u=a(53),v=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),w;(function(a){a[a.COLOR=0]="COLOR";a[a.PICK=1]="PICK";a[a.NUM_TEXTURES=2]="NUM_TEXTURES"})(w||(w={}));var y=function(a){function b(){q(this,b);return p(this,(b.__proto__|| +Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);v(b,[{key:"draw",value:function(a){}},{key:"isReady",value:function(){return!0}}]);return b}(e.j),x=t.u.create(),A=function(a){function f(a,b,h,v){q(this,f);var n=p(this,(f.__proto__||Object.getPrototypeOf(f)).call(this,a,b,v));n.sliceView=h;n.axesLineHelper=n.registerDisposer(c.a.get(n.gl));n.sliceViewRenderHelper=n.registerDisposer(l.d.get(n.gl,d));n.colorFactor=t.u.fromValues(1,1,1,1);n.pickIDs=new g.a;n.visibleLayerTracker=Object(e.l)(n.viewer.layerManager, +y,n.viewer.visibleLayerRoles,n);n.offscreenFramebuffer=n.registerDisposer(new r.b(n.gl,{colorBuffers:Object(r.e)(n.gl,w.NUM_TEXTURES)}));n.offscreenCopyHelper=n.registerDisposer(r.c.get(n.gl));n.scaleBarCopyHelper=n.registerDisposer(r.c.get(n.gl));n.scaleBarTexture=n.registerDisposer(new u.b(n.gl));Object(k.c)(b,"translate-via-mouse-drag",function(a){n.viewer.mouseState.updateUnconditionally()&&Object(m.a)(a.detail,function(a,b,c){a=n.viewer.navigationState.position;var d=a.spatialCoordinates;t.s.set(d, +b,c,0);t.s.transformMat4(d,d,n.sliceView.viewportToData);a.changed.dispatch()})});Object(k.c)(b,"rotate-via-mouse-drag",function(a){var b=n.viewer.mouseState;if(b.updateUnconditionally()){var c=t.s.clone(b.position);Object(m.a)(a.detail,function(a,b,d){a=n.sliceView.viewportAxes;n.viewer.navigationState.pose.rotateAbsolute(a[1],b/4*Math.PI/180,c);n.viewer.navigationState.pose.rotateAbsolute(a[0],d/4*Math.PI/180,c)})}});n.registerDisposer(h);n.registerDisposer(v.crossSectionBackgroundColor.changed.add(function(){return n.scheduleRedraw()})); +n.registerDisposer(h.visibility.add(n.visibility));n.registerDisposer(h.viewChanged.add(function(){n.visible&&a.scheduleRedraw()}));n.registerDisposer(v.showAxisLines.changed.add(function(){n.visible&&n.scheduleRedraw()}));n.registerDisposer(v.showScaleBar.changed.add(function(){n.visible&&n.context.scheduleRedraw()}));n.registerDisposer(v.scaleBarOptions.changed.add(function(){n.visible&&n.context.scheduleRedraw()}));return n}n(f,a);v(f,[{key:"isReady",value:function(){if(!this.visible||!this.sliceView.isReady())return!1; +var a=this.visibleLayerTracker.getVisibleLayers();a=$jscomp.makeIterator(a);for(var b=a.next();!b.done;b=a.next())if(!b.value.isReady())return!1;return!0}},{key:"draw",value:function(){var a=this.sliceView;this.onResize();a.updateRendering();if(a.hasValidViewport){var c=this.gl,e=a.width,g=a.height,k=a.dataToDevice;this.offscreenFramebuffer.bind(e,g);c.disable(WebGL2RenderingContext.SCISSOR_TEST);this.gl.clearColor(0,0,0,0);c.clear(WebGL2RenderingContext.COLOR_BUFFER_BIT);var l=t.k.create(),m=this.viewer.crossSectionBackgroundColor.value; +x[0]=m[0];x[1]=m[1];x[2]=m[2];x[3]=1;this.sliceViewRenderHelper.draw(a.offscreenFramebuffer.colorBuffers[0].texture,t.d,this.colorFactor,x,0,0,1,1);m=this.visibleLayerTracker.getVisibleLayers();var r=this.pickIDs;r.clear();this.offscreenFramebuffer.bindSingle(w.COLOR);r={dataToDevice:a.dataToDevice,pickIDs:r,emitter:d,emitColor:!0,emitPickID:!1,viewportWidth:e,viewportHeight:g,sliceView:a};c.enable(WebGL2RenderingContext.BLEND);c.blendFunc(WebGL2RenderingContext.SRC_ALPHA,WebGL2RenderingContext.ONE_MINUS_SRC_ALPHA); +for(var f=$jscomp.makeIterator(m),u=f.next();!u.done;u=f.next())u.value.draw(r);c.disable(WebGL2RenderingContext.BLEND);this.offscreenFramebuffer.bindSingle(w.PICK);r.emitColor=!1;r.emitPickID=!0;r.emitter=b;m=$jscomp.makeIterator(m);for(u=m.next();!u.done;u=m.next())u.value.draw(r);if(this.viewer.showAxisLines.value||this.viewer.showScaleBar.value){if(this.viewer.showAxisLines.value){t.k.copy(l,k);for(k=0;3>k;++k)l[12+k]=0;for(k=0;4>k;++k)l[2+4*k]=0;g=Math.min(e,g)/4*1.5;k=a.pixelSize;for(m=0;12> +m;++m)l[m]=l[m]*g*k}this.offscreenFramebuffer.bindSingle(w.COLOR);this.viewer.showAxisLines.value&&this.axesLineHelper.draw(l);this.viewer.showScaleBar.value&&(c.enable(WebGL2RenderingContext.BLEND),c.blendFunc(WebGL2RenderingContext.SRC_ALPHA,WebGL2RenderingContext.ONE_MINUS_SRC_ALPHA),l=this.viewer.scaleBarOptions.value,g=this.scaleBarTexture,k=g.dimensions,k.targetLengthInPixels=Math.min(l.maxWidthFraction*e,l.maxWidthInPixels*l.scaleFactor),k.nanometersPerPixel=a.pixelSize,g.update(l),c.viewport(l.leftPixelOffset* +l.scaleFactor,l.bottomPixelOffset*l.scaleFactor,g.width,g.height),this.scaleBarCopyHelper.draw(g.texture),c.disable(WebGL2RenderingContext.BLEND))}this.offscreenFramebuffer.unbind();this.setGLViewport();this.offscreenCopyHelper.draw(this.offscreenFramebuffer.colorBuffers[w.COLOR].texture)}}},{key:"onResize",value:function(){this.sliceView.setViewportSizeDebounced(this.element.clientWidth,this.element.clientHeight)}},{key:"updateMouseState",value:function(a){a.pickedRenderLayer=null;var b=this.sliceView; if(!b.hasValidViewport)return!1;var c=b.width,d=b.height,e=this.offscreenFramebuffer;if(!e.hasSize(c,d))return!1;var g=a.position,k=this.mouseX,l=this.mouseY;t.s.set(g,k-c/2,l-d/2,0);t.s.transformMat4(g,g,b.viewportToData);this.pickIDs.setMouseState(a,e.readPixelAsUint32(w.PICK,k,d-l));return!0}},{key:"zoomByMouse",value:function(a){var b=this.navigationState;if(b.valid){var c=this.sliceView,d=c.height,e=this.mouseX,g=this.mouseY;e-=c.width/2;g-=d/2;d=this.navigationState.zoomFactor.value;b.zoomBy(a); -a=b.zoomFactor.value;var k=b.position.spatialCoordinates;t.s.scaleAndAdd(k,k,c.viewportAxes[0],e*(d-a));t.s.scaleAndAdd(k,k,c.viewportAxes[1],g*(d-a));b.position.changed.dispatch()}}},{key:"navigationState",get:function(){return this.sliceView.navigationState}}]);return f}(h.a)},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&& -null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}a.d(f,"a",function(){return k});h=a(10);var c=a.n(h);h=a(1);var b=a(256),d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d= -b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),e=function m(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return m(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},g=new function r(){n(this,r);b.a.initializeHead(this)},l=c()(function(){var a= -document.activeElement;if(null===a||a===document.body)a=b.a.front(g),null!==a&&a.element.focus()});window.addEventListener("focus",function(){l()},!0);window.addEventListener("blur",function(){l()},!0);var k=function(a){function k(a){n(this,k);var d=q(this,(k.__proto__||Object.getPrototypeOf(k)).call(this));d.element=a;d.prev0=null;d.next0=null;d.lastFocusedElement=null;d.scheduleUpdateFocus=d.registerCancellable(c()(function(){var a=document.activeElement,b=d.element;b.contains(a)||((a===d.lastFocusedElement|| -a.contains(b))&&d.element.focus(),d.lastFocusedElement=null)},0));a.tabIndex=-1;d.registerEventListener(a,"mouseenter",function(){d.lastFocusedElement=document.activeElement;d.scheduleUpdateFocus()});d.registerEventListener(a,"mouseleave",function(){d.scheduleUpdateFocus.cancel()});b.a.insertBefore(g,d);d.registerEventListener(a,"focus",function(){b.a.pop(d);b.a.insertAfter(g,d)});l();return d}p(k,a);d(k,[{key:"disposed",value:function(){b.a.pop(this);e(k.prototype.__proto__||Object.getPrototypeOf(k.prototype), -"disposed",this).call(this)}}]);return k}(h.a)},function(h,f,a){f.a=function(a,f){var h=a.view.document,c=a.screenX,b=a.screenY,d=function(a){var d=c-a.screenX,e=b-a.screenY;c=a.screenX;b=a.screenY;f(a,d,e)},e=a.button,g=function(a){a.button===e&&(h.removeEventListener("mousemove",d,!0),h.removeEventListener("mouseup",g,!1))};h.addEventListener("mousemove",d,!0);h.addEventListener("mouseup",g,!1)}},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); -return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return d});h=a(1);var n=a(8),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable= -d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),b=function g(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return g(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(287);var d=function(a){function d(a,b){var c=void 0===b?{}:b;b=void 0===c.min?0:c.min;var g= -void 0===c.max?1:c.max;c=void 0===c.step?.01:c.step;if(!(this instanceof d))throw new TypeError("Cannot call a class as a function");var k=q(this,(d.__proto__||Object.getPrototypeOf(d)).call(this));k.value=a;k.element=document.createElement("label");k.promptElement=document.createElement("span");k.inputElement=document.createElement("input");var l=k.element,f=k.promptElement,t=k.inputElement;l.className="range-slider";f.className="range-prompt";t.type="range";t.min=""+b;t.max=""+g;t.step=""+c;t.valueAsNumber= -k.value.value;l.appendChild(f);l.appendChild(t);var h=function(){k.value.value=k.inputElement.valueAsNumber};k.registerEventListener(t,"change",h);k.registerEventListener(t,"input",h);k.registerEventListener(t,"wheel",function(a){a=a.deltaY;0<a?(k.inputElement.stepUp(),h()):0>a&&(k.inputElement.stepDown(),h())});a.changed.add(function(){k.inputElement.valueAsNumber=k.value.value});return k}p(d,a);c(d,[{key:"disposed",value:function(){Object(n.b)(this.element);b(d.prototype.__proto__||Object.getPrototypeOf(d.prototype), -"disposed",this).call(this)}}]);return d}(h.a)},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf? -Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function c(a,b){b=void 0===b?a.navigationState:new w.e(new w.g(a.navigationState.pose.position,w.f.makeRelative(a.navigationState.pose.orientation,b)),a.navigationState.zoomFactor);return new x.a(a.chunkManager,a.layerManager,b)}function b(a){return new Map([["xy",c(a,P.get("xy"))],["xz",c(a,P.get("xz"))],["yz",c(a,P.get("yz"))]])}function d(a){return{crossSectionBackgroundColor:a.crossSectionBackgroundColor, -mouseState:a.mouseState,layerManager:a.layerManager,showAxisLines:a.showAxisLines,visibleLayerRoles:a.visibleLayerRoles,selectedLayer:a.selectedLayer,visibility:a.visibility,scaleBarOptions:a.scaleBarOptions}}function e(a){var b=a.viewer;return Object.assign({},d(b),{navigationState:b.perspectiveNavigationState,inputEventMap:b.inputEventBindings.perspectiveView,orthographicProjection:a.specification.orthographicProjection,showScaleBar:b.showScaleBar,rpc:b.chunkManager.rpc})}function g(a){return Object.assign({}, -d(a),{navigationState:a.navigationState,inputEventMap:a.inputEventBindings.sliceView})}function l(a,b,c){for(var d={},e=0;2>e;d={relatedLayout:d.relatedLayout},++e)d.relatedLayout=c[Math.min(c.length-1,e)],a.registerDisposer(Object(G.c)(b.element,0===e?"toggle-layout":"toggle-layout-alternative",function(b){return function(c){a.container.name=b.relatedLayout;c.stopPropagation()}}(d)))}function k(a,b){var c=new x.a(a.chunkManager,a.layerManager,b.navigationState.addRef());a=function(){c.setViewportSizeDebounced(b.width.value, -b.height.value)};c.registerDisposer(b.width.changed.add(a));c.registerDisposer(b.height.changed.add(a));a();return c}function t(a,b,c){var d=new Map,e=new Set;c=$jscomp.makeIterator(c.values());for(var g=c.next();!g.done;g=c.next())if(g=g.value,e.add(g),!d.has(g)){var l=k(a,g);b.sliceViews.set(l,!0);d.set(g,l)}a=$jscomp.makeIterator(d);for(d=a.next();!d.done;d=a.next())c=$jscomp.makeIterator(d.value),d=c.next().value,c=c.next().value,e.has(d)||b.sliceViews.delete(c)}function m(a){var b=H.get(a);if(void 0=== -b)throw Error("Invalid layout name: "+JSON.stringify(a)+".");return b}function r(a){m(a);return a}a.d(f,"b",function(){return M});f.d=d;a.d(f,"a",function(){return ka});h=a(10);var u=a.n(h),v=a(183),w=a(57),y=a(117),x=a(44),A=a(78),z=a(35),D=a(9);h=a(1);var E=a(8),G=a(25),C=a(2),B=a(4),F=a(7),L=a(184),I=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c, -d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),O=function R(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return R(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(83);var M=function X(){n(this,X);this.perspectiveView=new G.a;this.sliceView=new G.a},P=new Map([["xy",void 0],["xz",C.n.rotateX(C.n.create(),C.n.create(),Math.PI/2)],["yz",C.n.rotateY(C.n.create(),C.n.create(), -Math.PI/2)]]),N=function(a){function c(a,d,k,m){n(this,c);var r=q(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));r.container=a;r.rootElement=d;r.viewer=k;var f=b(k),u=k.display,h=Object.assign({},e(a),{showSliceViews:k.showPerspectiveSliceViews,showSliceViewsCheckbox:!0}),w=Object.assign({},g(k),{showScaleBar:k.showScaleBar}),p=Object.assign({},g(k),{showScaleBar:new z.b(!1,!1)}),x=function(a,b,c){b=r.registerDisposer(new A.a(u,b,f.get(a),c));l(r,b,[a,a+"-3d"]);return b};a=[v.b(1,v.a("column", -[v.b(1,v.a("row",[v.b(1,function(a){x("xy",a,w)}),v.b(1,function(a){x("xz",a,p)})])),v.b(1,v.a("row",[v.b(1,function(a){a=r.registerDisposer(new y.b(u,a,h));for(var b=$jscomp.makeIterator(f.values()),c=b.next();!c.done;c=b.next())a.sliceViews.set(c.value.addRef(),!1);t(k,a,m);l(r,a,["3d"])}),v.b(1,function(a){x("yz",a,p)})]))]))];v.a("row",a)(d);u.onResize();return r}p(c,a);I(c,[{key:"disposed",value:function(){Object(E.a)(this.rootElement);O(c.prototype.__proto__||Object.getPrototypeOf(c.prototype), -"disposed",this).call(this)}}]);return c}(h.a),S=function(a){function b(a,d,k,m,r,f){n(this,b);var u=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));u.container=a;u.rootElement=d;u.viewer=k;u.direction=m;var h=c(k,P.get(r)),w=k.display,p=Object.assign({},e(a),{showSliceViews:k.showPerspectiveSliceViews,showSliceViewsCheckbox:!0}),x=Object.assign({},g(k),{showScaleBar:k.showScaleBar});v.b(1,v.a(m,[v.b(1,function(a){a=u.registerDisposer(new A.a(w,a,h,x));l(u,a,[r,"4panel"])}),v.b(1,function(a){a= -u.registerDisposer(new y.b(w,a,p));a.sliceViews.set(h.addRef(),!1);t(k,a,f);l(u,a,["3d","4panel"])})]))(d);w.onResize();return u}p(b,a);I(b,[{key:"disposed",value:function(){Object(E.a)(this.rootElement);O(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}}]);return b}(h.a),U=function(a){function b(a,d,e,k){n(this,b);var m=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));m.container=a;m.rootElement=d;m.viewer=e;var r=c(e,P.get(k)),f=Object.assign({},g(e), -{showScaleBar:e.showScaleBar});v.a("row",[v.b(1,function(a){a=m.registerDisposer(new A.a(e.display,a,r,f));l(m,a,["4panel",k+"-3d"])})])(d);e.display.onResize();return m}p(b,a);I(b,[{key:"disposed",value:function(){Object(E.a)(this.rootElement);O(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}}]);return b}(h.a),Z=function(a){function b(a,c,d,g){n(this,b);var k=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));k.container=a;k.rootElement=c;k.viewer=d; -var m=Object.assign({},e(a),{showSliceViews:new z.b(!1,!1)});v.a("row",[v.b(1,function(a){a=k.registerDisposer(new y.b(d.display,a,m));t(d,a,g);l(k,a,["4panel"])})])(c);d.display.onResize();return k}p(b,a);I(b,[{key:"disposed",value:function(){Object(E.a)(this.rootElement);O(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}}]);return b}(h.a),H=new Map([["4panel",{factory:function(a,b,c,d){return new N(a,b,c,d)}}],["3d",{factory:function(a,b,c,d){return new Z(a, -b,c,d)}}]]);f.c=H;f={};a=$jscomp.makeIterator(P.keys());for(C=a.next();!C.done;f={axes:f.axes},C=a.next())f.axes=C.value,H.set(f.axes,{factory:function(a){return function(b,c,d){return new U(b,c,d,a.axes)}}(f)}),H.set(f.axes+"-3d",{factory:function(a){return function(b,c,d,e){return new S(b,c,d,"row",a.axes,e)}}(f)});var Q=function(a){function b(a){n(this,b);var c=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.width=new D.c(1E3,B.z);c.height=new D.c(1E3,B.z);c.changed=new F.a;c.position= -new w.b(a.position.addRef());c.position.changed.add(c.changed.dispatch);c.orientation=new w.a(a.pose.orientation.addRef());c.orientation.changed.add(c.changed.dispatch);c.width.changed.add(c.changed.dispatch);c.height.changed.add(c.changed.dispatch);c.zoom=new w.c(a.zoomFactor.addRef());c.zoom.changed.add(c.changed.dispatch);c.navigationState=c.registerDisposer(new w.e(new w.g(c.position.value,c.orientation.value),c.zoom.value));return c}p(b,a);I(b,[{key:"restoreState",value:function(a){var b=this; -Object(B.t)(a);Object(B.v)(a,"width",function(a){return void 0!==a&&b.width.restoreState(a)});Object(B.v)(a,"height",function(a){return void 0!==a&&b.height.restoreState(a)});Object(B.v)(a,"position",function(a){return void 0!==a&&b.position.restoreState(a)});Object(B.v)(a,"orientation",function(a){return void 0!==a&&b.orientation.restoreState(a)});Object(B.v)(a,"zoom",function(a){return void 0!==a&&b.zoom.restoreState(a)})}},{key:"reset",value:function(){this.width.reset();this.height.reset();this.position.reset(); -this.orientation.reset();this.zoom.reset()}},{key:"toJSON",value:function(){return{width:this.width,height:this.height,position:this.position,orientation:this.orientation,zoom:this.zoom}}}]);return b}(h.a),aa=function(a){function b(a){n(this,b);var c=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,function(a){return c.registerDisposer(c.registerDisposer(a).changed.add(c.changed.dispatch))},function(a){a.changed.remove(c.changed.dispatch);a.dispose()}));c.parentNavigationState=a;c.registerDisposer(a); -return c}p(b,a);I(b,[{key:"restoreState",value:function(a){Object(B.t)(a);for(var b=$jscomp.makeIterator(Object.keys(a)),c=b.next();!c.done;c=b.next()){c=c.value;var d=new Q(this.parentNavigationState);try{this.set(c,d.addRef()),d.restoreState(a[c])}finally{d.dispose()}}}},{key:"reset",value:function(){this.clear()}},{key:"toJSON",value:function(){for(var a={},b=$jscomp.makeIterator(this),c=b.next();!c.done;c=b.next()){var d=$jscomp.makeIterator(c.value);c=d.next().value;d=d.next().value;a[c]=d}return a}}]); -return b}(L.a),ba=function(a){function b(a,c){n(this,b);var d=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.changed=new F.a;d.orthographicProjection=new z.b(!1);d.type=new D.c(c,r);d.type.changed.add(d.changed.dispatch);d.crossSections=d.registerDisposer(new aa(a));d.crossSections.changed.add(d.changed.dispatch);d.orthographicProjection.changed.add(d.changed.dispatch);d.registerDisposer(a);return d}p(b,a);I(b,[{key:"reset",value:function(){this.crossSections.clear();this.orthographicProjection.reset(); -this.type.reset()}},{key:"restoreState",value:function(a){var b=this;this.crossSections.clear();this.orthographicProjection.reset();"string"===typeof a?this.type.restoreState(a):(Object(B.t)(a),Object(B.v)(a,"type",function(a){return b.type.restoreState(a)}),Object(B.v)(a,"orthographicProjection",function(a){return b.orthographicProjection.restoreState(a)}),Object(B.v)(a,"crossSections",function(a){return void 0!==a&&b.crossSections.restoreState(a)}))}},{key:"toJSON",value:function(){var a=this.type, -b=this.crossSections,c=this.orthographicProjection.toJSON();return 0===b.size&&void 0===c?a.value:{type:a.value,crossSections:b,orthographicProjection:c}}}]);return b}(h.a),ka=function(a){function b(a,c){n(this,b);var d=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.viewer=a;d.element=document.createElement("div");d.specification=d.registerDisposer(new ba(d.viewer.navigationState.addRef(),c));d.element.style.flex="1";var e=d.registerCancellable(u()(function(){return d.updateLayout()}, -0));d.specification.type.changed.add(e);Object(G.c)(d.element,"toggle-orthographic-projection",function(){return d.specification.orthographicProjection.toggle()});d.registerDisposer(d.viewer.display.updateStarted.add(function(){return e.flush()}));e();return d}p(b,a);I(b,[{key:"toJSON",value:function(){return this.specification.toJSON()}},{key:"restoreState",value:function(a){this.specification.restoreState(a)}},{key:"reset",value:function(){this.specification.reset()}},{key:"disposeLayout",value:function(){var a= -this.layout;void 0!==a&&(a.dispose(),this.layout=void 0)}},{key:"updateLayout",value:function(){this.disposeLayout();this.layout=m(this.name).factory(this,this.element,this.viewer,this.specification.crossSections)}},{key:"disposed",value:function(){this.disposeLayout();O(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}},{key:"name",get:function(){return this.specification.type.value},set:function(a){this.specification.type.value=a}},{key:"changed",get:function(){return this.specification.changed}}]); -return b}(h.a)},function(h,f){},function(h,f,a){f.isFunction=function(a){return"function"===typeof a}},function(h,f,a){h=a(16).root.Symbol;f.rxSubscriber="function"===typeof h&&"function"===typeof h.for?h.for("rxSubscriber"):"@@rxSubscriber";f.$$rxSubscriber=f.rxSubscriber},function(h,f,a){function q(a){var f=a.Symbol;"function"===typeof f?f.observable?a=f.observable:(a=f("observable"),f.observable=a):a="@@observable";return a}h=a(16);f.getSymbolObservable=q;f.observable=q(h.root);f.$$observable= -f.observable},function(h,f,a){var q=this&&this.__extends||function(a,f){function c(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(c.prototype=f.prototype,new c)};h=function(a){function f(){var c=a.call(this,"object unsubscribed");this.name=c.name="ObjectUnsubscribedError";this.stack=c.stack;this.message=c.message}q(f,a);return f}(Error);f.ObjectUnsubscribedError=h},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor= -a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(12);var p=a(11);a=function(a){function c(){a.apply(this,arguments);this.value=null;this.hasCompleted=this.hasNext=!1}q(c,a);c.prototype._subscribe=function(b){return this.hasError?(b.error(this.thrownError),p.Subscription.EMPTY):this.hasCompleted&&this.hasNext?(b.next(this.value),b.complete(),p.Subscription.EMPTY):a.prototype._subscribe.call(this,b)};c.prototype.next=function(a){this.hasCompleted|| -(this.value=a,this.hasNext=!0)};c.prototype.error=function(b){this.hasCompleted||a.prototype.error.call(this,b)};c.prototype.complete=function(){this.hasCompleted=!0;this.hasNext&&a.prototype.next.call(this,this.value);a.prototype.complete.call(this)};return c}(h.Subject);f.AsyncSubject=a},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h= -a(5);var p=a(6);f.mergeAll=function(a){void 0===a&&(a=Number.POSITIVE_INFINITY);return this.lift(new n(a))};var n=function(){function a(a){this.concurrent=a}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.concurrent))};return a}();f.MergeAllOperator=n;var c=function(a){function b(b,c){a.call(this,b);this.concurrent=c;this.hasCompleted=!1;this.buffer=[];this.active=0}q(b,a);b.prototype._next=function(a){this.active<this.concurrent?(this.active++,this.add(p.subscribeToResult(this,a))): -this.buffer.push(a)};b.prototype._complete=function(){this.hasCompleted=!0;0===this.active&&0===this.buffer.length&&this.destination.complete()};b.prototype.notifyComplete=function(a){var b=this.buffer;this.remove(a);this.active--;0<b.length?this._next(b.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()};return b}(h.OuterSubscriber);f.MergeAllSubscriber=c},function(h,f,a){var q=a(36);f.isNumeric=function(a){return!q.isArray(a)&&0<=a-parseFloat(a)+1}},function(h,f,a){f.isDate= -function(a){return a instanceof Date&&!isNaN(+a)}},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(12);var p=a(208),n=a(11),c=a(127),b=a(87),d=a(198);a=function(a){function g(b,c,d){void 0===b&&(b=Number.POSITIVE_INFINITY);void 0===c&&(c=Number.POSITIVE_INFINITY);a.call(this);this.scheduler=d;this._events=[];this._bufferSize=1>b?1:b;this._windowTime= -1>c?1:c}q(g,a);g.prototype.next=function(b){var c=this._getNow();this._events.push(new e(c,b));this._trimBufferThenGetEvents();a.prototype.next.call(this,b)};g.prototype._subscribe=function(a){var e=this._trimBufferThenGetEvents(),g=this.scheduler;if(this.closed)throw new b.ObjectUnsubscribedError;if(this.hasError)var k=n.Subscription.EMPTY;else this.isStopped?k=n.Subscription.EMPTY:(this.observers.push(a),k=new d.SubjectSubscription(this,a));g&&a.add(a=new c.ObserveOnSubscriber(a,g));g=e.length; -for(var l=0;l<g&&!a.closed;l++)a.next(e[l].value);this.hasError?a.error(this.thrownError):this.isStopped&&a.complete();return k};g.prototype._getNow=function(){return(this.scheduler||p.queue).now()};g.prototype._trimBufferThenGetEvents=function(){for(var a=this._getNow(),b=this._bufferSize,c=this._windowTime,d=this._events,e=d.length,g=0;g<e&&!(a-d[g].time<c);)g++;e>b&&(g=Math.max(g,e-b));0<g&&d.splice(0,g);return d};return g}(h.Subject);f.ReplaySubject=a;var e=function(){return function(a,b){this.time= -a;this.value=b}}()},function(h,f,a){var q=this&&this.__extends||function(a,f){function c(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(c.prototype=f.prototype,new c)};h=function(a){function f(){var c=a.call(this,"no elements in sequence");this.name=c.name="EmptyError";this.stack=c.stack;this.message=c.message}q(f,a);return f}(Error);f.EmptyError=h},function(h,f,a){function q(a,c){if("function"!==typeof c&&null!==c)throw new TypeError("Super expression must either be null or a function, not "+ -typeof c);a.prototype=Object.create(c&&c.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});c&&(Object.setPrototypeOf?Object.setPrototypeOf(a,c):a.__proto__=c)}a.d(f,"k",function(){return p});h=a(39);f.d="annotation.MetadataChunkSource";f.c="annotation.GeometryChunkSource";f.j="annotation.SubsetGeometryChunkSource";f.f="annotation.reference.add";f.g="annotation.reference.delete";f.b="annotation.commit";f.a="annotation.commit";var p=function(a){function c(){if(!(this instanceof -c))throw new TypeError("Cannot call a class as a function");var a=(c.__proto__||Object.getPrototypeOf(c)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!a||"object"!==typeof a&&"function"!==typeof a?this:a}q(c,a);return c}(h.i);f.e="annotation/PerspectiveRenderLayer";f.h="annotation/RenderLayer";f.i="annotation/RenderLayer.updateSegmentation"},function(h,f){h.exports=function(a){var f=typeof a;return null!=a&&("object"== -f||"function"==f)}},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b): -a.__proto__=b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function c(a,b){var c=b.type,d=a.typeToIds[c],g=Object(e.g)(c),k=g.serializedBytes,r=Object(l.b)(c),f=Object(m.a)(d,b.id,function(a,b){return a<b?-1:a===b?0:1}),t=0;if(0>f){f=~f;d.splice(f,0,b.id);var u=new Uint8Array(a.data.length+k);a.numPickIds+=r.pickIdsPerInstance;t=a.typeToOffset[c]+k*f;u.set(a.data.subarray(0,t),0);u.set(a.data.subarray(t),t+k);a.data=u}else t=a.typeToOffset[c]+g.serializedBytes* -f;g.serializer(a.data.buffer,a.typeToOffset[c],d.length)(b,f);b=$jscomp.makeIterator(e.e);for(d=b.next();!d.done;d=b.next())d=d.value,d>c&&(a.typeToOffset[d]+=k);a.bufferValid=!1}function b(a,b,c){var d=a.typeToIds[b],g=Object(l.b)(b),k=g.bytes;c=Object(m.a)(d,c,function(a,b){return a<b?-1:a===b?0:1});if(0>c)return!1;a.numPickIds-=g.pickIdsPerInstance;d.splice(c,1);d=a.typeToOffset[b]+g.bytes*c;g=new Uint8Array(a.data.length-k);g.set(a.data.subarray(0,d),0);g.set(a.data.subarray(d+k),d);a.data=g; -d=$jscomp.makeIterator(e.e);for(g=d.next();!g.done;g=d.next())g=g.value,g>b&&(a.typeToOffset[g]-=k);a.bufferValid=!1;return!0}function d(){for(var a=[],b=[],c=$jscomp.makeIterator(e.e),d=c.next();!d.done;d=c.next())d=d.value,a[d]=[],b[d]=0;return new D(void 0,{data:new Uint8Array(0),numPickIds:0,typeToOffset:b,typeToIds:a})}a.d(f,"b",function(){return F});a.d(f,"a",function(){return L});var e=a(28),g=a(94),l=a(51);h=a(23);f=a(44);var k=a(75),t=a(31),m=a(43),r=a(2),u=a(7),v=a(15),w=a(77),y=function O(a, -b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return O(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},x=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();a=this&&this.__decorate|| -function(a,b,c,d){var e=arguments.length,g=3>e?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d,k;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var l=a.length-1;0<=l;l--)if(k=a[l])g=(3>e?k(g):3<e?k(b,c,g):k(b,c))||g;return 3<e&&g&&Object.defineProperty(b,c,g),g};var A=function(){function a(b){n(this,a);this.bufferValid=!1;this.data=b.data;for(var c=this.typeToIds=b.typeToIds,d=0,g=$jscomp.makeIterator(e.e),k=g.next();!k.done;k=g.next())k= -k.value,d+=Object(l.b)(k).pickIdsPerInstance*c[k].length;this.numPickIds=d;this.typeToOffset=b.typeToOffset}x(a,[{key:"freeGPUMemory",value:function(a){a;a=this.buffer;void 0!==a&&(a.dispose(),this.bufferValid=!1,this.buffer=void 0)}}]);return a}(),z=function(a){function b(a,c){n(this,b);a=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a));a.data=new A(c);return a}p(b,a);x(b,[{key:"freeGPUMemory",value:function(a){y(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"freeGPUMemory", -this).call(this,a);this.data.freeGPUMemory(a)}},{key:"dispose",value:function(){this.data=void 0}}]);return b}(h.b),D=function(a){function b(a,c){n(this,b);a=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,c));a.data=new A(c);return a}p(b,a);x(b,[{key:"freeGPUMemory",value:function(a){y(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"freeGPUMemory",this).call(this,a);this.data.freeGPUMemory(a)}},{key:"dispose",value:function(){this.data=void 0}}]);return b}(f.b),E=function(a){function b(a, -c){n(this,b);a=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,c));a.immediateChunkUpdates=!0;a.parent=c.parent;a.parameters=c.parameters;a.spec=c.spec;return a}p(b,a);x(b,[{key:"initializeCounterpart",value:function(a,c){c.parameters=this.parameters;c.parent=this.parent.rpcId;y(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"initializeCounterpart",this).call(this,a,c)}},{key:"addChunk",value:function(a,c){y(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"addChunk", -this).call(this,a,c)}},{key:"getChunk",value:function(a){return new D(this,a)}}]);return b}(f.c);E=a([Object(v.g)(g.c)],E);var G=function(a){function b(a,c){n(this,b);a=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,{}));a.parent=c;a.immediateChunkUpdates=!0;return a}p(b,a);x(b,[{key:"initializeCounterpart",value:function(a,c){c.parent=this.parent.rpcId;y(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"initializeCounterpart",this).call(this,a,c)}},{key:"addChunk",value:function(a, -c){y(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"addChunk",this).call(this,a,c)}},{key:"getChunk",value:function(a){return new z(this,a)}}]);return b}(h.e);G=a([Object(v.g)(g.j)],G);var C=function(a){function b(a,c){n(this,b);a=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a));a.annotation=Object(e.f)(c.annotation);return a}p(b,a);return b}(h.b),B=function(a){function b(a,c){n(this,b);a=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a));a.parent=c;return a}p(b, -a);x(b,[{key:"getChunk",value:function(a){return new C(this,a)}},{key:"addChunk",value:function(a,c){y(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"addChunk",this).call(this,a,c);a=this.parent.references.get(a);void 0!==a&&(a.value=c.annotation,a.changed.dispatch())}},{key:"deleteChunk",value:function(a){a=this.parent.references.get(a);void 0!==a&&(a.value=void 0,a.changed.dispatch())}},{key:"initializeCounterpart",value:function(a,c){c.parent=this.parent.rpcId;y(b.prototype.__proto__|| -Object.getPrototypeOf(b.prototype),"initializeCounterpart",this).call(this,a,c)}}]);return b}(h.e);B=a([Object(v.g)(g.d)],B);var F=function(a){function k(a,b){n(this,k);var c=q(this,(k.__proto__||Object.getPrototypeOf(k)).call(this));c.chunkManager=a;c.metadataChunkSource=c.registerDisposer(new B(c.chunkManager,c));c.objectToLocal=r.k.create();c.temporary=d();c.references=new Map;c.localUpdates=new Map;c.numCommitsInProgress=0;c.changed=new u.a;c.readonly=!1;c.sources=b.sourceSpecifications.map(function(b){return b.map(function(b){return c.registerDisposer(new E(a, -{spec:b.spec,parameters:b.parameters,parent:c}))})});c.segmentFilteredSource=c.registerDisposer(new G(a,c));return c}p(k,a);$jscomp.initSymbol();$jscomp.initSymbolIterator();x(k,[{key:"getSources",value:function(a){a=this.sources;a.forEach(function(a){return a.forEach(function(a){return a.addRef()})});return a}},{key:"initializeCounterpart",value:function(a,b){this.metadataChunkSource.initializeCounterpart(a,{});for(var c=$jscomp.makeIterator(this.sources),d=c.next();!d.done;d=c.next()){d=$jscomp.makeIterator(d.value); -for(var e=d.next();!e.done;e=d.next())e.value.initializeCounterpart(a,{})}this.segmentFilteredSource.initializeCounterpart(a,{});b.segmentFilteredSource=this.segmentFilteredSource.addCounterpartRef();b.metadataChunkSource=this.metadataChunkSource.addCounterpartRef();b.sources=this.sources.map(function(a){return a.map(function(a){return a.addCounterpartRef()})});b.chunkManager=this.chunkManager.rpcId;y(k.prototype.__proto__||Object.getPrototypeOf(k.prototype),"initializeCounterpart",this).call(this, -a,b)}},{key:"add",value:function(a,b){var c=this;b=void 0===b?!0:b;a.id=Object(e.h)();var d=new e.a(a.id);d.value=a;this.references.set(d.id,d);d.registerDisposer(function(){c.references.delete(d.id)});this.applyLocalUpdate(d,!1,b,a);return d}},{key:"applyLocalUpdate",value:function(a,d,e,g){var k=this.localUpdates,l=a.id,m=this.localUpdates.get(l),r=a.value;if(null==r)throw Error("Cannot create local update from null annotation");void 0===m?(m={type:r.type,reference:a.addRef(),existingAnnotation:d? -r:void 0,pendingCommit:void 0,commitInProgress:void 0},k.set(l,m),this.forEachPossibleChunk(r,function(a){b(a.data,r.type,l)}),null!==g&&c(this.temporary.data,g)):(null===g?b(this.temporary.data,r.type,r.id):c(this.temporary.data,g),a.value=g);if(e)if(void 0!==m.commitInProgress)m.pendingCommit=g;else{if(null===g&&void 0===m.existingAnnotation){k.delete(l);m.reference.dispose();return}this.sendCommitRequest(m,g)}this.notifyChanged(a.id,g||void 0)}},{key:"sendCommitRequest",value:function(a,b){this.updateCommitsInProgress(1); -a.commitInProgress=b;this.rpc.invoke(g.b,{id:this.rpcId,annotationId:a.existingAnnotation&&a.reference.id,newAnnotation:b})}},{key:"delete",value:function(a){this.applyLocalUpdate(a,!0,!0,null)}},{key:"update",value:function(a,b){this.applyLocalUpdate(a,!0,!1,b)}},{key:"notifyChanged",value:function(a,b){var c=this.references.get(a);a=this.metadataChunkSource.chunks.get(a);void 0!==a&&(a.annotation=b||null);void 0!==c&&(c.value=b||null,c.changed.dispatch());this.chunkManager.chunkQueueManager.visibleChunksChanged.dispatch()}}, -{key:"commit",value:function(a){this.applyLocalUpdate(a,!0,!0,a.value)}},{key:"getReference",value:function(a){var b=this,c=this.references.get(a);if(void 0!==c)return c.addRef();c=new e.a(a);this.references.set(a,c);this.rpc.invoke(g.f,{id:this.rpcId,annotation:a});c.registerDisposer(function(){b.references.delete(a);b.rpc.invoke(g.g,{id:b.rpcId,annotation:a})});var d=this.metadataChunkSource.chunks.get(a);void 0!==d&&(c.value=d.annotation);return c}},{key:"forEachPossibleChunk",value:function(a, -b){var c=this.sources;if(1!==c.length||1!==c[0].length)throw Error("Not implemented");c=c[0][0];if(1<c.chunks.size)throw Error("Not implemented");a;c=$jscomp.makeIterator(c.chunks.values());for(var d=c.next();!d.done;d=c.next())b(d.value);c=a.segments;if(void 0!==c&&0!==c.length)for(a=this.segmentFilteredSource,c=$jscomp.makeIterator(c),d=c.next();!d.done;d=c.next())d=a.chunks.get(Object(w.b)(d.value)),void 0!==d&&b(d)}},{key:"handleSuccessfulUpdate",value:function(a,d){var e=this.localUpdates.get(a); -if(void 0===e||void 0===e.commitInProgress)throw Error("Received invalid successful update notification");this.updateCommitsInProgress(-1);if(null!==d&&e.reference.id!==d.id){if(null===e.commitInProgress)throw Error("Received invalid successful update notification");e.reference.id=d.id;this.references.delete(a);this.references.set(d.id,e.reference);this.localUpdates.delete(a);this.localUpdates.set(d.id,e);null!==e.reference.value&&(e.reference.value.id=d.id,b(this.temporary.data,e.type,a),c(this.temporary.data, -e.reference.value));e.reference.changed.dispatch()}e.existingAnnotation=d||void 0;e.commitInProgress=void 0;a=e.pendingCommit;e.pendingCommit=void 0;null===d&&(a=void 0);void 0!==a?(null!==a&&(a.id=d.id),this.sendCommitRequest(e,a)):this.revertLocalUpdate(e)}},{key:"disposed",value:function(){var a=this.commitStatus;void 0!==a&&a.dispose()}},{key:"updateCommitsInProgress",value:function(a){this.numCommitsInProgress+=a;0===this.numCommitsInProgress?void 0!==this.commitStatus&&(this.commitStatus.dispose(), -this.commitStatus=void 0):void 0===this.commitStatus&&(this.commitStatus=new t.a(!0)).setText("Commiting annotations")}},{key:"handleFailedUpdate",value:function(a,b){a=this.localUpdates.get(a);if(void 0===a||void 0===a.commitInProgress)throw Error("Received invalid update notification");(new t.a).setErrorMessage("Error commiting annotation update: "+b);this.revertLocalUpdate(a);this.updateCommitsInProgress(-1)}},{key:"revertLocalUpdate",value:function(a){b(this.temporary.data,a.type,a.reference.id); -var d=a.existingAnnotation;void 0!==d&&this.forEachPossibleChunk(d,function(a){c(a.data,d)});a=a.reference;var e=a.id;a.value=d||null;a.changed.dispatch();a.dispose();this.localUpdates.delete(e)}},{key:Symbol.iterator,value:function(){function a(a,c){for(;;)switch(b){case 0:b=-1;default:return{value:void 0,done:!0}}}var b=0,c={next:function(b){return a(b,void 0)},throw:function(b){return a(void 0,b)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();c[Symbol.iterator]= -function(){return this};return c}}],[{key:"encodeOptions",value:function(a){return{}}}]);return k}(v.b);Object(v.e)(g.a,function(a){var b=this.get(a.id),c=a.annotationId,d=a.error;void 0!==d?b.handleFailedUpdate(c,d):(a=Object(e.f)(a.newAnnotation),b.handleSuccessfulUpdate(c,a))});var L=function(a){function b(a){n(this,b);return q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a.chunkManager,a.getSources({})))}p(b,a);x(b,[{key:"draw",value:function(){}}]);return b}(k.a)},function(h,f,a){function q(a, -b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}a.d(f,"a",function(){return e});a.d(f,"b",function(){return g});var n=a(1),c=a(4),b=function k(a,b,c){null=== -a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return k(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),e=function(){function a(){p(this,a);this.map= -new Map}d(a,[{key:"get",value:function(a,b){var c=this.map,d=c.get(a);void 0===d?(d=b(),d.registerDisposer(function(){c.delete(a)}),c.set(a,d)):d.addRef();return d}}]);return a}(),g=function(a){function e(){p(this,e);var a=(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!a||"object"!==typeof a&&"function"!==typeof a?this:a}q(e,a);d(e,[{key:"get",value:function(a,d){"string"!==typeof a&& -(a=Object(c.g)(a));return b(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"get",this).call(this,a,d)}},{key:"getUncounted",value:function(a,b){return this.get(a,function(){return new n.b(b())}).value}}]);return e}(e)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b? -a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return t});f.e=function(a,b,c,d,e){c=void 0===c?a.RGBA8:c;d=void 0===d?a.RGBA:d;e=void 0===e?a.UNSIGNED_BYTE:e;for(var g=[],k=0;k<b;++k)g[k]=new u(a,c,d,e);return g}; -a.d(f,"b",function(){return w});a.d(f,"c",function(){return y});h=a(1);var c=a(2),b=a(22),d=a(52),e=a(76),g=a(141),l=function A(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return A(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},k=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable= -!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();a=function(a){function b(){q(this,b);var a=p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.width=Number.NaN;a.height=Number.NaN;return a}n(b,a);k(b,[{key:"hasSize",value:function(a,b){return this.width===a&&this.height===b}},{key:"resize",value:function(a,b){this.hasSize(a,b)||(this.width=a,this.height=b,this.performResize())}}]);return b}(h.a);var t=function(a){function b(a, -c){c=void 0===c?!1:c;q(this,b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,c?a.DEPTH_STENCIL:a.DEPTH_COMPONENT16));d.gl=a;d.includeStencilBuffer=c;return d}n(b,a);k(b,[{key:"attachToFramebuffer",value:function(){var a=this.gl;l(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"attachToFramebuffer",this).call(this,this.includeStencilBuffer?a.DEPTH_STENCIL_ATTACHMENT:a.DEPTH_ATTACHMENT)}}]);return b}(function(a){function b(a,c){q(this,b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this)); -d.gl=a;d.internalformat=c;d.renderbuffer=null;d.renderbuffer=a.createRenderbuffer();return d}n(b,a);k(b,[{key:"performResize",value:function(){var a=this.gl;a.bindRenderbuffer(a.RENDERBUFFER,this.renderbuffer);a.renderbufferStorage(a.RENDERBUFFER,this.internalformat,this.width,this.height);a.bindRenderbuffer(a.RENDERBUFFER,null)}},{key:"disposed",value:function(){this.gl.deleteRenderbuffer(this.renderbuffer)}},{key:"attachToFramebuffer",value:function(a){var b=this.gl;b.framebufferRenderbuffer(b.FRAMEBUFFER, -a,b.RENDERBUFFER,this.renderbuffer)}}]);return b}(a)),m=function(a){function b(a){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,!0))}n(b,a);return b}(t);f.d=m;var r=function(a){function b(a){q(this,b);var c=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.gl=a;c.framebuffer=c.gl.createFramebuffer();return c}n(b,a);k(b,[{key:"disposed",value:function(){this.gl.deleteFramebuffer(this.framebuffer)}},{key:"bind",value:function(){var a=this.gl;a.bindFramebuffer(a.FRAMEBUFFER, -this.framebuffer)}},{key:"unbind",value:function(){var a=this.gl;a.bindFramebuffer(a.FRAMEBUFFER,null)}}]);return b}(h.a),u=function(a){function b(a,c,d,e){q(this,b);var g=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));g.gl=a;g.internalFormat=c;g.format=d;g.dataType=e;g.texture=a.createTexture();return g}n(b,a);k(b,[{key:"performResize",value:function(){Object(e.a)(this.gl,this.texture,this.width,this.height,this.internalFormat,this.format,this.dataType)}},{key:"disposed",value:function(){this.gl.deleteTexture(this.texture)}}, -{key:"attachToFramebuffer",value:function(a){var b=this.gl;b.framebufferTexture2D(b.FRAMEBUFFER,a,b.TEXTURE_2D,this.texture,0)}}]);return b}(a),v=new Uint8Array(4),w=function(a){function b(a,c){q(this,b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.gl=a;d.width=Number.NaN;d.height=Number.NaN;d.fullAttachmentList=[];d.attachmentVerified=!1;d.singleAttachmentList=[d.gl.COLOR_ATTACHMENT0];var e=void 0===c.framebuffer?new r(a):c.framebuffer,g=c.colorBuffers;c=c.depthBuffer;d.framebuffer= -d.registerDisposer(e);d.colorBuffers=g;d.depthBuffer=c;void 0!==c&&d.registerDisposer(c);var k=d.fullAttachmentList;g.forEach(function(b,c){d.registerDisposer(b);k[c]=a.COLOR_ATTACHMENT0+c});return d}n(b,a);k(b,[{key:"hasSize",value:function(a,b){return this.width===a&&this.height===b}},{key:"bind",value:function(a,b){this.width=a;this.height=b;this.framebuffer.bind();var c=this.gl,d=this.depthBuffer;void 0!==d&&(d.resize(a,b),d.attachToFramebuffer());this.colorBuffers.forEach(function(d,e){d.resize(a, -b);d.attachToFramebuffer(c.COLOR_ATTACHMENT0+e)});c.drawBuffers(this.fullAttachmentList);this.verifyAttachment();c.viewport(0,0,a,b)}},{key:"bindSingle",value:function(a){var b=this.gl;this.framebuffer.bind();0!==a&&b.framebufferTexture2D(b.FRAMEBUFFER,b.COLOR_ATTACHMENT0+a,b.TEXTURE_2D,null,0);b.bindTexture(b.TEXTURE_2D,null);this.colorBuffers[a].attachToFramebuffer(b.COLOR_ATTACHMENT0);b.drawBuffers(this.singleAttachmentList)}},{key:"unbind",value:function(){this.framebuffer.unbind()}},{key:"readPixel", -value:function(a,b,c){var d=this.gl;try{this.bindSingle(a),d.readPixels(b,c,1,1,d.RGBA,d.UNSIGNED_BYTE,v)}finally{this.framebuffer.unbind()}return v}},{key:"readPixelAsUint32",value:function(a,b,c){a=this.readPixel(a,b,c);return a[0]+(a[1]<<8)+(a[2]<<16)+(a[3]<<24)}},{key:"verifyAttachment",value:function(){if(!this.attachmentVerified){var a=this.gl;if(a.checkFramebufferStatus(a.FRAMEBUFFER)!==a.FRAMEBUFFER_COMPLETE)throw Error("Framebuffer configuration not supported");this.attachmentVerified=!0}}}]); -return b}(h.a),y=function(a){function e(a,b){q(this,e);var c=p(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));c.gl=a;c.shader=b;c.copyVertexPositionsBuffer=Object(d.a)(c.gl);c.copyTexCoordsBuffer=Object(d.a)(c.gl,0,0,1,1);c.registerDisposer(b);return c}n(e,a);k(e,[{key:"draw",value:function(a){for(var b=[],d=0;d<arguments.length;++d)b[d-0]=arguments[d];d=this.gl;var e=this.shader;e.bind();for(var g=b.length,k=0;k<g;++k)d.activeTexture(d.TEXTURE0+k),d.bindTexture(d.TEXTURE_2D,b[k]);d.uniformMatrix4fv(e.uniform("uProjectionMatrix"), -!1,c.d);b=e.attribute("aVertexPosition");this.copyVertexPositionsBuffer.bindToVertexAttrib(b,2);e=e.attribute("aTexCoord");this.copyTexCoordsBuffer.bindToVertexAttrib(e,2);d.drawArrays(d.TRIANGLE_FAN,0,4);d.disableVertexAttribArray(b);d.disableVertexAttribArray(e);for(b=0;b<g;++b)d.activeTexture(d.TEXTURE0+b),d.bindTexture(d.TEXTURE_2D,null)}}],[{key:"get",value:function(a,c,d){c=void 0===c?g.a:c;d=void 0===d?1:d;return a.memoize.get("OffscreenCopyHelper:"+d+":"+Object(b.a)(c),function(){return new e(a, -Object(g.b)(a,c,d))})}}]);return e}(h.a)},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return b});h=a(1);var p=a(100),n=a(52),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c]; -d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();f.b=4;var b=function(a){function b(a,c){c=void 0===c?1:c;if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var d=(b.__proto__||Object.getPrototypeOf(b)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");d=!d||"object"!==typeof d&&"function"!== -typeof d?this:d;d.circlesPerInstance=c;d.squareCornersBuffer=Object(n.a)(a,-1,-1,1,1,c,1);d.quadHelper=d.registerDisposer(new p.a(a,c));return d}q(b,a);c(b,[{key:"defineShader",value:function(a,b){a.addAttribute("highp vec2","aCircleCornerOffset");a.addUniform("highp vec4","uCircleParams");a.addVarying("highp vec2","vCircleCoord");a.addVertexCode("\nvoid emitCircle(vec4 position) {\n gl_Position = position;\n gl_Position.xy += aCircleCornerOffset * uCircleParams.xy * gl_Position.w;\n vCircleCoord = aCircleCornerOffset;\n}\n"); +a=b.zoomFactor.value;var k=b.position.spatialCoordinates;t.s.scaleAndAdd(k,k,c.viewportAxes[0],e*(d-a));t.s.scaleAndAdd(k,k,c.viewportAxes[1],g*(d-a));b.position.changed.dispatch()}}},{key:"navigationState",get:function(){return this.sliceView.navigationState}}]);return f}(h.a)},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1, +writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"b",function(){return c});h=a(1);var p=a(22);a.d(f,"a",function(){return p.a});a.d(f,"c",function(){return p.c});var n=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),d=new Set("f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 escape pause".split(" ")), +b=new Set("color date datetime datetime-local email month number password search tel text time url week".split(" ")),c=function(a){function c(a,b){if(!(this instanceof c))throw new TypeError("Cannot call a class as a function");var d=(c.__proto__||Object.getPrototypeOf(c)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");d=!d||"object"!==typeof d&&"function"!==typeof d?this:d;d.target=a;d.eventMap=b;d.modifierShortcutsAreGlobal=!0;d.allShortcutsAreGlobal= +!1;d.allowSpaceKeyOnButtons=!1;d.registerEventListener(a,"keydown",d.handleKeyDown.bind(d),!1);return d}q(c,a);n(c,[{key:"shouldIgnoreEvent",value:function(a,c){var e=c.target,g=e.tagName;if(e===this.target)return!1;var k="TEXTAREA"===g||"INPUT"===g||"BUTTON"===g||"SELECT"===g,l=!k&&(e.isContentEditable||e.ownerDocument&&"on"===e.ownerDocument.designMode);return!k&&!l||this.allShortcutsAreGlobal||d.has(a)?!1:l||this.modifierShortcutsAreGlobal&&(c.altKey||c.ctrlKey||c.metaKey)?!0:"INPUT"===g&&b.has(e.type)? +"enter"!==a:"INPUT"===g||"BUTTON"===g?this.allowSpaceKeyOnButtons?!1:"space"===a:!0}},{key:"handleKeyDown",value:function(a){var b=a.code.toLowerCase();this.shouldIgnoreEvent(b,a)||Object(p.b)(b,a,this.eventMap)}}]);return c}(h.a)},function(h,f,a){f.a=function(a,f){f.offset+=a;return f};f.b=function(a,f){var h=[];f=$jscomp.makeIterator(f);for(var d=f.next();!d.done;d=f.next())d=d.value,d.startsWith(a)&&h.push({value:d});return h};f.c=function(a,f,h,d){var b=[];f=$jscomp.makeIterator(f);for(var c= +f.next();!c.done;c=f.next()){c=c.value;var e=h(c);e.startsWith(a)&&b.push({value:e,description:d(c)})}return b}},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return e});f.b=function(a,d,e){e=void 0=== +e?"GET":e;var g=new XMLHttpRequest;if(Array.isArray(a)){var k=a.length;k=1===k?0:Math.abs(Object(n.a)(d))%k;a=a[k]+d}else a+=d;g[c]=e;g[b]=a;g.open(e,a);return g};f.d=function(a,b,c){c=void 0===c?p.e:c;a.responseType=b;return new Promise(function(b,d){var g=function(){a.abort()};c.add(g);a.onloadend=function(){var k=this.status;c.remove(g);200<=k&&300>k?b(this.response):d(e.fromXhr(a))};a.send()})};f.c=function(a){var b=a.match(/^([^:\/]+):\/\/([^\/]+)(\/.*)?$/);if(null===b)throw Error("Invalid URL: "+ +JSON.stringify(a));return"gs"===b[1]?[["https://storage.googleapis.com/"+b[2]],b[3]]:[[a],""]};var p=a(32),n=a(263),d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();$jscomp.initSymbol();var b=Symbol("url");$jscomp.initSymbol();var c=Symbol("method"),e=function(a){function e(a,b,c,d){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function"); +var g=a+" "+JSON.stringify(b)+" resulted in HTTP error "+c;d&&(g+=": "+d);g+=".";var k=(e.__proto__||Object.getPrototypeOf(e)).call(this,g);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");k=!k||"object"!==typeof k&&"function"!==typeof k?this:k;k.name="HttpError";k.message=g;k.method=a;k.url=b;k.code=c;k.statusMessage=d;return k}q(e,a);d(e,null,[{key:"fromXhr",value:function(a){return new e(a[c],a[b],a.status,a.statusText)}}]);return e}(Error)},function(h, +f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){if(!(a instanceof +b))throw new TypeError("Cannot call a class as a function");}function d(a,b){var c=b.redrawNeeded.dispatch;b.registerDisposer(a.segmentColorHash.changed.add(c));b.registerDisposer(a.visibleSegments.changed.add(c));b.registerDisposer(a.highlightedSegments.changed.add(c));b.registerDisposer(a.segmentEquivalences.changed.add(c));b.registerDisposer(a.segmentSelectionState.changed.add(c))}a.d(f,"c",function(){return m});a.d(f,"a",function(){return r});f.g=d;f.f=function(a,b){d(a,b);b.registerDisposer(a.objectAlpha.changed.add(b.redrawNeeded.dispatch)); +b.registerDisposer(a.objectToDataTransform.changed.add(b.redrawNeeded.dispatch))};f.e=function(a,b,d){d=void 0===d?1:d;var e=u;e[3]=d;a.segmentColorHash.compute(e,b);if(a.segmentSelectionState.isSelected(b))for(var g=0;3>g;++g)e[g]=.5*e[g]+.5;g=new Float32Array(3);Object(c.b)(g,e[0],e[1],e[2]);g[1]*=a.saturation.value;var k=new Float32Array(3);Object(c.a)(k,g[0],g[1],g[2]);e[0]=k[0];e[1]=k[1];e[2]=k[2];a.highlightedSegments.has(b)&&(e[0]=.2,e[1]=.2,e[2]=2,e[3]=1);e[0]*=d;e[1]*=d;e[2]*=d;return e}; +f.d=function(a,c,d){Object(b.a)(a,function(e,g){var k=Object(b.b)(e,a.clipBounds.value);k=c.get(k);void 0!==k&&d(g,e,k)})};a.d(f,"b",function(){return v});var b=a(78),c=a(149);h=a(1);f=a(2);var e=a(7),g=a(14),l=a(29);a=a(15);var k=function y(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return y(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},t=function(){function a(a, +b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),m=function(){function a(b,c){n(this,a);this.key=b;this.value=c}t(a,[{key:"toString",value:function(){return this.key+"\u2192"+this.value}}]);return a}(),r=function(a){function b(){n(this,b);var a=q(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.selectedSegment= +new g.a;a.hasSelectedSegment=!1;a.changed=new e.a;return a}p(b,a);t(b,[{key:"set",value:function(a){if(null==a)this.hasSelectedSegment&&(this.hasSelectedSegment=!1,this.changed.dispatch());else{var b=this.selectedSegment;this.hasSelectedSegment&&a.low===b.low&&a.high===b.high||(b.low=a.low,b.high=a.high,this.hasSelectedSegment=!0,this.changed.dispatch())}}},{key:"isSelected",value:function(a){return this.hasSelectedSegment&&g.a.equal(a,this.selectedSegment)}},{key:"bindTo",value:function(a,b){var c= +this,d=new g.a;this.registerDisposer(a.changed.add(function(){var e=a.get(b);"number"===typeof e?(d.low=e,d.high=0,e=d):e instanceof m&&(e=e.value);c.set(e)}))}}]);return b}(h.a),u=f.u.create(),v=function(a){function b(a,c){n(this,b);var d=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.chunkManager=a;d.displayState=c;return d}p(b,a);t(b,[{key:"initializeCounterpartWithChunkManager",value:function(a){var c=this.displayState;a.chunkManager=this.chunkManager.rpcId;a.visibleSegments=c.visibleSegments.rpcId; +a.segmentEquivalences=c.segmentEquivalences.rpcId;a.clipBounds=c.clipBounds.rpcId;k(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"initializeCounterpart",this).call(this,this.chunkManager.rpc,a)}}]);return b}(Object(l.c)(a.b))},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!== +typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function d(a){return new B.a({fragmentMain:a.displayState.fragmentMain,shaderError:a.displayState.shaderError,fragmentMainStartLine:t.a})}Object.defineProperty(f,"__esModule", +{value:!0});a.d(f,"SegmentationUserLayer",function(){return M});h=a(18);f=a(27);var b=a(54),c=a(47),e=a(113),g=a(64),l=a(298),k=a(75),t=a(104),m=a(26),r=a(175),u=a(56),v=a(35),w=a(9),y=a(300),x=a(163),A=a(4),z=a(7),D=a(14),E=a(55),G=a(81),C=a(301),B=a(112),F=a(40),L=a(168),J=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b, +d);return b}}(),O=function U(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return U(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(45);a(303);var M=function(a){function c(a,b){q(this,c);var d=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this,a,b));d.manager=a;d.displayState={segmentColorHash:e.a.getDefault(),segmentSelectionState:new g.a,selectedAlpha:Object(u.a)(.5), +saturation:Object(u.a)(1),notSelectedAlpha:Object(u.a)(0),objectAlpha:Object(u.a)(1),clipBounds:k.a.make(d.manager.worker,void 0),hideSegmentZero:new v.b(!0,!0),visibleSegments:y.a.makeWithCounterpart(d.manager.worker),highlightedSegments:y.a.makeWithCounterpart(d.manager.worker),segmentEquivalences:l.a.makeWithCounterpart(d.manager.worker),objectToDataTransform:d.transform,fragmentMain:Object(t.f)(),shaderError:Object(E.c)()};d.objectLayerStateChanged=new z.a;d.displayState.visibleSegments.changed.add(function(){return d.specificationChanged.dispatch()}); +d.displayState.segmentEquivalences.changed.add(function(){return d.specificationChanged.dispatch()});d.displayState.segmentSelectionState.bindTo(a.layerSelectedValues,d);d.displayState.selectedAlpha.changed.add(function(){return d.specificationChanged.dispatch()});d.displayState.notSelectedAlpha.changed.add(function(){return d.specificationChanged.dispatch()});d.displayState.objectAlpha.changed.add(function(){return d.specificationChanged.dispatch()});d.displayState.hideSegmentZero.changed.add(function(){return d.specificationChanged.dispatch()}); +d.displayState.fragmentMain.changed.add(function(){return d.specificationChanged.dispatch()});d.tabs.add("rendering",{label:"Rendering",order:-100,getter:function(){return new P(d)}});d.tabs.default="rendering";return d}n(c,a);J(c,[{key:"restoreState",value:function(a){var d=this;O(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"restoreState",this).call(this,a);this.displayState.selectedAlpha.restoreState(a.selectedAlpha);this.displayState.saturation.restoreState(a.saturation);this.displayState.notSelectedAlpha.restoreState(a.notSelectedAlpha); +this.displayState.objectAlpha.restoreState(a.objectAlpha);this.displayState.hideSegmentZero.restoreState(a.hideSegmentZero);this.displayState.fragmentMain.restoreState(a.skeletonShader);Object(A.v)(a,"equivalences",function(a){d.displayState.segmentEquivalences.restoreState(a)});var e=function(b,c){Object(A.v)(a,b,function(a){if(void 0!==a){var b=d.displayState.segmentEquivalences;Object(A.a)(a,function(a){a=D.a.parseString(String(a),10);c.add(b.get(a))})}})};e("segments",this.displayState.visibleSegments); +e("highlights",this.displayState.highlightedSegments);Object(A.v)(a,"clipBounds",function(a){if(void 0!==a){var b,c;Object(A.v)(a,"center",function(a){return b=Object(A.k)(a)});Object(A.v)(a,"size",function(a){return c=Object(A.k)(a)});b&&c&&(d.displayState.clipBounds.value={center:b,size:c})}});this.displayState.highlightedSegments.changed.add(function(){d.specificationChanged.dispatch()});e=this.multiscaleSource;var g=this.meshPath=null===a.mesh?null:Object(A.y)(a.mesh),k=this.skeletonsPath=Object(A.v)(a, +"skeletons",A.y),l=0;null!=g&&(++l,this.manager.dataSourceProvider.getMeshSource(this.manager.chunkManager,g).then(function(a){d.wasDisposed||(d.addMesh(a),0===--l&&(d.isReady=!0))}));void 0!==k&&(++l,this.manager.dataSourceProvider.getSkeletonSource(this.manager.chunkManager,k).then(function(a){d.wasDisposed||(d.addSkeletonSource(a),0===--l&&(d.isReady=!0))}));void 0!==e&&(++l,e.then(function(a){d.wasDisposed||(d.addRenderLayer(new r.a(a,d.displayState)),void 0===g&&void 0===k&&(++l,Promise.resolve(a.getMeshSource()).then(function(a){d.wasDisposed? +null!==a&&a.dispose():(0===--l&&(d.isReady=!0),a instanceof b.c?(d.addMesh(a),d.objectLayerStateChanged.dispatch()):a instanceof t.d&&(d.addSkeletonSource(a),d.objectLayerStateChanged.dispatch()))})),0===--l&&(d.isReady=!0))}))}},{key:"addMesh",value:function(a){this.meshLayer=new b.a(this.manager.chunkManager,a,this.displayState);this.addRenderLayer(this.meshLayer)}},{key:"addSkeletonSource",value:function(a){this.skeletonLayer=a=new t.c(this.manager.chunkManager,a,this.manager.voxelSize,this.displayState); +this.addRenderLayer(new t.b(a.addRef()));this.addRenderLayer(new t.e(a))}},{key:"toJSON",value:function(){var a=O(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"toJSON",this).call(this);a.type="segmentation";a.mesh=this.meshPath;a.skeletons=this.skeletonsPath;a.selectedAlpha=this.displayState.selectedAlpha.toJSON();a.notSelectedAlpha=this.displayState.notSelectedAlpha.toJSON();a.saturation=this.displayState.saturation.toJSON();a.objectAlpha=this.displayState.objectAlpha.toJSON();a.hideSegmentZero= +this.displayState.hideSegmentZero.toJSON();var b=this.displayState.visibleSegments;0<b.size&&(a.segments=b.toJSON());b=this.displayState.highlightedSegments;0<b.size&&(a.highlights=b.toJSON());b=this.displayState.segmentEquivalences;0<b.size&&(a.equivalences=b.toJSON());b=this.displayState.clipBounds;b.value&&(a.clipBounds={center:Array.from(b.value.center),size:Array.from(b.value.size)});a.skeletonShader=this.displayState.fragmentMain.toJSON();return a}},{key:"transformPickedValue",value:function(a){if(null== +a)return a;var b=this.displayState.segmentEquivalences;if(0===b.size)return a;"number"===typeof a&&(a=new D.a(a,0));b=b.get(a);return D.a.equal(b,a)?a:new g.c(a,b)}},{key:"handleAction",value:function(a){switch(a){case "recolor":this.displayState.segmentColorHash.randomize();break;case "clear-segments":this.displayState.visibleSegments.clear();break;case "select":a=this.displayState.segmentSelectionState;if(a.hasSelectedSegment){a=a.selectedSegment;var b=this.displayState.visibleSegments;b.has(a)? +b.delete(a):b.add(a)}break;case "highlight":a=this.displayState.segmentSelectionState,a.hasSelectedSegment&&(a=a.selectedSegment,b=this.displayState.highlightedSegments,b.has(a)?b.delete(a):b.add(a))}}},{key:"volumeOptions",get:function(){return{volumeType:m.c.SEGMENTATION}}}]);return c}(Object(x.a)(h.i)),P=function(a){function b(a){q(this,b);var c=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.layer=a;c.visibleSegmentWidget=c.registerDisposer(new C.a(c.layer.displayState));c.addSegmentWidget= +c.registerDisposer(new L.a);c.selectedAlphaWidget=c.registerDisposer(new G.a(c.layer.displayState.selectedAlpha));c.notSelectedAlphaWidget=c.registerDisposer(new G.a(c.layer.displayState.notSelectedAlpha));c.saturationWidget=c.registerDisposer(new G.a(c.layer.displayState.saturation));c.objectAlphaWidget=c.registerDisposer(new G.a(c.layer.displayState.objectAlpha));var e=c.element;e.classList.add("segmentation-dropdown");var g=c.notSelectedAlphaWidget,k=c.saturationWidget,l=c.objectAlphaWidget;c.selectedAlphaWidget.promptElement.textContent= +"Opacity (on)";g.promptElement.textContent="Opacity (off)";k.promptElement.textContent="Saturation";l.promptElement.textContent="Opacity (3d)";void 0!==c.layer.volumePath&&(e.appendChild(c.selectedAlphaWidget.element),e.appendChild(c.notSelectedAlphaWidget.element),e.appendChild(c.saturationWidget.element));c.registerDisposer(new v.a(c.registerDisposer(new w.a(function(){return c.layer.meshPath||c.layer.meshLayer||c.layer.skeletonsPath||c.layer.skeletonLayer?!0:!1},c.layer.objectLayerStateChanged)), +c.objectAlphaWidget.element));e.appendChild(c.objectAlphaWidget.element);a=c.registerDisposer(new v.c(a.displayState.hideSegmentZero));a.element.className="neuroglancer-segmentation-dropdown-hide-segment-zero neuroglancer-noselect";g=document.createElement("label");g.className="neuroglancer-segmentation-dropdown-hide-segment-zero neuroglancer-noselect";g.appendChild(document.createTextNode("Hide segment ID 0"));g.appendChild(a.element);e.appendChild(g);c.addSegmentWidget.element.classList.add("add-segment"); +c.addSegmentWidget.element.title="Add one or more segment IDs";e.appendChild(c.registerDisposer(c.addSegmentWidget).element);c.registerDisposer(c.addSegmentWidget.valuesEntered.add(function(a){a=$jscomp.makeIterator(a);for(var b=a.next();!b.done;b=a.next())c.layer.displayState.visibleSegments.add(b.value)}));e.appendChild(c.registerDisposer(c.visibleSegmentWidget).element);a=function(){if(void 0===c.codeWidget&&null!==c.layer.skeletonsPath&&void 0!==c.layer.skeletonLayer){var a=document.createElement("div"); +a.className="neuroglancer-segmentation-dropdown-skeleton-shader-header";var b=document.createElement("div");b.style.flex="1";b.textContent="Skeleton shader:";var g=document.createElement("a"),k=document.createElement("button");k.type="button";k.textContent="?";k.className="help-link";g.appendChild(k);g.title="Documentation on skeleton rendering";g.target="_blank";g.href="https://github.com/google/neuroglancer/blob/master/src/neuroglancer/sliceview/image_layer_rendering.md";k=document.createElement("button"); +k.innerHTML="□";k.className="maximize-button";k.title="Show larger editor view";c.registerEventListener(k,"click",function(){new N(c.layer)});a.appendChild(b);a.appendChild(k);a.appendChild(g);e.appendChild(a);a=c.codeWidget=c.registerDisposer(d(c.layer));e.appendChild(a.element);a.textEditor.refresh()}};c.registerDisposer(c.layer.objectLayerStateChanged.add(a));a();c.visibility.changed.add(function(){c.visible&&void 0!==c.codeWidget&&c.codeWidget.textEditor.refresh()});return c}n(b,a);return b}(F.b), +N=function(a){function b(a){q(this,b);var c=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.layer=a;c.codeWidget=c.registerDisposer(d(c.layer));c.content.classList.add("neuroglancer-segmentation-layer-skeleton-shader-overlay");c.content.appendChild(c.codeWidget.element);c.codeWidget.textEditor.refresh();return c}n(b,a);return b}(c.a);Object(f.e)("segmentation",M);Object(f.f)(m.c.SEGMENTATION,M)},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); +return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}a.d(f,"b",function(){return m});a.d(f, +"a",function(){return y});var d=a(114),b=a(14),c=function A(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return A(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},e=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype, +c);d&&a(b,d);return b}}();f.c=3;var g=0,l=0,k=0,t=0;h=function(){function a(b){b=void 0===b?a.generateHashFunctions(3):b;n(this,a);this.loadFactor=.9;this.size=0;this.growFactor=1.2;this.maxHeight=8192;this.emptyHigh=this.emptyLow=4294967295;this.maxAttempts=this.maxRehashAttempts=5;this.maxWidth=4096/this.entryStride;this.generation=0;this.mungedEmptyKey=-1;this.hashFunctions=b;this.allocate(4,1)}e(a,[{key:"updateHashFunctions",value:function(b){this.hashFunctions=a.generateHashFunctions(b);this.mungedEmptyKey= +-1}},{key:"tableWithMungedEmptyKey",value:function(a){for(var b=this.hashFunctions.length,c=Array(b),d=0;d<b;++d)c[d]=this.getHash(d,this.emptyLow,this.emptyHigh);d=this.mungedEmptyKey;if(-1===d)a:for(;;){d=16777216*Math.random()>>>0;for(var e=0;e<b;++e)for(var g=this.getHash(e,d,d),k=0;k<b;++k)if(c[k]===g)continue a;this.mungedEmptyKey=d;break}e=this.table;g=this.emptyLow;k=this.emptyHigh;for(var l=0;l<b;++l){var m=c[l];e[m]===g&&e[m+1]===k&&(e[m]=d,e[m+1]=d)}try{a(e)}finally{for(a=0;a<b;++a)l=c[a], +e[l]===d&&e[l+1]===d&&(e[l]=g,e[l+1]=k)}}},{key:"getHash",value:function(a,b,c){a=this.hashFunctions[a];var d=this.width,e=this.height;d=a[0].compute(b,c)%d;b=a[1].compute(b,c)%e;return this.entryStride*(b*this.width+d)}},{key:"keys",value:function(a){function c(c,n){for(;;)switch(d){case 0:a=void 0===a?new b.a:a,h=v,u=h.emptyLow,f=h.emptyHigh,t=h.entryStride,r=v,m=r.table,l=0,k=m.length;case 1:if(!(l<k)){d=3;break}g=m[l];e=m[l+1];if(g===u&&e===f){d=4;break}a.low=g;a.high=e;d=5;return{value:a,done:!1}; +case 5:if(void 0===n){d=6;break}d=-1;throw n;case 6:case 4:case 2:l+=t;d=1;break;case 3:d=-1;default:return{value:void 0,done:!0}}}var d=0,e,g,k,l,m,r,t,f,u,h,v=this,n={next:function(a){return c(a,void 0)},throw:function(a){return c(void 0,a)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();n[Symbol.iterator]=function(){return this};return n}},{key:"indexOfPair",value:function(a,b){var c=this.table,d=this.emptyHigh;if(a===this.emptyLow&&b===d)return-1;d=0;for(var e= +this.hashFunctions.length;d<e;++d){var g=this.getHash(d,a,b);if(c[g]===a&&c[g+1]===b)return g}return-1}},{key:"indexOf",value:function(a){return this.indexOfPair(a.low,a.high)}},{key:"chooseAnotherEmptyKey",value:function(){for(var a=this.emptyLow,b=this.emptyHigh,c=this.table,d=this.entryStride,e,g;e=4294967296*Math.random()>>>0,g=4294967296*Math.random()>>>0,e===a&&g===b||this.hasPair(e,g););this.emptyLow=e;this.emptyHigh=g;for(var k=0,l=c.length;k<l;k+=d)c[k]===a&&c[k+1]===b&&(c[k]=e,c[k+1]=g)}}, +{key:"has",value:function(a){return-1!==this.indexOf(a)}},{key:"hasPair",value:function(a,b){return-1!==this.indexOfPair(a,b)}},{key:"delete",value:function(a){a=this.indexOf(a);if(-1!==a){var b=this.table;b[a]=this.emptyLow;b[a+1]=this.emptyHigh;++this.generation;this.size--;return!0}return!1}},{key:"clearTable",value:function(){for(var a=this.table,b=this.entryStride,c=this.emptyLow,d=this.emptyHigh,e=a.length,g=0;g<e;g+=b)a[g]=c,a[g+1]=d}},{key:"clear",value:function(){if(0===this.size)return!1; +this.size=0;++this.generation;this.clearTable();return!0}},{key:"swapPending",value:function(a,b){var c=g,d=l;this.storePending(a,b);a[b]=c;a[b+1]=d}},{key:"storePending",value:function(a,b){g=a[b];l=a[b+1]}},{key:"backupPending",value:function(){k=g;t=l}},{key:"restorePending",value:function(){g=k;l=t}},{key:"tryToInsert",value:function(){for(var a=0,b=this.emptyLow,c=this.emptyHigh,d=this.maxAttempts,e=this.table,k=this.hashFunctions.length,m=Math.floor(Math.random()*k);;){var r=this.getHash(m, +g,l);this.swapPending(e,r);if(g===b&&l===c)return!0;if(++a===d)break;m=(m+Math.floor(Math.random()*(k-1))+1)%k}return!1}},{key:"allocate",value:function(a,b){var c=a*b;this.width=a;this.height=b;this.table=new Uint32Array(c*this.entryStride);this.maxAttempts=c;this.clearTable();this.capacity=c*this.loadFactor;this.mungedEmptyKey=-1}},{key:"rehash",value:function(a,b,c){this.allocate(b,c);this.updateHashFunctions(this.hashFunctions.length);b=this.emptyLow;c=this.emptyHigh;for(var d=this.entryStride, +e=0,g=a.length;e<g;e+=d){var k=a[e+1];if(a[e]!==b||k!==c)if(this.storePending(a,e),!this.tryToInsert())return!1}return!0}},{key:"grow",value:function(a){for(var b=this.table,c=this.width,d=this.height,e=this.maxWidth,g=this.maxHeight;;){var k=c*d;c=Math.min(e,Math.ceil(a/this.height));c*d<a&&(d=Math.min(g,Math.ceil(a/c)));var l=c*d;if(l<a&&l===k)throw Error("Maximum table size exceeded");for(k=0;k<this.maxRehashAttempts;++k)if(this.rehash(b,c,d))return;a=Math.ceil(this.growFactor*a)}}},{key:"insertInternal", +value:function(){++this.generation;g===this.emptyLow&&l===this.emptyHigh&&this.chooseAnotherEmptyKey();++this.size>this.capacity&&(this.backupPending(),this.grow(Math.ceil(this.growFactor*this.width*this.height)),this.restorePending());for(;!this.tryToInsert();)this.backupPending(),this.grow(this.width*this.height),this.restorePending()}}],[{key:"generateHashFunctions",value:function(a){a=void 0===a?3:a;for(var b=[],c=0;c<a;++c){var e=[d.a.generate(),d.a.generate()];b.push(e)}return b}}]);return a}(); +var m=function(a){function b(){n(this,b);return q(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}p(b,a);$jscomp.initSymbol();$jscomp.initSymbolIterator();e(b,[{key:"add",value:function(a){var b=a.low;a=a.high;if(this.hasPair(b,a))return!1;g=b;l=a;this.insertInternal();return!0}},{key:Symbol.iterator,value:function(){return this.keys()}}]);return b}(h);m.prototype.entryStride=2;var r=0,u=0,v=0,w=0,y=function(a){function d(){n(this,d);return q(this,(d.__proto__||Object.getPrototypeOf(d)).apply(this, +arguments))}p(d,a);$jscomp.initSymbol();$jscomp.initSymbolIterator();e(d,[{key:"set",value:function(a,b){var c=a.low;a=a.high;if(this.hasPair(c,a))return!1;g=c;l=a;r=b.low;u=b.high;this.insertInternal();return!0}},{key:"get",value:function(a,b){a=this.indexOf(a);if(-1===a)return!1;var c=this.table;b.low=c[a+2];b.high=c[a+3];return!0}},{key:"swapPending",value:function(a,b){var e=r,g=u;c(d.prototype.__proto__||Object.getPrototypeOf(d.prototype),"swapPending",this).call(this,a,b);a[b+2]=e;a[b+3]=g}}, +{key:"storePending",value:function(a,b){c(d.prototype.__proto__||Object.getPrototypeOf(d.prototype),"storePending",this).call(this,a,b);r=a[b+2];u=a[b+3]}},{key:"backupPending",value:function(){c(d.prototype.__proto__||Object.getPrototypeOf(d.prototype),"backupPending",this).call(this);v=r;w=u}},{key:"restorePending",value:function(){c(d.prototype.__proto__||Object.getPrototypeOf(d.prototype),"restorePending",this).call(this);r=v;u=w}},{key:Symbol.iterator,value:function(){return this.entries()}}, +{key:"entries",value:function(a){function c(c,q){for(;;)switch(d){case 0:a=void 0===a?[new b.a,new b.a]:a,w=p,n=w.emptyLow,v=w.emptyHigh,h=w.entryStride,u=p,f=u.table,t=$jscomp.makeIterator(a),r=t.next().value,m=t.next().value,l=0,k=f.length;case 1:if(!(l<k)){d=3;break}g=f[l];e=f[l+1];if(g===n&&e===v){d=4;break}r.low=g;r.high=e;m.low=f[l+2];m.high=f[l+3];d=5;return{value:a,done:!1};case 5:if(void 0===q){d=6;break}d=-1;throw q;case 6:case 4:case 2:l+=h;d=1;break;case 3:d=-1;default:return{value:void 0, +done:!0}}}var d=0,e,g,k,l,m,r,t,f,u,h,v,n,w,p=this,q={next:function(a){return c(a,void 0)},throw:function(a){return c(void 0,a)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();q[Symbol.iterator]=function(){return this};return q}}]);return d}(h);y.prototype.entryStride=4},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); +return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function d(a){var b=k.get(a),c=a.changed.count;if(void 0!==b&&b.generation===c)return b;if(a instanceof l){var e=a.baseJSON();for(var g= +$jscomp.makeIterator(a.children),t=g.next();!t.done;t=g.next()){var f=$jscomp.makeIterator(t.value);t=f.next().value;f=f.next().value;e[t]=d(f).value}}else e=a.toJSON();void 0===b?(b={generation:c,value:e},k.set(a,b)):(b.generation=c,b.value=e);return b}a.d(f,"a",function(){return l});f.b=d;h=a(1);var b=a(4),c=a(7),e=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b, +c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),g=function m(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return m(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},l=function(a){function d(){q(this,d);var a=p(this,(d.__proto__||Object.getPrototypeOf(d)).apply(this,arguments));a.children=new Map;a.changed=new c.a;return a}n(d,a);e(d,[{key:"add",value:function(a,b){var c= +this;if(this.children.has(a))throw Error("Key "+JSON.stringify(a)+" already registered.");this.children.set(a,b);b.changed.add(this.changed.dispatch);this.changed.dispatch();return function(){c.remove(a)}}},{key:"remove",value:function(a){var b=this.children;if(b.has(a))throw Error("Key "+JSON.stringify(a)+" not registered.");b=b.get(a);this.children.delete(a);b.changed.remove(this.changed.dispatch);this.changed.dispatch()}},{key:"disposed",value:function(){for(var a=this.changed,b=$jscomp.makeIterator(this.children.values()), +c=b.next();!c.done;c=b.next())c.value.changed.remove(a.dispatch);this.children=void 0;g(d.prototype.__proto__||Object.getPrototypeOf(d.prototype),"disposed",this).call(this)}},{key:"toJSON",value:function(){for(var a=this.baseJSON(),b=$jscomp.makeIterator(this.children),c=b.next();!c.done;c=b.next()){var d=$jscomp.makeIterator(c.value);c=d.next().value;d=d.next().value;a[c]=d.toJSON()}return a}},{key:"baseJSON",value:function(){return{}}},{key:"reset",value:function(){for(var a=$jscomp.makeIterator(this.children.values()), +b=a.next();!b.done;b=a.next())b.value.reset()}},{key:"restoreState",value:function(a){Object(b.t)(a);for(var c=$jscomp.makeIterator(this.children),d=c.next();!d.done;d=c.next()){var e=$jscomp.makeIterator(d.value);d=e.next().value;e=e.next().value;try{if(a.hasOwnProperty(d)){var g=a[d];void 0!==g&&e.restoreState(g)}}catch(A){throw Error("Error restoring property "+JSON.stringify(d)+": "+A.message);}}}}]);return d}(h.a);(function(a){function c(){q(this,c);var a=p(this,(c.__proto__||Object.getPrototypeOf(c)).apply(this, +arguments));a.lastState={};return a}n(c,a);e(c,[{key:"restoreState",value:function(a){Object(b.t)(a);this.lastState=a;g(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"restoreState",this).call(this,a)}},{key:"reset",value:function(){this.lastState={};g(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"reset",this).call(this)}},{key:"baseJSON",value:function(){for(var a=Object.assign(g(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"baseJSON",this).call(this),this.lastState), +b=$jscomp.makeIterator(this.children.keys()),d=b.next();!d.done;d=b.next())delete a[d.value];return a}},{key:"toJSON",value:function(){var a=g(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"toJSON",this).call(this);return this.lastState=a}},{key:"add",value:function(a,b){var d=g(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"add",this).call(this,a,b);a=this.lastState[a];void 0!==a&&(b.reset(),b.restoreState(a));return d}}]);return c})(l);var k=new WeakMap},function(h,f,a){function q(a){var f= +a.Symbol;if("function"===typeof f)return f.iterator||(f.iterator=f("iterator polyfill")),f.iterator;if((f=a.Set)&&"function"===typeof(new f)["@@iterator"])return"@@iterator";if(a=a.Map){f=Object.getOwnPropertyNames(a.prototype);for(var d=0;d<f.length;++d){var b=f[d];if("entries"!==b&&"size"!==b&&a.prototype[b]===a.prototype.entries)return b}}return"@@iterator"}h=a(16);f.symbolIteratorPonyfill=q;f.iterator=q(h.root);f.$$iterator=f.iterator},function(h,f,a){var q=a(0);h=function(){function a(a,d,b){this.kind= +a;this.value=d;this.error=b;this.hasValue="N"===a}a.prototype.observe=function(a){switch(this.kind){case "N":return a.next&&a.next(this.value);case "E":return a.error&&a.error(this.error);case "C":return a.complete&&a.complete()}};a.prototype.do=function(a,d,b){switch(this.kind){case "N":return a&&a(this.value);case "E":return d&&d(this.error);case "C":return b&&b()}};a.prototype.accept=function(a,d,b){return a&&"function"===typeof a.next?this.observe(a):this.do(a,d,b)};a.prototype.toObservable=function(){switch(this.kind){case "N":return q.Observable.of(this.value); +case "E":return q.Observable.throw(this.error);case "C":return q.Observable.empty()}throw Error("unexpected notification kind value");};a.createNext=function(f){return"undefined"!==typeof f?new a("N",f):a.undefinedValueNotification};a.createError=function(f){return new a("E",void 0,f)};a.createComplete=function(){return a.completeNotification};a.completeNotification=new a("C");a.undefinedValueNotification=new a("N",void 0);return a}();f.Notification=h},function(h,f,a){var q=this&&this.__extends|| +function(a,d){function b(){this.constructor=a}for(var c in d)d.hasOwnProperty(c)&&(a[c]=d[c]);a.prototype=null===d?Object.create(d):(b.prototype=d.prototype,new b)},p=a(16);h=function(a){function d(b,c){a.call(this,b,c);this.scheduler=b;this.work=c;this.pending=!1}q(d,a);d.prototype.schedule=function(a,c){void 0===c&&(c=0);if(this.closed)return this;this.state=a;this.pending=!0;a=this.id;var b=this.scheduler;null!=a&&(this.id=this.recycleAsyncId(b,a,c));this.delay=c;this.id=this.id||this.requestAsyncId(b, +this.id,c);return this};d.prototype.requestAsyncId=function(a,c,d){void 0===d&&(d=0);return p.root.setInterval(a.flush.bind(a,this),d)};d.prototype.recycleAsyncId=function(a,c,d){void 0===d&&(d=0);return null!==d&&this.delay===d&&!1===this.pending?c:(p.root.clearInterval(c),void 0)};d.prototype.execute=function(a,c){if(this.closed)return Error("executing a cancelled action");this.pending=!1;if(a=this._execute(a,c))return a;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler, +this.id,null))};d.prototype._execute=function(a,c){c=!1;var b=void 0;try{this.work(a)}catch(g){c=!0,b=!!g&&g||Error(g)}if(c)return this.unsubscribe(),b};d.prototype._unsubscribe=function(){var a=this.id,c=this.scheduler,d=c.actions,g=d.indexOf(this);this.state=this.work=null;this.pending=!1;this.scheduler=null;-1!==g&&d.splice(g,1);null!=a&&(this.id=this.recycleAsyncId(c,a,null));this.delay=null};return d}(a(406).Action);f.AsyncAction=h},function(h,f,a){var q=this&&this.__extends||function(a,f){function d(){this.constructor= +a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(d.prototype=f.prototype,new d)};h=function(a){function f(){a.apply(this,arguments);this.actions=[];this.active=!1;this.scheduled=void 0}q(f,a);f.prototype.flush=function(a){var b=this.actions;if(this.active)b.push(a);else{var c;this.active=!0;do if(c=a.execute(a.state,a.delay))break;while(a=b.shift());this.active=!1;if(c){for(;a=b.shift();)a.unsubscribe();throw c;}}};return f}(a(407).Scheduler);f.AsyncScheduler= +h},function(h,f,a){var q=this&&this.__extends||function(a,f){function d(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(d.prototype=f.prototype,new d)};h=function(a){function f(){var d=a.call(this,"argument out of range");this.name=d.name="ArgumentOutOfRangeError";this.stack=d.stack;this.message=d.message}q(f,a);return f}(Error);f.ArgumentOutOfRangeError=h},function(h,f,a){var q=a(234);a.d(f,"b",function(){return q.a});var p=a(97);a.d(f, +"c",function(){return p.b});var n=a(248);a.d(f,"a",function(){return n.a});a.d(f,"d",function(){return n.b});a.d(f,"e",function(){return n.c})},function(h,f){f=function(){return this}();try{f=f||Function("return this")()||(0,eval)("this")}catch(a){"object"===typeof window&&(f=window)}h.exports=f},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a, +enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return b});var p=a(9);h=a(15);var n=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),d=function g(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a, +b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return g(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};f=this&&this.__decorate||function(a,b,c,d){var g=arguments.length,k=3>g?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d,l;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)k=Reflect.decorate(a,b,c,d);else for(var t=a.length-1;0<=t;t--)if(l=a[t])k=(3>g?l(k):3<g?l(b,c,k):l(b,c))||k;return 3<g&&k&&Object.defineProperty(b,c,k),k}; +var b=c=function(a){function b(a,c){c=void 0===c?{}:c;if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var d=(b.__proto__||Object.getPrototypeOf(b)).call(this,a,c);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");d=!d||"object"!==typeof d&&"function"!==typeof d?this:d;d.updatingValue_=!1;void 0!==a&&(d.base=new p.f(c.value),d.setupChangedHandler());return d}q(b,a);n(b,[{key:"initializeCounterpart",value:function(a,c){c= +void 0===c?{}:c;c.value=this.value;d(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"initializeCounterpart",this).call(this,a,c)}},{key:"setupChangedHandler",value:function(){var a=this;this.registerDisposer(this.base.changed.add(function(){if(a.updatingValue_)a.updatingValue_=!1;else{var b=a.rpc;null!==b&&b.invoke("SharedWatchableValue.changed",{id:a.rpcId,value:a.value})}}))}},{key:"value",get:function(){return this.base.value},set:function(a){this.base.value=a}},{key:"changed",get:function(){return this.base.changed}}], +[{key:"makeFromExisting",value:function(a,b){var d=new c;d.base=b;d.setupChangedHandler();d.initializeCounterpart(a);return d}},{key:"make",value:function(a,b){return c.makeFromExisting(a,new p.f(b))}}]);return b}(h.c);b=c=f([Object(h.f)("SharedWatchableValue")],b);Object(h.e)("SharedWatchableValue.changed",function(a){var b=this.get(a.id);b.updatingValue_=!0;b.base.value=a.value;b.updatingValue_=!1});var c},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); +return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return g});var n=a(58);h=a(18);var d=a(39),b=a(2),c=a(15),e=function(){function a(a,b){for(var c=0;c<b.length;c++){var d= +b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),g=function(a){function g(a,e,k){k=void 0===k?{}:k;if(!(this instanceof g))throw new TypeError("Cannot call a class as a function");var l=q(this,(g.__proto__||Object.getPrototypeOf(g)).call(this));l.chunkManager=a;l.sources=e;l.rpcId=null;l.transformedSourcesGeneration=-1;a=k;var m=void 0===a.transform?new n.a:a.transform; +l.transform=m;a=Object(d.m)(l)[0][0];k=a.source.spec;a=l.voxelSize=a.chunkLayout.localSpatialVectorToGlobal(b.s.create(),k.voxelSize);for(k=0;3>k;++k)a[k]=Math.abs(a[k]);a=l.registerDisposer(new c.b);var r=l.chunkManager.rpc;a.RPC_TYPE_ID=d.d;e=e.map(function(a){return a.map(function(a){return a.rpcId})});a.initializeCounterpart(r,{sources:e,transform:m.transform});l.rpcId=a.rpcId;l.registerDisposer(m.changed.add(function(){r.invoke(d.e,{id:l.rpcId,value:m.transform})}));l.setReady(!0);return l}p(g, +a);e(g,[{key:"setGLBlendMode",value:function(a,b){0<b&&(a.enable(a.BLEND),a.blendFunc(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA))}},{key:"gl",get:function(){return this.chunkManager.chunkQueueManager.gl}}]);return g}(h.f)},function(h,f,a){function q(a){a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,a.NEAREST);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,a.NEAREST);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_S,a.CLAMP_TO_EDGE);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_T,a.CLAMP_TO_EDGE)}f.b=q;f.a= +function(a,f,d,b,c,e,g){c=void 0===c?a.RGBA8:c;e=void 0===e?a.RGBA:e;g=void 0===g?a.UNSIGNED_BYTE:g;a.activeTexture(a.TEXTURE0+a.tempTextureUnit);a.bindTexture(a.TEXTURE_2D,f);q(a);a.texImage2D(a.TEXTURE_2D,0,c,d,b,0,e,g,null);a.bindTexture(a.TEXTURE_2D,null)};f.c=function(a,f,d){a.activeTexture(a.TEXTURE0+a.tempTextureUnit);a.bindTexture(a.TEXTURE_2D,f);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,a.LINEAR);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,a.LINEAR);a.texParameteri(a.TEXTURE_2D, +a.TEXTURE_WRAP_S,a.CLAMP_TO_EDGE);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_T,a.CLAMP_TO_EDGE);a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,!0);a.pixelStorei(a.UNPACK_ALIGNMENT,4);a.texImage2D(a.TEXTURE_2D,0,a.RGBA8,a.RGBA,a.UNSIGNED_BYTE,d);a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,!1);a.bindTexture(a.TEXTURE_2D,null)}},function(h,f,a){f.b=function(a,f){return a.low+","+a.high+(f?"_"+f.center.toString()+"_"+f.size.toString():"")};f.a=function(a,f){var h=a.segmentEquivalences;a=$jscomp.makeIterator(a.visibleSegments); +for(var d=a.next();!d.done;d=a.next())if(d=d.value,h.disjointSets.isMinElement(d))for(var b=$jscomp.makeIterator(h.setElements(d)),c=b.next();!c.done;c=b.next())f(c.value,d)}},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype= +Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}a.d(f,"a",function(){return k});h=a(10);var d=a.n(h);h=a(1);var b=a(256),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a, +d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),e=function m(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return m(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},g=new function r(){n(this,r);b.a.initializeHead(this)},l=d()(function(){var a=document.activeElement;if(null===a||a===document.body)a=b.a.front(g),null!==a&&a.element.focus()});window.addEventListener("focus", +function(){l()},!0);window.addEventListener("blur",function(){l()},!0);var k=function(a){function k(a){n(this,k);var c=q(this,(k.__proto__||Object.getPrototypeOf(k)).call(this));c.element=a;c.prev0=null;c.next0=null;c.lastFocusedElement=null;c.scheduleUpdateFocus=c.registerCancellable(d()(function(){var a=document.activeElement,b=c.element;b.contains(a)||((a===c.lastFocusedElement||a.contains(b))&&c.element.focus(),c.lastFocusedElement=null)},0));a.tabIndex=-1;c.registerEventListener(a,"mouseenter", +function(){c.lastFocusedElement=document.activeElement;c.scheduleUpdateFocus()});c.registerEventListener(a,"mouseleave",function(){c.scheduleUpdateFocus.cancel()});b.a.insertBefore(g,c);c.registerEventListener(a,"focus",function(){b.a.pop(c);b.a.insertAfter(g,c)});l();return c}p(k,a);c(k,[{key:"disposed",value:function(){b.a.pop(this);e(k.prototype.__proto__||Object.getPrototypeOf(k.prototype),"disposed",this).call(this)}}]);return k}(h.a)},function(h,f,a){f.a=function(a,f){var h=a.view.document, +d=a.screenX,b=a.screenY,c=function(a){var c=d-a.screenX,e=b-a.screenY;d=a.screenX;b=a.screenY;f(a,c,e)},e=a.button,g=function(a){a.button===e&&(h.removeEventListener("mousemove",c,!0),h.removeEventListener("mouseup",g,!1))};h.addEventListener("mousemove",c,!0);h.addEventListener("mouseup",g,!1)}},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!== +typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return c});h=a(1);var n=a(8),d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a, +d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),b=function g(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return g(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(287);var c=function(a){function c(a,b){var d=void 0===b?{}:b;b=void 0===d.min?0:d.min;var g=void 0===d.max?1:d.max;d=void 0===d.step?.01:d.step;if(!(this instanceof c))throw new TypeError("Cannot call a class as a function"); +var k=q(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));k.value=a;k.element=document.createElement("label");k.promptElement=document.createElement("span");k.inputElement=document.createElement("input");var l=k.element,f=k.promptElement,t=k.inputElement;l.className="range-slider";f.className="range-prompt";t.type="range";t.min=""+b;t.max=""+g;t.step=""+d;t.valueAsNumber=k.value.value;l.appendChild(f);l.appendChild(t);var h=function(){k.value.value=k.inputElement.valueAsNumber};k.registerEventListener(t, +"change",h);k.registerEventListener(t,"input",h);k.registerEventListener(t,"wheel",function(a){a=a.deltaY;0<a?(k.inputElement.stepUp(),h()):0>a&&(k.inputElement.stepDown(),h())});a.changed.add(function(){k.inputElement.valueAsNumber=k.value.value});return k}p(c,a);d(c,[{key:"disposed",value:function(){Object(n.b)(this.element);b(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"disposed",this).call(this)}}]);return c}(h.a)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function"); +}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function d(a){a.addOutputBuffer("vec4", +"v4f_fragData"+C.COLOR,C.COLOR);a.addOutputBuffer("vec4","v4f_fragData"+C.Z,C.Z);a.addOutputBuffer("vec4","v4f_fragData"+C.PICK,C.PICK);a.addFragmentCode(B)}function b(a){a.addOutputBuffer("vec4","v4f_fragData0",0);a.addOutputBuffer("vec4","v4f_fragData1",1);a.addFragmentCode(F)}function c(a){a.addOutputBuffer("vec4","v4f_fragColor",null);a.setFragmentMain("\nvec4 v0 = getValue0();\nvec4 v1 = getValue1();\nvec4 accum = vec4(v0.rgb, v1.r);\nfloat revealage = v0.a;\n\nv4f_fragColor = vec4(accum.rgb / accum.a, revealage);\n")} +a.d(f,"a",function(){return C});f.c=d;f.d=b;a.d(f,"b",function(){return N});var e=a(144),g=a(18),l=a(145),k=a(310),t=a(59);h=a(146);var m=a(44),r=a(35),u=a(22),v=a(2),w=a(80),y=a(179);f=a(29);var x=a(99),A=a(21),z=a(53),D=a(15),E=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),G=function U(a,b,c){null===a&& +(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return U(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(45);a(311);var C;(function(a){a[a.COLOR=0]="COLOR";a[a.Z=1]="Z";a[a.PICK=2]="PICK";a[a.NUM_TEXTURES=3]="NUM_TEXTURES"})(C||(C={}));var B=[A.k,"\nvoid emit(vec4 color, vec4 pickId) {\n v4f_fragData"+C.COLOR+" = color;\n v4f_fragData"+C.Z+" = packFloat01ToFixedPoint(1.0 - gl_FragCoord.z);\n v4f_fragData"+ +C.PICK+" = pickId;\n}\n"],F=["\nfloat computeOITWeight(float alpha) {\n float a = min(1.0, alpha) * 8.0 + 0.01;\n float b = -gl_FragCoord.z * 0.95 + 1.0;\n return a * a * a * b * b * b;\n}\n","\nvoid emit(vec4 color, vec4 pickId) {\n float weight = computeOITWeight(color.a);\n vec4 accum = color * weight;\n v4f_fragData0 = vec4(accum.rgb, color.a);\n v4f_fragData1 = vec4(accum.a, 0.0, 0.0, 0.0);\n}\n"],L=v.s.create(),J=v.s.create(),O=v.u.create(),M=v.k.create(),P=function(a){function b(){q(this, +b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);return b}(Object(f.c)(D.b)),N=function(a){function f(a,b,h){q(this,f);var n=p(this,(f.__proto__||Object.getPrototypeOf(f)).call(this,a,b,h));n.sliceViews=function(){var a=new Map;return n.registerDisposer(new y.a(function(b,c){b=c.visibility.add(n.visibility);a.set(c,b);n.scheduleRedraw()},function(b,c){b=a.get(c);a.delete(c);b();c.dispose();n.scheduleRedraw()}))}();n.projectionMat=v.k.create();n.inverseProjectionMat= +v.k.create();n.modelViewMat=v.k.create();n.width=0;n.height=0;n.pickIDs=new l.a;n.axesLineHelper=n.registerDisposer(e.a.get(n.gl));n.sliceViewRenderHelper=n.registerDisposer(m.d.get(n.gl,d));n.offscreenFramebuffer=n.registerDisposer(new x.b(n.gl,{colorBuffers:Object(x.e)(n.gl,C.NUM_TEXTURES),depthBuffer:new x.a(n.gl)}));n.offscreenCopyHelper=n.registerDisposer(x.c.get(n.gl));n.transparencyCopyHelper=n.registerDisposer(x.c.get(n.gl,c,2));n.scaleBarCopyHelper=n.registerDisposer(x.c.get(n.gl));n.scaleBarTexture= +n.registerDisposer(new z.b(n.gl));n.nanometersPerPixel=1;n.registerDisposer(n.navigationState.changed.add(function(){n.viewportChanged()}));a=n.sharedObject=n.registerDisposer(new P);a.RPC_TYPE_ID=k.c;a.initializeCounterpart(h.rpc,{});a.visibility.add(n.visibility);n.visibleLayerTracker=Object(g.l)(n.viewer.layerManager,t.a,n.viewer.visibleLayerRoles,n,function(a){var b=a.backend;if(b)return b.rpc.invoke(k.a,{layer:b.rpcId,view:n.sharedObject.rpcId}),function(){b.rpc.invoke(k.b,{layer:b.rpcId,view:n.sharedObject.rpcId})}}); +Object(u.c)(b,"translate-via-mouse-drag",function(a){Object(w.a)(a.detail,function(a,b,c){a=n.width;var d=n.height,e=n.viewer.navigationState.position,g=e.spatialCoordinates;v.s.transformMat4(L,g,n.projectionMat);L[0]=2*b/a;L[1]=-2*c/d;v.s.transformMat4(g,L,n.inverseProjectionMat);e.changed.dispatch()})});Object(u.c)(b,"rotate-via-mouse-drag",function(a){Object(w.a)(a.detail,function(a,b,c){n.navigationState.pose.rotateRelative(v.e[1],-b/4*Math.PI/180);n.navigationState.pose.rotateRelative(v.e[0], +c/4*Math.PI/180);n.viewer.navigationState.changed.dispatch()})});h.showSliceViewsCheckbox&&(b=n.registerDisposer(new r.c(h.showSliceViews)),b.element.className="perspective-panel-show-slice-views neuroglancer-noselect",a=document.createElement("label"),a.className="perspective-panel-show-slice-views neuroglancer-noselect",a.appendChild(document.createTextNode("Slices")),a.appendChild(b.element),n.element.appendChild(a));n.registerDisposer(h.orthographicProjection.changed.add(function(){return n.scheduleRedraw()})); +n.registerDisposer(h.showScaleBar.changed.add(function(){return n.scheduleRedraw()}));n.registerDisposer(h.scaleBarOptions.changed.add(function(){return n.scheduleRedraw()}));n.registerDisposer(h.showSliceViews.changed.add(function(){return n.scheduleRedraw()}));n.registerDisposer(h.showAxisLines.changed.add(function(){return n.scheduleRedraw()}));n.registerDisposer(h.crossSectionBackgroundColor.changed.add(function(){return n.scheduleRedraw()}));return n}n(f,a);E(f,[{key:"isReady",value:function(){if(!this.visible)return!1; +for(var a=$jscomp.makeIterator(this.sliceViews),b=a.next();!b.done;b=a.next()){b=$jscomp.makeIterator(b.value);var c=b.next().value;if((b.next().value||this.viewer.showSliceViews.value)&&!c.isReady())return!1}a=this.visibleLayerTracker.getVisibleLayers();a=$jscomp.makeIterator(a);for(b=a.next();!b.done;b=a.next())if(!b.value.isReady())return!1;return!0}},{key:"updateProjectionMatrix",value:function(){var a=this.projectionMat,b=this.width/this.height,c=Math.PI/4;this.viewer.orthographicProjection.value? +(c=100/(1/Math.tan(c/2)),v.k.ortho(a,-b*c,b*c,-c,c,10,5E3),this.nanometersPerPixel=1/(2*a[0])*this.navigationState.zoomFactor.value,this.nanometersPerPixel=2*b*c/this.width*this.navigationState.zoomFactor.value):v.k.perspective(a,c,b,10,5E3);b=this.modelViewMat;this.navigationState.toMat4(b);v.s.set(L,1,-1,-1);v.k.scale(b,b,L);c=v.s.set(L,0,0,100);v.k.translate(b,b,c);v.k.invert(M,b);v.k.multiply(a,a,M);v.k.invert(this.inverseProjectionMat,a)}},{key:"viewportChanged",value:function(){this.context.scheduleRedraw()}}, +{key:"onResize",value:function(){var a=this.element,b=a.clientHeight;if(a.clientWidth!==this.width||b!==this.height)this.width=this.element.clientWidth,this.height=this.element.clientHeight,this.viewportChanged()}},{key:"disposed",value:function(){for(var a=$jscomp.makeIterator(this.sliceViews.keys()),b=a.next();!b.done;b=a.next())b.value.dispose();this.sliceViews.clear();G(f.prototype.__proto__||Object.getPrototypeOf(f.prototype),"disposed",this).call(this)}},{key:"updateMouseState",value:function(a){a.pickedRenderLayer= +null;if(!this.navigationState.valid)return!1;var b=a.position,c=this.offscreenFramebuffer,d=this.width,e=this.height;if(!c.hasSize(d,e))return!1;var g=this.mouseX,k=e-this.mouseY,l=c.readPixel(C.Z,g,k);l=1-Object(A.s)(l);if(1===l)return!1;b[0]=2*g/d-1;b[1]=2*k/e-1;b[2]=2*l-1;v.s.transformMat4(b,b,this.inverseProjectionMat);this.pickIDs.setMouseState(a,c.readPixelAsUint32(C.PICK,g,k));return!0}},{key:"draw",value:function(){if(this.navigationState.valid){this.onResize();var a=this.width,c=this.height; +if(0!==a&&0!==c){for(var e=this.viewer.showSliceViews.value,g=$jscomp.makeIterator(this.sliceViews),k=g.next();!k.done;k=g.next()){k=$jscomp.makeIterator(k.value);var l=k.next().value;(k.next().value||e)&&l.updateRendering()}e=this.gl;this.offscreenFramebuffer.bind(a,c);e.disable(e.SCISSOR_TEST);this.gl.clearColor(0,0,0,0);e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT);e.enable(e.DEPTH_TEST);g=this.projectionMat;this.updateProjectionMatrix();k=v.s.create();Object(v.p)(k,v.e[2],this.modelViewMat); +v.s.normalize(k,k);l=this.pickIDs;l.clear();g={dataToDevice:g,lightDirection:k,ambientLighting:.2,directionalLighting:.8,pickIDs:l,emitter:d,emitColor:!0,emitPickID:!0,alreadyEmittedPickID:!1,viewportWidth:a,viewportHeight:c};k=this.visibleLayerTracker.getVisibleLayers();var m=!1,r=!1,f=$jscomp.makeIterator(k);for(l=f.next();!l.done;l=f.next())l=l.value,l.isTransparent?m=!0:l.isAnnotation?r=!0:l.draw(g);this.drawSliceViews(g);if(r){e.enable(WebGL2RenderingContext.BLEND);e.depthFunc(WebGL2RenderingContext.LEQUAL); +e.blendFunc(WebGL2RenderingContext.SRC_ALPHA,WebGL2RenderingContext.ONE_MINUS_SRC_ALPHA);e.drawBuffers([e.COLOR_ATTACHMENT0,e.NONE,e.NONE]);g.emitPickID=!1;r=$jscomp.makeIterator(k);for(l=r.next();!l.done;l=r.next())l=l.value,l.isAnnotation&&l.draw(g);e.depthFunc(WebGL2RenderingContext.LESS);e.disable(WebGL2RenderingContext.BLEND);e.drawBuffers([e.COLOR_ATTACHMENT0,e.COLOR_ATTACHMENT1,e.COLOR_ATTACHMENT2]);g.emitPickID=!0}this.viewer.showAxisLines.value&&this.drawAxisLines();if(m){e.depthMask(!1); +e.enable(WebGL2RenderingContext.BLEND);m=this.transparentConfiguration;m.bind(a,c);this.gl.clearColor(0,0,0,1);e.clear(WebGL2RenderingContext.COLOR_BUFFER_BIT);g.emitter=b;e.blendFuncSeparate(WebGL2RenderingContext.ONE,WebGL2RenderingContext.ONE,WebGL2RenderingContext.ZERO,WebGL2RenderingContext.ONE_MINUS_SRC_ALPHA);g.emitPickID=!1;r=$jscomp.makeIterator(k);for(l=r.next();!l.done;l=r.next())l=l.value,l.isTransparent&&l.draw(g);e.disable(WebGL2RenderingContext.DEPTH_TEST);this.offscreenFramebuffer.bindSingle(C.COLOR); +e.blendFunc(WebGL2RenderingContext.ONE_MINUS_SRC_ALPHA,WebGL2RenderingContext.SRC_ALPHA);this.transparencyCopyHelper.draw(m.colorBuffers[0].texture,m.colorBuffers[1].texture);e.depthMask(!0);e.disable(WebGL2RenderingContext.BLEND);e.enable(WebGL2RenderingContext.DEPTH_TEST);this.offscreenFramebuffer.bind(a,c)}e.drawBuffers([e.NONE,e.COLOR_ATTACHMENT1,e.COLOR_ATTACHMENT2]);g.emitter=d;g.emitPickID=!0;g.emitColor=!1;e.enable(WebGL2RenderingContext.POLYGON_OFFSET_FILL);e.polygonOffset(-1,-1);c=$jscomp.makeIterator(k); +for(l=c.next();!l.done;l=c.next())k=l.value,g.alreadyEmittedPickID=!k.isTransparent&&!k.isAnnotation,k.draw(g);e.disable(WebGL2RenderingContext.POLYGON_OFFSET_FILL);this.viewer.showScaleBar.value&&this.viewer.orthographicProjection.value&&(e.drawBuffers([e.COLOR_ATTACHMENT0]),e.disable(WebGL2RenderingContext.DEPTH_TEST),e.enable(WebGL2RenderingContext.BLEND),e.blendFunc(WebGL2RenderingContext.SRC_ALPHA,WebGL2RenderingContext.ONE_MINUS_SRC_ALPHA),c=this.scaleBarTexture,g=this.viewer.scaleBarOptions.value, +k=c.dimensions,k.targetLengthInPixels=Math.min(g.maxWidthFraction*a,g.maxWidthInPixels*g.scaleFactor),k.nanometersPerPixel=this.nanometersPerPixel,c.update(g),e.viewport(g.leftPixelOffset*g.scaleFactor,g.bottomPixelOffset*g.scaleFactor,c.width,c.height),this.scaleBarCopyHelper.draw(c.texture),e.disable(WebGL2RenderingContext.BLEND));this.offscreenFramebuffer.unbind();this.setGLViewport();this.offscreenCopyHelper.draw(this.offscreenFramebuffer.colorBuffers[C.COLOR].texture)}}}},{key:"drawSliceViews", +value:function(a){var b=this.sliceViewRenderHelper,c=a.lightDirection,d=a.ambientLighting,e=a.directionalLighting;a=a.dataToDevice;for(var g=this.viewer.showSliceViews.value,k=$jscomp.makeIterator(this.sliceViews),l=k.next();!l.done;l=k.next()){var m=$jscomp.makeIterator(l.value);l=m.next().value;if((m.next().value||g)&&0!==l.width&&0!==l.height&&l.hasValidViewport){m=Math.abs(v.s.dot(c,l.viewportAxes[2]));m=d+m*e;var r=M;v.k.identity(r);r[0]=l.width/2;r[5]=-l.height/2;v.k.multiply(r,l.viewportToData, +r);v.k.multiply(r,a,r);var f=O,t=this.viewer.crossSectionBackgroundColor.value;f[0]=t[0];f[1]=t[1];f[2]=t[2];f[3]=1;b.draw(l.offscreenFramebuffer.colorBuffers[0].texture,r,v.u.fromValues(m,m,m,1),O,0,0,1,1)}}}},{key:"drawAxisLines",value:function(){var a=this.viewer.navigationState.position.spatialCoordinates;v.s.transformMat4(L,a,this.projectionMat);L[0]=.5;v.s.transformMat4(J,L,this.inverseProjectionMat);var b=v.s.distance(J,a);L[0]=0;L[1]=.5;v.s.transformMat4(J,L,this.inverseProjectionMat);var c= +v.s.distance(J,a);a=this.gl;v.k.identity(M);b=Math.min(b,c);M[0]=b;M[5]=b;M[10]=b;b=this.navigationState.position.spatialCoordinates;M[12]=b[0];M[13]=b[1];M[14]=b[2];M[15]=1;v.k.multiply(M,this.projectionMat,M);a.drawBuffers([a.COLOR_ATTACHMENT0]);this.axesLineHelper.draw(M,!1)}},{key:"zoomByMouse",value:function(a){this.navigationState.zoomBy(a)}},{key:"navigationState",get:function(){return this.viewer.navigationState}},{key:"transparentConfiguration",get:function(){var a=this.transparentConfiguration_; +void 0===a&&(a=this.transparentConfiguration_=this.registerDisposer(new x.b(this.gl,{colorBuffers:Object(x.e)(this.gl,2,this.gl.RGBA32F,this.gl.RGBA,this.gl.FLOAT),depthBuffer:this.offscreenFramebuffer.depthBuffer.addRef()})));return a}}]);return f}(h.a)},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+ +typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function d(a,b){b=void 0===b?a.navigationState:new w.e(new w.g(a.navigationState.pose.position,w.f.makeRelative(a.navigationState.pose.orientation,b)),a.navigationState.zoomFactor);return new x.a(a.chunkManager,a.layerManager, +b)}function b(a){return new Map([["xy",d(a,P.get("xy"))],["xz",d(a,P.get("xz"))],["yz",d(a,P.get("yz"))]])}function c(a){return{crossSectionBackgroundColor:a.crossSectionBackgroundColor,mouseState:a.mouseState,layerManager:a.layerManager,showAxisLines:a.showAxisLines,visibleLayerRoles:a.visibleLayerRoles,selectedLayer:a.selectedLayer,visibility:a.visibility,scaleBarOptions:a.scaleBarOptions}}function e(a){var b=a.viewer;return Object.assign({},c(b),{navigationState:b.perspectiveNavigationState,inputEventMap:b.inputEventBindings.perspectiveView, +orthographicProjection:a.specification.orthographicProjection,showScaleBar:b.showScaleBar,rpc:b.chunkManager.rpc})}function g(a){return Object.assign({},c(a),{navigationState:a.navigationState,inputEventMap:a.inputEventBindings.sliceView})}function l(a,b,c){for(var d={},e=0;2>e;d={relatedLayout:d.relatedLayout},++e)d.relatedLayout=c[Math.min(c.length-1,e)],a.registerDisposer(Object(G.c)(b.element,0===e?"toggle-layout":"toggle-layout-alternative",function(b){return function(c){a.container.name=b.relatedLayout; +c.stopPropagation()}}(d)))}function k(a,b){var c=new x.a(a.chunkManager,a.layerManager,b.navigationState.addRef());a=function(){c.setViewportSizeDebounced(b.width.value,b.height.value)};c.registerDisposer(b.width.changed.add(a));c.registerDisposer(b.height.changed.add(a));a();return c}function t(a,b,c){var d=new Map,e=new Set;c=$jscomp.makeIterator(c.values());for(var g=c.next();!g.done;g=c.next())if(g=g.value,e.add(g),!d.has(g)){var l=k(a,g);b.sliceViews.set(l,!0);d.set(g,l)}a=$jscomp.makeIterator(d); +for(d=a.next();!d.done;d=a.next())c=$jscomp.makeIterator(d.value),d=c.next().value,c=c.next().value,e.has(d)||b.sliceViews.delete(c)}function m(a){var b=H.get(a);if(void 0===b)throw Error("Invalid layout name: "+JSON.stringify(a)+".");return b}function r(a){m(a);return a}a.d(f,"b",function(){return M});f.d=c;a.d(f,"a",function(){return ka});h=a(10);var u=a.n(h),v=a(184),w=a(57),y=a(82),x=a(44),A=a(60),z=a(35),D=a(9);h=a(1);var E=a(8),G=a(22),C=a(2),B=a(4),F=a(7),L=a(179),J=function(){function a(a, +b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),O=function R(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return R(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(84);var M=function X(){n(this,X);this.perspectiveView= +new G.a;this.sliceView=new G.a},P=new Map([["xy",void 0],["xz",C.n.rotateX(C.n.create(),C.n.create(),Math.PI/2)],["yz",C.n.rotateY(C.n.create(),C.n.create(),Math.PI/2)]]),N=function(a){function c(a,d,k,m){n(this,c);var r=q(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));r.container=a;r.rootElement=d;r.viewer=k;var f=b(k),u=k.display,h=Object.assign({},e(a),{showSliceViews:k.showPerspectiveSliceViews,showSliceViewsCheckbox:!0}),w=Object.assign({},g(k),{showScaleBar:k.showScaleBar}),p=Object.assign({}, +g(k),{showScaleBar:new z.b(!1,!1)}),x=function(a,b,c){b=r.registerDisposer(new A.a(u,b,f.get(a),c));l(r,b,[a,a+"-3d"]);return b};a=[v.b(1,v.a("column",[v.b(1,v.a("row",[v.b(1,function(a){x("xy",a,w)}),v.b(1,function(a){x("xz",a,p)})])),v.b(1,v.a("row",[v.b(1,function(a){a=r.registerDisposer(new y.b(u,a,h));for(var b=$jscomp.makeIterator(f.values()),c=b.next();!c.done;c=b.next())a.sliceViews.set(c.value.addRef(),!1);t(k,a,m);l(r,a,["3d"])}),v.b(1,function(a){x("yz",a,p)})]))]))];v.a("row",a)(d);u.onResize(); +return r}p(c,a);J(c,[{key:"disposed",value:function(){Object(E.a)(this.rootElement);O(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"disposed",this).call(this)}}]);return c}(h.a),S=function(a){function b(a,c,k,m,r,f){n(this,b);var u=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));u.container=a;u.rootElement=c;u.viewer=k;u.direction=m;var h=d(k,P.get(r)),w=k.display,p=Object.assign({},e(a),{showSliceViews:k.showPerspectiveSliceViews,showSliceViewsCheckbox:!0}),x=Object.assign({}, +g(k),{showScaleBar:k.showScaleBar});v.b(1,v.a(m,[v.b(1,function(a){a=u.registerDisposer(new A.a(w,a,h,x));l(u,a,[r,"4panel"])}),v.b(1,function(a){a=u.registerDisposer(new y.b(w,a,p));a.sliceViews.set(h.addRef(),!1);t(k,a,f);l(u,a,["3d","4panel"])})]))(c);w.onResize();return u}p(b,a);J(b,[{key:"disposed",value:function(){Object(E.a)(this.rootElement);O(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}}]);return b}(h.a),U=function(a){function b(a,c,e,k){n(this,b); +var m=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));m.container=a;m.rootElement=c;m.viewer=e;var r=d(e,P.get(k)),f=Object.assign({},g(e),{showScaleBar:e.showScaleBar});v.a("row",[v.b(1,function(a){a=m.registerDisposer(new A.a(e.display,a,r,f));l(m,a,["4panel",k+"-3d"])})])(c);e.display.onResize();return m}p(b,a);J(b,[{key:"disposed",value:function(){Object(E.a)(this.rootElement);O(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}}]);return b}(h.a), +Z=function(a){function b(a,c,d,g){n(this,b);var k=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));k.container=a;k.rootElement=c;k.viewer=d;var m=Object.assign({},e(a),{showSliceViews:new z.b(!1,!1)});v.a("row",[v.b(1,function(a){a=k.registerDisposer(new y.b(d.display,a,m));t(d,a,g);l(k,a,["4panel"])})])(c);d.display.onResize();return k}p(b,a);J(b,[{key:"disposed",value:function(){Object(E.a)(this.rootElement);O(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}}]); +return b}(h.a),H=new Map([["4panel",{factory:function(a,b,c,d){return new N(a,b,c,d)}}],["3d",{factory:function(a,b,c,d){return new Z(a,b,c,d)}}]]);f.c=H;f={};a=$jscomp.makeIterator(P.keys());for(C=a.next();!C.done;f={axes:f.axes},C=a.next())f.axes=C.value,H.set(f.axes,{factory:function(a){return function(b,c,d){return new U(b,c,d,a.axes)}}(f)}),H.set(f.axes+"-3d",{factory:function(a){return function(b,c,d,e){return new S(b,c,d,"row",a.axes,e)}}(f)});var Q=function(a){function b(a){n(this,b);var c= +q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.width=new D.c(1E3,B.z);c.height=new D.c(1E3,B.z);c.changed=new F.a;c.position=new w.b(a.position.addRef());c.position.changed.add(c.changed.dispatch);c.orientation=new w.a(a.pose.orientation.addRef());c.orientation.changed.add(c.changed.dispatch);c.width.changed.add(c.changed.dispatch);c.height.changed.add(c.changed.dispatch);c.zoom=new w.c(a.zoomFactor.addRef());c.zoom.changed.add(c.changed.dispatch);c.navigationState=c.registerDisposer(new w.e(new w.g(c.position.value, +c.orientation.value),c.zoom.value));return c}p(b,a);J(b,[{key:"restoreState",value:function(a){var b=this;Object(B.t)(a);Object(B.v)(a,"width",function(a){return void 0!==a&&b.width.restoreState(a)});Object(B.v)(a,"height",function(a){return void 0!==a&&b.height.restoreState(a)});Object(B.v)(a,"position",function(a){return void 0!==a&&b.position.restoreState(a)});Object(B.v)(a,"orientation",function(a){return void 0!==a&&b.orientation.restoreState(a)});Object(B.v)(a,"zoom",function(a){return void 0!== +a&&b.zoom.restoreState(a)})}},{key:"reset",value:function(){this.width.reset();this.height.reset();this.position.reset();this.orientation.reset();this.zoom.reset()}},{key:"toJSON",value:function(){return{width:this.width,height:this.height,position:this.position,orientation:this.orientation,zoom:this.zoom}}}]);return b}(h.a),aa=function(a){function b(a){n(this,b);var c=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,function(a){return c.registerDisposer(c.registerDisposer(a).changed.add(c.changed.dispatch))}, +function(a){a.changed.remove(c.changed.dispatch);a.dispose()}));c.parentNavigationState=a;c.registerDisposer(a);return c}p(b,a);J(b,[{key:"restoreState",value:function(a){Object(B.t)(a);for(var b=$jscomp.makeIterator(Object.keys(a)),c=b.next();!c.done;c=b.next()){c=c.value;var d=new Q(this.parentNavigationState);try{this.set(c,d.addRef()),d.restoreState(a[c])}finally{d.dispose()}}}},{key:"reset",value:function(){this.clear()}},{key:"toJSON",value:function(){for(var a={},b=$jscomp.makeIterator(this), +c=b.next();!c.done;c=b.next()){var d=$jscomp.makeIterator(c.value);c=d.next().value;d=d.next().value;a[c]=d}return a}}]);return b}(L.a),ba=function(a){function b(a,c){n(this,b);var d=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.changed=new F.a;d.orthographicProjection=new z.b(!1);d.type=new D.c(c,r);d.type.changed.add(d.changed.dispatch);d.crossSections=d.registerDisposer(new aa(a));d.crossSections.changed.add(d.changed.dispatch);d.orthographicProjection.changed.add(d.changed.dispatch); +d.registerDisposer(a);return d}p(b,a);J(b,[{key:"reset",value:function(){this.crossSections.clear();this.orthographicProjection.reset();this.type.reset()}},{key:"restoreState",value:function(a){var b=this;this.crossSections.clear();this.orthographicProjection.reset();"string"===typeof a?this.type.restoreState(a):(Object(B.t)(a),Object(B.v)(a,"type",function(a){return b.type.restoreState(a)}),Object(B.v)(a,"orthographicProjection",function(a){return b.orthographicProjection.restoreState(a)}),Object(B.v)(a, +"crossSections",function(a){return void 0!==a&&b.crossSections.restoreState(a)}))}},{key:"toJSON",value:function(){var a=this.type,b=this.crossSections,c=this.orthographicProjection.toJSON();return 0===b.size&&void 0===c?a.value:{type:a.value,crossSections:b,orthographicProjection:c}}}]);return b}(h.a),ka=function(a){function b(a,c){n(this,b);var d=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.viewer=a;d.element=document.createElement("div");d.specification=d.registerDisposer(new ba(d.viewer.navigationState.addRef(), +c));d.element.style.flex="1";var e=d.registerCancellable(u()(function(){return d.updateLayout()},0));d.specification.type.changed.add(e);Object(G.c)(d.element,"toggle-orthographic-projection",function(){return d.specification.orthographicProjection.toggle()});d.registerDisposer(d.viewer.display.updateStarted.add(function(){return e.flush()}));e();return d}p(b,a);J(b,[{key:"toJSON",value:function(){return this.specification.toJSON()}},{key:"restoreState",value:function(a){this.specification.restoreState(a)}}, +{key:"reset",value:function(){this.specification.reset()}},{key:"disposeLayout",value:function(){var a=this.layout;void 0!==a&&(a.dispose(),this.layout=void 0)}},{key:"updateLayout",value:function(){this.disposeLayout();this.layout=m(this.name).factory(this,this.element,this.viewer,this.specification.crossSections)}},{key:"disposed",value:function(){this.disposeLayout();O(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}},{key:"name",get:function(){return this.specification.type.value}, +set:function(a){this.specification.type.value=a}},{key:"changed",get:function(){return this.specification.changed}}]);return b}(h.a)},function(h,f){},function(h,f,a){f.isFunction=function(a){return"function"===typeof a}},function(h,f,a){h=a(16).root.Symbol;f.rxSubscriber="function"===typeof h&&"function"===typeof h.for?h.for("rxSubscriber"):"@@rxSubscriber";f.$$rxSubscriber=f.rxSubscriber},function(h,f,a){function q(a){var f=a.Symbol;"function"===typeof f?f.observable?a=f.observable:(a=f("observable"), +f.observable=a):a="@@observable";return a}h=a(16);f.getSymbolObservable=q;f.observable=q(h.root);f.$$observable=f.observable},function(h,f,a){var q=this&&this.__extends||function(a,f){function d(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(d.prototype=f.prototype,new d)};h=function(a){function f(){var d=a.call(this,"object unsubscribed");this.name=d.name="ObjectUnsubscribedError";this.stack=d.stack;this.message=d.message}q(f,a);return f}(Error); +f.ObjectUnsubscribedError=h},function(h,f,a){var q=this&&this.__extends||function(a,d){function b(){this.constructor=a}for(var c in d)d.hasOwnProperty(c)&&(a[c]=d[c]);a.prototype=null===d?Object.create(d):(b.prototype=d.prototype,new b)};h=a(12);var p=a(11);a=function(a){function d(){a.apply(this,arguments);this.value=null;this.hasCompleted=this.hasNext=!1}q(d,a);d.prototype._subscribe=function(b){return this.hasError?(b.error(this.thrownError),p.Subscription.EMPTY):this.hasCompleted&&this.hasNext? +(b.next(this.value),b.complete(),p.Subscription.EMPTY):a.prototype._subscribe.call(this,b)};d.prototype.next=function(a){this.hasCompleted||(this.value=a,this.hasNext=!0)};d.prototype.error=function(b){this.hasCompleted||a.prototype.error.call(this,b)};d.prototype.complete=function(){this.hasCompleted=!0;this.hasNext&&a.prototype.next.call(this,this.value);a.prototype.complete.call(this)};return d}(h.Subject);f.AsyncSubject=a},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor= +a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(5);var p=a(6);f.mergeAll=function(a){void 0===a&&(a=Number.POSITIVE_INFINITY);return this.lift(new n(a))};var n=function(){function a(a){this.concurrent=a}a.prototype.call=function(a,b){return b.subscribe(new d(a,this.concurrent))};return a}();f.MergeAllOperator=n;var d=function(a){function b(b,c){a.call(this,b);this.concurrent=c;this.hasCompleted=!1;this.buffer=[];this.active= +0}q(b,a);b.prototype._next=function(a){this.active<this.concurrent?(this.active++,this.add(p.subscribeToResult(this,a))):this.buffer.push(a)};b.prototype._complete=function(){this.hasCompleted=!0;0===this.active&&0===this.buffer.length&&this.destination.complete()};b.prototype.notifyComplete=function(a){var b=this.buffer;this.remove(a);this.active--;0<b.length?this._next(b.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()};return b}(h.OuterSubscriber);f.MergeAllSubscriber=d}, +function(h,f,a){var q=a(36);f.isNumeric=function(a){return!q.isArray(a)&&0<=a-parseFloat(a)+1}},function(h,f,a){f.isDate=function(a){return a instanceof Date&&!isNaN(+a)}},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(12);var p=a(208),n=a(11),d=a(127),b=a(88),c=a(198);a=function(a){function g(b,c,d){void 0===b&&(b=Number.POSITIVE_INFINITY); +void 0===c&&(c=Number.POSITIVE_INFINITY);a.call(this);this.scheduler=d;this._events=[];this._bufferSize=1>b?1:b;this._windowTime=1>c?1:c}q(g,a);g.prototype.next=function(b){var c=this._getNow();this._events.push(new e(c,b));this._trimBufferThenGetEvents();a.prototype.next.call(this,b)};g.prototype._subscribe=function(a){var e=this._trimBufferThenGetEvents(),g=this.scheduler;if(this.closed)throw new b.ObjectUnsubscribedError;if(this.hasError)var k=n.Subscription.EMPTY;else this.isStopped?k=n.Subscription.EMPTY: +(this.observers.push(a),k=new c.SubjectSubscription(this,a));g&&a.add(a=new d.ObserveOnSubscriber(a,g));g=e.length;for(var l=0;l<g&&!a.closed;l++)a.next(e[l].value);this.hasError?a.error(this.thrownError):this.isStopped&&a.complete();return k};g.prototype._getNow=function(){return(this.scheduler||p.queue).now()};g.prototype._trimBufferThenGetEvents=function(){for(var a=this._getNow(),b=this._bufferSize,c=this._windowTime,d=this._events,e=d.length,g=0;g<e&&!(a-d[g].time<c);)g++;e>b&&(g=Math.max(g, +e-b));0<g&&d.splice(0,g);return d};return g}(h.Subject);f.ReplaySubject=a;var e=function(){return function(a,b){this.time=a;this.value=b}}()},function(h,f,a){var q=this&&this.__extends||function(a,f){function d(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(d.prototype=f.prototype,new d)};h=function(a){function f(){var d=a.call(this,"no elements in sequence");this.name=d.name="EmptyError";this.stack=d.stack;this.message=d.message}q(f,a); +return f}(Error);f.EmptyError=h},function(h,f,a){function q(a,d){if("function"!==typeof d&&null!==d)throw new TypeError("Super expression must either be null or a function, not "+typeof d);a.prototype=Object.create(d&&d.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});d&&(Object.setPrototypeOf?Object.setPrototypeOf(a,d):a.__proto__=d)}a.d(f,"k",function(){return p});h=a(39);f.d="annotation.MetadataChunkSource";f.c="annotation.GeometryChunkSource";f.j="annotation.SubsetGeometryChunkSource"; +f.f="annotation.reference.add";f.g="annotation.reference.delete";f.b="annotation.commit";f.a="annotation.commit";var p=function(a){function d(){if(!(this instanceof d))throw new TypeError("Cannot call a class as a function");var a=(d.__proto__||Object.getPrototypeOf(d)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!a||"object"!==typeof a&&"function"!==typeof a?this:a}q(d,a);return d}(h.i);f.e="annotation/PerspectiveRenderLayer"; +f.h="annotation/RenderLayer";f.i="annotation/RenderLayer.updateSegmentation"},function(h,f){h.exports=function(a){var f=typeof a;return null!=a&&("object"==f||"function"==f)}},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype= +Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function d(a,b){var c=b.type,d=a.typeToIds[c],g=Object(e.g)(c),k=g.serializedBytes,r=Object(l.b)(c),f=Object(m.a)(d,b.id,function(a,b){return a<b?-1:a===b?0:1}),t=0;if(0>f){f=~f;d.splice(f,0,b.id);var u=new Uint8Array(a.data.length+k);a.numPickIds+= +r.pickIdsPerInstance;t=a.typeToOffset[c]+k*f;u.set(a.data.subarray(0,t),0);u.set(a.data.subarray(t),t+k);a.data=u}else t=a.typeToOffset[c]+g.serializedBytes*f;g.serializer(a.data.buffer,a.typeToOffset[c],d.length)(b,f);b=$jscomp.makeIterator(e.e);for(d=b.next();!d.done;d=b.next())d=d.value,d>c&&(a.typeToOffset[d]+=k);a.bufferValid=!1}function b(a,b,c){var d=a.typeToIds[b],g=Object(l.b)(b),k=g.bytes;c=Object(m.a)(d,c,function(a,b){return a<b?-1:a===b?0:1});if(0>c)return!1;a.numPickIds-=g.pickIdsPerInstance; +d.splice(c,1);d=a.typeToOffset[b]+g.bytes*c;g=new Uint8Array(a.data.length-k);g.set(a.data.subarray(0,d),0);g.set(a.data.subarray(d+k),d);a.data=g;d=$jscomp.makeIterator(e.e);for(g=d.next();!g.done;g=d.next())g=g.value,g>b&&(a.typeToOffset[g]-=k);a.bufferValid=!1;return!0}function c(){for(var a=[],b=[],c=$jscomp.makeIterator(e.e),d=c.next();!d.done;d=c.next())d=d.value,a[d]=[],b[d]=0;return new D(void 0,{data:new Uint8Array(0),numPickIds:0,typeToOffset:b,typeToIds:a})}a.d(f,"b",function(){return F}); +a.d(f,"a",function(){return L});var e=a(28),g=a(95),l=a(51);h=a(24);f=a(44);var k=a(76),t=a(31),m=a(43),r=a(2),u=a(7),v=a(15),w=a(78),y=function O(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return O(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},x=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in +d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();a=this&&this.__decorate||function(a,b,c,d){var e=arguments.length,g=3>e?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d,k;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var l=a.length-1;0<=l;l--)if(k=a[l])g=(3>e?k(g):3<e?k(b,c,g):k(b,c))||g;return 3<e&&g&&Object.defineProperty(b,c,g),g};var A=function(){function a(b){n(this, +a);this.bufferValid=!1;this.data=b.data;for(var c=this.typeToIds=b.typeToIds,d=0,g=$jscomp.makeIterator(e.e),k=g.next();!k.done;k=g.next())k=k.value,d+=Object(l.b)(k).pickIdsPerInstance*c[k].length;this.numPickIds=d;this.typeToOffset=b.typeToOffset}x(a,[{key:"freeGPUMemory",value:function(a){a;a=this.buffer;void 0!==a&&(a.dispose(),this.bufferValid=!1,this.buffer=void 0)}}]);return a}(),z=function(a){function b(a,c){n(this,b);a=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a));a.data=new A(c); +return a}p(b,a);x(b,[{key:"freeGPUMemory",value:function(a){y(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"freeGPUMemory",this).call(this,a);this.data.freeGPUMemory(a)}},{key:"dispose",value:function(){this.data=void 0}}]);return b}(h.b),D=function(a){function b(a,c){n(this,b);a=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,c));a.data=new A(c);return a}p(b,a);x(b,[{key:"freeGPUMemory",value:function(a){y(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"freeGPUMemory", +this).call(this,a);this.data.freeGPUMemory(a)}},{key:"dispose",value:function(){this.data=void 0}}]);return b}(f.b),E=function(a){function b(a,c){n(this,b);a=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,c));a.immediateChunkUpdates=!0;a.parent=c.parent;a.parameters=c.parameters;a.spec=c.spec;return a}p(b,a);x(b,[{key:"initializeCounterpart",value:function(a,c){c.parameters=this.parameters;c.parent=this.parent.rpcId;y(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"initializeCounterpart", +this).call(this,a,c)}},{key:"addChunk",value:function(a,c){y(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"addChunk",this).call(this,a,c)}},{key:"getChunk",value:function(a){return new D(this,a)}}]);return b}(f.c);E=a([Object(v.g)(g.c)],E);var G=function(a){function b(a,c){n(this,b);a=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,{}));a.parent=c;a.immediateChunkUpdates=!0;return a}p(b,a);x(b,[{key:"initializeCounterpart",value:function(a,c){c.parent=this.parent.rpcId;y(b.prototype.__proto__|| +Object.getPrototypeOf(b.prototype),"initializeCounterpart",this).call(this,a,c)}},{key:"addChunk",value:function(a,c){y(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"addChunk",this).call(this,a,c)}},{key:"getChunk",value:function(a){return new z(this,a)}}]);return b}(h.e);G=a([Object(v.g)(g.j)],G);var C=function(a){function b(a,c){n(this,b);a=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a));a.annotation=Object(e.f)(c.annotation);return a}p(b,a);return b}(h.b),B=function(a){function b(a, +c){n(this,b);a=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a));a.parent=c;return a}p(b,a);x(b,[{key:"getChunk",value:function(a){return new C(this,a)}},{key:"addChunk",value:function(a,c){y(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"addChunk",this).call(this,a,c);a=this.parent.references.get(a);void 0!==a&&(a.value=c.annotation,a.changed.dispatch())}},{key:"deleteChunk",value:function(a){a=this.parent.references.get(a);void 0!==a&&(a.value=void 0,a.changed.dispatch())}}, +{key:"initializeCounterpart",value:function(a,c){c.parent=this.parent.rpcId;y(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"initializeCounterpart",this).call(this,a,c)}}]);return b}(h.e);B=a([Object(v.g)(g.d)],B);var F=function(a){function k(a,b){n(this,k);var d=q(this,(k.__proto__||Object.getPrototypeOf(k)).call(this));d.chunkManager=a;d.metadataChunkSource=d.registerDisposer(new B(d.chunkManager,d));d.objectToLocal=r.k.create();d.temporary=c();d.references=new Map;d.localUpdates=new Map; +d.numCommitsInProgress=0;d.changed=new u.a;d.readonly=!1;d.sources=b.sourceSpecifications.map(function(b){return b.map(function(b){return d.registerDisposer(new E(a,{spec:b.spec,parameters:b.parameters,parent:d}))})});d.segmentFilteredSource=d.registerDisposer(new G(a,d));return d}p(k,a);$jscomp.initSymbol();$jscomp.initSymbolIterator();x(k,[{key:"getSources",value:function(a){a=this.sources;a.forEach(function(a){return a.forEach(function(a){return a.addRef()})});return a}},{key:"initializeCounterpart", +value:function(a,b){this.metadataChunkSource.initializeCounterpart(a,{});for(var c=$jscomp.makeIterator(this.sources),d=c.next();!d.done;d=c.next()){d=$jscomp.makeIterator(d.value);for(var e=d.next();!e.done;e=d.next())e.value.initializeCounterpart(a,{})}this.segmentFilteredSource.initializeCounterpart(a,{});b.segmentFilteredSource=this.segmentFilteredSource.addCounterpartRef();b.metadataChunkSource=this.metadataChunkSource.addCounterpartRef();b.sources=this.sources.map(function(a){return a.map(function(a){return a.addCounterpartRef()})}); +b.chunkManager=this.chunkManager.rpcId;y(k.prototype.__proto__||Object.getPrototypeOf(k.prototype),"initializeCounterpart",this).call(this,a,b)}},{key:"add",value:function(a,b){var c=this;b=void 0===b?!0:b;a.id=Object(e.h)();var d=new e.a(a.id);d.value=a;this.references.set(d.id,d);d.registerDisposer(function(){c.references.delete(d.id)});this.applyLocalUpdate(d,!1,b,a);return d}},{key:"applyLocalUpdate",value:function(a,c,e,g){var k=this.localUpdates,l=a.id,m=this.localUpdates.get(l),r=a.value;if(null== +r)throw Error("Cannot create local update from null annotation");void 0===m?(m={type:r.type,reference:a.addRef(),existingAnnotation:c?r:void 0,pendingCommit:void 0,commitInProgress:void 0},k.set(l,m),this.forEachPossibleChunk(r,function(a){b(a.data,r.type,l)}),null!==g&&d(this.temporary.data,g)):(null===g?b(this.temporary.data,r.type,r.id):d(this.temporary.data,g),a.value=g);if(e)if(void 0!==m.commitInProgress)m.pendingCommit=g;else{if(null===g&&void 0===m.existingAnnotation){k.delete(l);m.reference.dispose(); +return}this.sendCommitRequest(m,g)}this.notifyChanged(a.id,g||void 0)}},{key:"sendCommitRequest",value:function(a,b){this.updateCommitsInProgress(1);a.commitInProgress=b;this.rpc.invoke(g.b,{id:this.rpcId,annotationId:a.existingAnnotation&&a.reference.id,newAnnotation:b})}},{key:"delete",value:function(a){this.applyLocalUpdate(a,!0,!0,null)}},{key:"update",value:function(a,b){this.applyLocalUpdate(a,!0,!1,b)}},{key:"notifyChanged",value:function(a,b){var c=this.references.get(a);a=this.metadataChunkSource.chunks.get(a); +void 0!==a&&(a.annotation=b||null);void 0!==c&&(c.value=b||null,c.changed.dispatch());this.chunkManager.chunkQueueManager.visibleChunksChanged.dispatch()}},{key:"commit",value:function(a){this.applyLocalUpdate(a,!0,!0,a.value)}},{key:"getReference",value:function(a){var b=this,c=this.references.get(a);if(void 0!==c)return c.addRef();c=new e.a(a);this.references.set(a,c);this.rpc.invoke(g.f,{id:this.rpcId,annotation:a});c.registerDisposer(function(){b.references.delete(a);b.rpc.invoke(g.g,{id:b.rpcId, +annotation:a})});var d=this.metadataChunkSource.chunks.get(a);void 0!==d&&(c.value=d.annotation);return c}},{key:"forEachPossibleChunk",value:function(a,b){var c=this.sources;if(1!==c.length||1!==c[0].length)throw Error("Not implemented");c=c[0][0];if(1<c.chunks.size)throw Error("Not implemented");a;c=$jscomp.makeIterator(c.chunks.values());for(var d=c.next();!d.done;d=c.next())b(d.value);c=a.segments;if(void 0!==c&&0!==c.length)for(a=this.segmentFilteredSource,c=$jscomp.makeIterator(c),d=c.next();!d.done;d= +c.next())d=a.chunks.get(Object(w.b)(d.value)),void 0!==d&&b(d)}},{key:"handleSuccessfulUpdate",value:function(a,c){var e=this.localUpdates.get(a);if(void 0===e||void 0===e.commitInProgress)throw Error("Received invalid successful update notification");this.updateCommitsInProgress(-1);if(null!==c&&e.reference.id!==c.id){if(null===e.commitInProgress)throw Error("Received invalid successful update notification");e.reference.id=c.id;this.references.delete(a);this.references.set(c.id,e.reference);this.localUpdates.delete(a); +this.localUpdates.set(c.id,e);null!==e.reference.value&&(e.reference.value.id=c.id,b(this.temporary.data,e.type,a),d(this.temporary.data,e.reference.value));e.reference.changed.dispatch()}e.existingAnnotation=c||void 0;e.commitInProgress=void 0;a=e.pendingCommit;e.pendingCommit=void 0;null===c&&(a=void 0);void 0!==a?(null!==a&&(a.id=c.id),this.sendCommitRequest(e,a)):this.revertLocalUpdate(e)}},{key:"disposed",value:function(){var a=this.commitStatus;void 0!==a&&a.dispose()}},{key:"updateCommitsInProgress", +value:function(a){this.numCommitsInProgress+=a;0===this.numCommitsInProgress?void 0!==this.commitStatus&&(this.commitStatus.dispose(),this.commitStatus=void 0):void 0===this.commitStatus&&(this.commitStatus=new t.a(!0)).setText("Commiting annotations")}},{key:"handleFailedUpdate",value:function(a,b){a=this.localUpdates.get(a);if(void 0===a||void 0===a.commitInProgress)throw Error("Received invalid update notification");(new t.a).setErrorMessage("Error commiting annotation update: "+b);this.revertLocalUpdate(a); +this.updateCommitsInProgress(-1)}},{key:"revertLocalUpdate",value:function(a){b(this.temporary.data,a.type,a.reference.id);var c=a.existingAnnotation;void 0!==c&&this.forEachPossibleChunk(c,function(a){d(a.data,c)});a=a.reference;var e=a.id;a.value=c||null;a.changed.dispatch();a.dispose();this.localUpdates.delete(e)}},{key:Symbol.iterator,value:function(){function a(a,c){for(;;)switch(b){case 0:b=-1;default:return{value:void 0,done:!0}}}var b=0,c={next:function(b){return a(b,void 0)},throw:function(b){return a(void 0, +b)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();c[Symbol.iterator]=function(){return this};return c}}],[{key:"encodeOptions",value:function(a){return{}}}]);return k}(v.b);Object(v.e)(g.a,function(a){var b=this.get(a.id),c=a.annotationId,d=a.error;void 0!==d?b.handleFailedUpdate(c,d):(a=Object(e.f)(a.newAnnotation),b.handleSuccessfulUpdate(c,a))});var L=function(a){function b(a){n(this,b);return q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a.chunkManager, +a.getSources({})))}p(b,a);x(b,[{key:"draw",value:function(){}}]);return b}(k.a)},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function"); +}a.d(f,"a",function(){return e});a.d(f,"b",function(){return g});var n=a(1),d=a(4),b=function k(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return k(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key, +d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),e=function(){function a(){p(this,a);this.map=new Map}c(a,[{key:"get",value:function(a,b){var c=this.map,d=c.get(a);void 0===d?(d=b(),d.registerDisposer(function(){c.delete(a)}),c.set(a,d)):d.addRef();return d}}]);return a}(),g=function(a){function e(){p(this,e);var a=(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!a|| +"object"!==typeof a&&"function"!==typeof a?this:a}q(e,a);c(e,[{key:"get",value:function(a,c){"string"!==typeof a&&(a=Object(d.g)(a));return b(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"get",this).call(this,a,c)}},{key:"getUncounted",value:function(a,b){return this.get(a,function(){return new n.b(b())}).value}}]);return e}(e)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); +return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return t});f.e=function(a,b,c,d,e){c=void 0===c?a.RGBA8:c;d=void 0===d?a.RGBA:d;e=void 0===e?a.UNSIGNED_BYTE: +e;for(var g=[],k=0;k<b;++k)g[k]=new u(a,c,d,e);return g};a.d(f,"b",function(){return w});a.d(f,"c",function(){return y});h=a(1);var d=a(2),b=a(23),c=a(52),e=a(77),g=a(141),l=function A(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return A(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},k=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable|| +!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();a=function(a){function b(){q(this,b);var a=p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.width=Number.NaN;a.height=Number.NaN;return a}n(b,a);k(b,[{key:"hasSize",value:function(a,b){return this.width===a&&this.height===b}},{key:"resize",value:function(a,b){this.hasSize(a,b)||(this.width=a,this.height=b,this.performResize())}}]); +return b}(h.a);var t=function(a){function b(a,c){c=void 0===c?!1:c;q(this,b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,c?a.DEPTH_STENCIL:a.DEPTH_COMPONENT16));d.gl=a;d.includeStencilBuffer=c;return d}n(b,a);k(b,[{key:"attachToFramebuffer",value:function(){var a=this.gl;l(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"attachToFramebuffer",this).call(this,this.includeStencilBuffer?a.DEPTH_STENCIL_ATTACHMENT:a.DEPTH_ATTACHMENT)}}]);return b}(function(a){function b(a, +c){q(this,b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.gl=a;d.internalformat=c;d.renderbuffer=null;d.renderbuffer=a.createRenderbuffer();return d}n(b,a);k(b,[{key:"performResize",value:function(){var a=this.gl;a.bindRenderbuffer(a.RENDERBUFFER,this.renderbuffer);a.renderbufferStorage(a.RENDERBUFFER,this.internalformat,this.width,this.height);a.bindRenderbuffer(a.RENDERBUFFER,null)}},{key:"disposed",value:function(){this.gl.deleteRenderbuffer(this.renderbuffer)}},{key:"attachToFramebuffer", +value:function(a){var b=this.gl;b.framebufferRenderbuffer(b.FRAMEBUFFER,a,b.RENDERBUFFER,this.renderbuffer)}}]);return b}(a)),m=function(a){function b(a){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,!0))}n(b,a);return b}(t);f.d=m;var r=function(a){function b(a){q(this,b);var c=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.gl=a;c.framebuffer=c.gl.createFramebuffer();return c}n(b,a);k(b,[{key:"disposed",value:function(){this.gl.deleteFramebuffer(this.framebuffer)}}, +{key:"bind",value:function(){var a=this.gl;a.bindFramebuffer(a.FRAMEBUFFER,this.framebuffer)}},{key:"unbind",value:function(){var a=this.gl;a.bindFramebuffer(a.FRAMEBUFFER,null)}}]);return b}(h.a),u=function(a){function b(a,c,d,e){q(this,b);var g=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));g.gl=a;g.internalFormat=c;g.format=d;g.dataType=e;g.texture=a.createTexture();return g}n(b,a);k(b,[{key:"performResize",value:function(){Object(e.a)(this.gl,this.texture,this.width,this.height,this.internalFormat, +this.format,this.dataType)}},{key:"disposed",value:function(){this.gl.deleteTexture(this.texture)}},{key:"attachToFramebuffer",value:function(a){var b=this.gl;b.framebufferTexture2D(b.FRAMEBUFFER,a,b.TEXTURE_2D,this.texture,0)}}]);return b}(a),v=new Uint8Array(4),w=function(a){function b(a,c){q(this,b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.gl=a;d.width=Number.NaN;d.height=Number.NaN;d.fullAttachmentList=[];d.attachmentVerified=!1;d.singleAttachmentList=[d.gl.COLOR_ATTACHMENT0]; +var e=void 0===c.framebuffer?new r(a):c.framebuffer,g=c.colorBuffers;c=c.depthBuffer;d.framebuffer=d.registerDisposer(e);d.colorBuffers=g;d.depthBuffer=c;void 0!==c&&d.registerDisposer(c);var k=d.fullAttachmentList;g.forEach(function(b,c){d.registerDisposer(b);k[c]=a.COLOR_ATTACHMENT0+c});return d}n(b,a);k(b,[{key:"hasSize",value:function(a,b){return this.width===a&&this.height===b}},{key:"bind",value:function(a,b){this.width=a;this.height=b;this.framebuffer.bind();var c=this.gl,d=this.depthBuffer; +void 0!==d&&(d.resize(a,b),d.attachToFramebuffer());this.colorBuffers.forEach(function(d,e){d.resize(a,b);d.attachToFramebuffer(c.COLOR_ATTACHMENT0+e)});c.drawBuffers(this.fullAttachmentList);this.verifyAttachment();c.viewport(0,0,a,b)}},{key:"bindSingle",value:function(a){var b=this.gl;this.framebuffer.bind();0!==a&&b.framebufferTexture2D(b.FRAMEBUFFER,b.COLOR_ATTACHMENT0+a,b.TEXTURE_2D,null,0);b.bindTexture(b.TEXTURE_2D,null);this.colorBuffers[a].attachToFramebuffer(b.COLOR_ATTACHMENT0);b.drawBuffers(this.singleAttachmentList)}}, +{key:"unbind",value:function(){this.framebuffer.unbind()}},{key:"readPixel",value:function(a,b,c){var d=this.gl;try{this.bindSingle(a),d.readPixels(b,c,1,1,d.RGBA,d.UNSIGNED_BYTE,v)}finally{this.framebuffer.unbind()}return v}},{key:"readPixelAsUint32",value:function(a,b,c){a=this.readPixel(a,b,c);return a[0]+(a[1]<<8)+(a[2]<<16)+(a[3]<<24)}},{key:"verifyAttachment",value:function(){if(!this.attachmentVerified){var a=this.gl;if(a.checkFramebufferStatus(a.FRAMEBUFFER)!==a.FRAMEBUFFER_COMPLETE)throw Error("Framebuffer configuration not supported"); +this.attachmentVerified=!0}}}]);return b}(h.a),y=function(a){function e(a,b){q(this,e);var d=p(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));d.gl=a;d.shader=b;d.copyVertexPositionsBuffer=Object(c.a)(d.gl);d.copyTexCoordsBuffer=Object(c.a)(d.gl,0,0,1,1);d.registerDisposer(b);return d}n(e,a);k(e,[{key:"draw",value:function(a){for(var b=[],c=0;c<arguments.length;++c)b[c-0]=arguments[c];c=this.gl;var e=this.shader;e.bind();for(var g=b.length,k=0;k<g;++k)c.activeTexture(c.TEXTURE0+k),c.bindTexture(c.TEXTURE_2D, +b[k]);c.uniformMatrix4fv(e.uniform("uProjectionMatrix"),!1,d.d);b=e.attribute("aVertexPosition");this.copyVertexPositionsBuffer.bindToVertexAttrib(b,2);e=e.attribute("aTexCoord");this.copyTexCoordsBuffer.bindToVertexAttrib(e,2);c.drawArrays(c.TRIANGLE_FAN,0,4);c.disableVertexAttribArray(b);c.disableVertexAttribArray(e);for(b=0;b<g;++b)c.activeTexture(c.TEXTURE0+b),c.bindTexture(c.TEXTURE_2D,null)}}],[{key:"get",value:function(a,c,d){c=void 0===c?g.a:c;d=void 0===d?1:d;return a.memoize.get("OffscreenCopyHelper:"+ +d+":"+Object(b.a)(c),function(){return new e(a,Object(g.b)(a,c,d))})}}]);return e}(h.a)},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return b});h=a(1);var p=a(101),n=a(52),d=function(){function a(a, +b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();f.b=4;var b=function(a){function b(a,c){c=void 0===c?1:c;if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var d=(b.__proto__||Object.getPrototypeOf(b)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); +d=!d||"object"!==typeof d&&"function"!==typeof d?this:d;d.circlesPerInstance=c;d.squareCornersBuffer=Object(n.a)(a,-1,-1,1,1,c,1);d.quadHelper=d.registerDisposer(new p.a(a,c));return d}q(b,a);d(b,[{key:"defineShader",value:function(a,b){a.addAttribute("highp vec2","aCircleCornerOffset");a.addUniform("highp vec4","uCircleParams");a.addVarying("highp vec2","vCircleCoord");a.addVertexCode("\nvoid emitCircle(vec4 position) {\n gl_Position = position;\n gl_Position.xy += aCircleCornerOffset * uCircleParams.xy * gl_Position.w;\n vCircleCoord = aCircleCornerOffset;\n}\n"); b?a.addFragmentCode("\nfloat getCircleAlphaMultiplier() {\n return 1.0 - 2.0 * abs(0.5 - gl_FragCoord.z);\n}\n"):a.addFragmentCode("\nfloat getCircleAlphaMultiplier() {\n return 1.0;\n}\n");a.addFragmentCode("\nvec4 getCircleColor(vec4 interiorColor, vec4 borderColor) {\n float radius = length(vCircleCoord);\n if (radius > 1.0) {\n discard;\n }\n\n float borderColorFraction = clamp((radius - uCircleParams.z) / uCircleParams.w, 0.0, 1.0);\n float feather = clamp((1.0 - radius) / uCircleParams.w, 0.0, 1.0);\n vec4 color = mix(interiorColor, borderColor, borderColorFraction);\n\n return vec4(color.rgb, color.a * feather * getCircleAlphaMultiplier());\n}\n")}}, {key:"draw",value:function(a,b,c,d){var e=a.gl,g=a.attribute("aCircleCornerOffset");this.squareCornersBuffer.bindToVertexAttrib(g,2);var k=c.interiorRadiusInPixels+c.borderWidthInPixels+c.featherWidthInPixels;e.uniform4f(a.uniform("uCircleParams"),k/b.viewportWidth,k/b.viewportHeight,c.interiorRadiusInPixels/k,c.featherWidthInPixels/k);this.quadHelper.draw(e,d);a.gl.disableVertexAttribArray(g)}}]);return b}(h.a)},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+ -typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function p(a){for(var b=new Uint16Array(6*a),c=0;c<a;++c){var d=4*c,k=6*c;b[k]=d;b[k+1]=d+1;b[k+2]=d+2;b[k+3]=d+2;b[k+4]=d+3;b[k+5]=d}return b}a.d(f,"a",function(){return b});h=a(1);var n=a(20),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in +typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function p(a){for(var b=new Uint16Array(6*a),c=0;c<a;++c){var d=4*c,k=6*c;b[k]=d;b[k+1]=d+1;b[k+2]=d+2;b[k+3]=d+2;b[k+4]=d+3;b[k+5]=d}return b}a.d(f,"a",function(){return b});h=a(1);var n=a(20),d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();f.b=4;var b=function(a){function b(a,c){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var d=(b.__proto__||Object.getPrototypeOf(b)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");d=!d||"object"!==typeof d&&"function"!==typeof d?this:d;d.quadsPerInstance=c;1!==c&&(d.quadIndexBuffer=d.registerDisposer(Object(n.b)(a, -WebGL2RenderingContext.ELEMENT_ARRAY_BUFFER,p,c)).value);return d}q(b,a);c(b,[{key:"draw",value:function(a,b){1===this.quadsPerInstance?a.drawArraysInstanced(WebGL2RenderingContext.TRIANGLE_FAN,0,4,b):(this.quadIndexBuffer.bind(),a.drawElementsInstanced(WebGL2RenderingContext.TRIANGLES,6*this.quadsPerInstance,WebGL2RenderingContext.UNSIGNED_SHORT,0,b))}}]);return b}(h.a)},function(h,f,a){f.a=function(a,f){if(a.active&&void 0!==a.pickedAnnotationId){var h=a.pickedRenderLayer;if(null!==h){var c=a.pickedAnnotationLayer; -if(void 0!==c&&(f=f.renderLayerToManagedLayerMap.get(h),void 0!==f))return{layer:f,annotationLayer:c,id:a.pickedAnnotationId,partIndex:a.pickedOffset}}}};f.b=function(a,f){a.registerDisposer(f.changed.add(function(){a.hoverState.value=f.active&&f.pickedAnnotationLayer===a?{id:f.pickedAnnotationId,partIndex:f.pickedOffset}:void 0}))}},function(h,f,a){f.b=function(a,c,b,d){d=void 0===d?q.e:d;var e=void 0;return new Promise(function(g,l){function k(m){null!==e&&(e=Object(p.b)(a.serverUrls,b.path,b.method), -e.responseType=b.responseType,e.setRequestHeader("Authorization",m.credentials.tokenType+" "+m.credentials.accessToken),e.onloadend=function(){if(null!==e){var a=this.status;200<=a&&300>a?(d.remove(f),g(this.response)):401===a?c.get(m,d).then(k):504===a||503===a?c.get(void 0,d).then(k):(d.remove(f),l(p.a.fromXhr(this)))}},e.send(b.payload))}var f=function(){var a=e;e=null;null!=a&&a.abort();l(q.a)};d.add(f);c.get(void 0,d).then(k)})};var q=a(32),p=a(62);f.a="google-brainmaps"},function(h,f,a){function q(a, +WebGL2RenderingContext.ELEMENT_ARRAY_BUFFER,p,c)).value);return d}q(b,a);d(b,[{key:"draw",value:function(a,b){1===this.quadsPerInstance?a.drawArraysInstanced(WebGL2RenderingContext.TRIANGLE_FAN,0,4,b):(this.quadIndexBuffer.bind(),a.drawElementsInstanced(WebGL2RenderingContext.TRIANGLES,6*this.quadsPerInstance,WebGL2RenderingContext.UNSIGNED_SHORT,0,b))}}]);return b}(h.a)},function(h,f,a){f.a=function(a,f){if(a.active&&void 0!==a.pickedAnnotationId){var h=a.pickedRenderLayer;if(null!==h){var d=a.pickedAnnotationLayer; +if(void 0!==d&&(f=f.renderLayerToManagedLayerMap.get(h),void 0!==f))return{layer:f,annotationLayer:d,id:a.pickedAnnotationId,partIndex:a.pickedOffset}}}};f.b=function(a,f){a.registerDisposer(f.changed.add(function(){a.hoverState.value=f.active&&f.pickedAnnotationLayer===a?{id:f.pickedAnnotationId,partIndex:f.pickedOffset}:void 0}))}},function(h,f,a){f.b=function(a,d,b,c){c=void 0===c?q.e:c;var e=void 0;return new Promise(function(g,l){function k(m){null!==e&&(e=Object(p.b)(a.serverUrls,b.path,b.method), +e.responseType=b.responseType,e.setRequestHeader("Authorization",m.credentials.tokenType+" "+m.credentials.accessToken),e.onloadend=function(){if(null!==e){var a=this.status;200<=a&&300>a?(c.remove(f),g(this.response)):401===a?d.get(m,c).then(k):504===a||503===a?d.get(void 0,c).then(k):(c.remove(f),l(p.a.fromXhr(this)))}},e.send(b.payload))}var f=function(){var a=e;e=null;null!=a&&a.abort();l(q.a)};c.add(f);d.get(void 0,c).then(k)})};var q=a(32),p=a(63);f.a="google-brainmaps"},function(h,f,a){function q(a, b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf? -Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a){switch(a){case t.b.FLOAT32:return WebGL2RenderingContext.FLOAT;default:throw Error("Data type not supported by WebGL: ${DataType[dataType]}");}}f.f=function(a){return new k.c(void 0===a?"void main() {\n emitDefault();\n}\n":a,u.A)};a.d(f,"c",function(){return F});a.d(f,"b",function(){return L});a.d(f,"e",function(){return I});a.d(f,"d",function(){return N});var b=a(30);h=a(23);var d=a(59),e=a(63),g=a(266),l=a(78),k=a(9),t=a(50),m=a(1),r=a(2), -u=a(4),v=a(22),w=a(7),y=a(20),x=a(24),A=a(21),z=function U(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return U(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},D=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype, -c);d&&a(b,d);return b}}(),E=a(104),G=r.k.create(),C=new Float32Array(4);f.a="//NEUROGLANCER_SKELETON_LAYER_FRAGMENT_MAIN_START";var B=function(a){function b(a){q(this,b);var c=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.vertexAttributes=a;c.shaders=new Map;c.shaderGeneration=-1;c.vertexAttributesKey=Object(u.g)(c.vertexAttributes);return c}n(b,a);D(b,[{key:"defineShader",value:function(a,b){a.addUniform("highp vec4","uColor");a.addUniform("highp mat4","uProjection");a.addUniform("highp vec4", +Object.setPrototypeOf(a,b):a.__proto__=b)}function d(a){switch(a){case t.b.FLOAT32:return WebGL2RenderingContext.FLOAT;default:throw Error("Data type not supported by WebGL: ${DataType[dataType]}");}}f.f=function(a){return new k.c(void 0===a?"void main() {\n emitDefault();\n}\n":a,u.A)};a.d(f,"c",function(){return F});a.d(f,"b",function(){return L});a.d(f,"e",function(){return J});a.d(f,"d",function(){return N});var b=a(30);h=a(24);var c=a(59),e=a(64),g=a(266),l=a(60),k=a(9),t=a(50),m=a(1),r=a(2), +u=a(4),v=a(23),w=a(7),y=a(20),x=a(25),A=a(21),z=function U(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return U(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},D=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype, +c);d&&a(b,d);return b}}(),E=a(105),G=r.k.create(),C=new Float32Array(4);f.a="//NEUROGLANCER_SKELETON_LAYER_FRAGMENT_MAIN_START";var B=function(a){function b(a){q(this,b);var c=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.vertexAttributes=a;c.shaders=new Map;c.shaderGeneration=-1;c.vertexAttributesKey=Object(u.g)(c.vertexAttributes);return c}n(b,a);D(b,[{key:"defineShader",value:function(a,b){a.addUniform("highp vec4","uColor");a.addUniform("highp mat4","uProjection");a.addUniform("highp vec4", "uPickID");var c="\ngl_Position = uProjection * vec4(aVertex0, 1.0);\n";a.addFragmentCode("\nvec4 segmentColor() {\n return uColor;\n}\nvoid emitRGB(vec3 color) {\n emit(vec4(color * uColor.a, uColor.a), uPickID);\n}\nvoid emitDefault() {\n emit(uColor, uPickID);\n}\n");a.addFragmentCode(E);this.vertexAttributes.forEach(function(b,d){a.addAttribute("highp "+b.glslDataType,"aVertex"+d);0!==d&&(a.addVarying("highp "+b.glslDataType,"vVertex"+d),c+="vVertex"+d+" = aVertex"+d+";\n",a.addFragmentCode("#define "+ b.name+" vVertex"+d+"\n"))});a.setVertexMain(c);a.setFragmentMainFunction("//NEUROGLANCER_SKELETON_LAYER_FRAGMENT_MAIN_START\n"+b)}},{key:"beginLayer",value:function(a,b,c,d){c=r.k.multiply(G,c.dataToDevice,d);a.uniformMatrix4fv(b.uniform("uProjection"),!1,c)}},{key:"getShader",value:function(a,b,c){var d=this;return this.registerDisposer(a.memoize.get("skeleton/SkeletonShaderManager:"+Object(v.a)(b)+":"+this.vertexAttributesKey+":"+c,function(){var e=new x.a(a);e.require(b);d.defineShader(e,c);return e.build()}))}}, {key:"setColor",value:function(a,b,c){a.uniform4fv(b.uniform("uColor"),c)}},{key:"setPickID",value:function(a,b,c){a.uniform4fv(b.uniform("uPickID"),Object(A.r)(C,c))}},{key:"drawSkeleton",value:function(a,b,c){for(var d=this.vertexAttributes,e=d.length,g=c.vertexAttributeOffsets,k=0;k<e;++k){var l=d[k];c.vertexBuffer.bindToVertexAttrib(b.attribute("aVertex"+k),l.numComponents,l.webglDataType,!1,0,g[k])}c.indexBuffer.bind();a.drawElements(a.LINES,c.numIndices,a.UNSIGNED_INT,0)}},{key:"endLayer",value:function(a, -b){for(var c=this.vertexAttributes.length,d=0;d<c;++d)a.disableVertexAttribArray(b.attribute("aVertex"+d))}}]);return b}(m.a),F=function(a){function d(a,b,k,l){q(this,d);var m=p(this,(d.__proto__||Object.getPrototypeOf(d)).call(this));m.chunkManager=a;m.source=b;m.voxelSizeObject=k;m.displayState=l;m.tempMat=r.k.create();m.redrawNeeded=new w.a;m.fallbackFragmentMain="void main() {\n emitDefault();\n}\n";Object(e.f)(l,m);m.displayState.shaderError.value=void 0;m.registerDisposer(l.fragmentMain.changed.add(function(){m.displayState.shaderError.value= -void 0;m.redrawNeeded.dispatch()}));a=m.sharedObject=m.registerDisposer(new e.b(a,l));a.RPC_TYPE_ID=g.a;a.initializeCounterpartWithChunkManager({source:b.addCounterpartRef()});a=m.vertexAttributes=[O];b=$jscomp.makeIterator(b.vertexAttributes);for(k=b.next();!k.done;k=b.next())l=$jscomp.makeIterator(k.value),k=l.next().value,l=l.next().value,a.push({name:k,dataType:l.dataType,numComponents:l.numComponents,webglDataType:c(l.dataType),glslDataType:1<l.numComponents?"vec"+l.numComponents:"float"});return m} -n(d,a);D(d,[{key:"getShader",value:function(a,b,c){var d=this.displayState.fragmentMain,e=d.changed.count,g=b.shaders;b.shaderGeneration!==e&&(g.clear(),b.shaderGeneration=e);e=g.get(c);if(void 0===e){e=null;try{e=b.getShader(a,c,d.value),this.fallbackFragmentMain=d.value,this.displayState.shaderError.value=null}catch(R){this.displayState.shaderError.value=R;try{e=b.getShader(a,c,this.fallbackFragmentMain)}catch(X){}}g.set(c,e)}return e}},{key:"draw",value:function(a,c,d,g){void 0===g&&(g=a.emitColor? +b){for(var c=this.vertexAttributes.length,d=0;d<c;++d)a.disableVertexAttribArray(b.attribute("aVertex"+d))}}]);return b}(m.a),F=function(a){function c(a,b,k,l){q(this,c);var m=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));m.chunkManager=a;m.source=b;m.voxelSizeObject=k;m.displayState=l;m.tempMat=r.k.create();m.redrawNeeded=new w.a;m.fallbackFragmentMain="void main() {\n emitDefault();\n}\n";Object(e.f)(l,m);m.displayState.shaderError.value=void 0;m.registerDisposer(l.fragmentMain.changed.add(function(){m.displayState.shaderError.value= +void 0;m.redrawNeeded.dispatch()}));a=m.sharedObject=m.registerDisposer(new e.b(a,l));a.RPC_TYPE_ID=g.a;a.initializeCounterpartWithChunkManager({source:b.addCounterpartRef()});a=m.vertexAttributes=[O];b=$jscomp.makeIterator(b.vertexAttributes);for(k=b.next();!k.done;k=b.next())l=$jscomp.makeIterator(k.value),k=l.next().value,l=l.next().value,a.push({name:k,dataType:l.dataType,numComponents:l.numComponents,webglDataType:d(l.dataType),glslDataType:1<l.numComponents?"vec"+l.numComponents:"float"});return m} +n(c,a);D(c,[{key:"getShader",value:function(a,b,c){var d=this.displayState.fragmentMain,e=d.changed.count,g=b.shaders;b.shaderGeneration!==e&&(g.clear(),b.shaderGeneration=e);e=g.get(c);if(void 0===e){e=null;try{e=b.getShader(a,c,d.value),this.fallbackFragmentMain=d.value,this.displayState.shaderError.value=null}catch(R){this.displayState.shaderError.value=R;try{e=b.getShader(a,c,this.fallbackFragmentMain)}catch(X){}}g.set(c,e)}return e}},{key:"draw",value:function(a,c,d,g){void 0===g&&(g=a.emitColor? 1:5);var k=this.gl,l=this.source,m=this.displayState,f=Math.min(1,m.objectAlpha.value);if(!(0>=f)){var t=this.getShader(k,d,a.emitter);if(null!==t){t.bind();var u=this.tempMat;r.k.identity(u);l.skeletonVertexCoordinatesInVoxels&&r.k.scale(u,u,this.voxelSizeObject.size);r.k.multiply(u,this.displayState.objectToDataTransform.transform,u);d.beginLayer(k,t,a,u);l=l.chunks;var h=a.pickIDs;k.lineWidth(g);Object(e.d)(m,l,function(g,l,r){r.state===b.d.GPU_MEMORY&&(a.emitColor&&d.setColor(k,t,Object(e.e)(m, -g,f)),a.emitPickID&&d.setPickID(k,t,h.registerUint64(c,l)),d.drawSkeleton(k,t,r))});d.endLayer(k,t)}}}},{key:"visibility",get:function(){return this.sharedObject.visibility}},{key:"gl",get:function(){return this.chunkManager.chunkQueueManager.gl}}]);return d}(m.a),L=function(a){function b(a){q(this,b);var c=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.base=a;c.renderHelper=c.registerDisposer(new B(c.base.vertexAttributes));c.registerDisposer(a);c.registerDisposer(a.redrawNeeded.add(function(){c.redrawNeeded.dispatch()})); -c.setReady(!0);c.registerDisposer(a.visibility.add(c.visibility));return c}n(b,a);D(b,[{key:"draw",value:function(a){this.base.draw(a,this,this.renderHelper)}},{key:"gl",get:function(){return this.base.gl}},{key:"isTransparent",get:function(){return 1>this.base.displayState.objectAlpha.value}}]);return b}(d.a),I=function(a){function b(a){q(this,b);var c=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.base=a;c.renderHelper=c.registerDisposer(new B(c.base.vertexAttributes));c.registerDisposer(a); +g,f)),a.emitPickID&&d.setPickID(k,t,h.registerUint64(c,l)),d.drawSkeleton(k,t,r))});d.endLayer(k,t)}}}},{key:"visibility",get:function(){return this.sharedObject.visibility}},{key:"gl",get:function(){return this.chunkManager.chunkQueueManager.gl}}]);return c}(m.a),L=function(a){function b(a){q(this,b);var c=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.base=a;c.renderHelper=c.registerDisposer(new B(c.base.vertexAttributes));c.registerDisposer(a);c.registerDisposer(a.redrawNeeded.add(function(){c.redrawNeeded.dispatch()})); +c.setReady(!0);c.registerDisposer(a.visibility.add(c.visibility));return c}n(b,a);D(b,[{key:"draw",value:function(a){this.base.draw(a,this,this.renderHelper)}},{key:"gl",get:function(){return this.base.gl}},{key:"isTransparent",get:function(){return 1>this.base.displayState.objectAlpha.value}}]);return b}(c.a),J=function(a){function b(a){q(this,b);var c=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.base=a;c.renderHelper=c.registerDisposer(new B(c.base.vertexAttributes));c.registerDisposer(a); c.registerDisposer(a.redrawNeeded.add(function(){c.redrawNeeded.dispatch()}));c.setReady(!0);c.registerDisposer(a.visibility.add(c.visibility));return c}n(b,a);D(b,[{key:"draw",value:function(a){this.base.draw(a,this,this.renderHelper,10)}},{key:"gl",get:function(){return this.base.gl}}]);return b}(l.b),O={dataType:t.b.FLOAT32,numComponents:3,name:"",webglDataType:WebGL2RenderingContext.FLOAT,glslDataType:"vec3"},M=function(a){function b(a,c){q(this,b);a=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this, a));a.vertexAttributes=c.vertexAttributes;var d=a.indices=c.indices;a.vertexAttributeOffsets=c.vertexAttributeOffsets;a.numIndices=d.length;return a}n(b,a);D(b,[{key:"copyToGPU",value:function(a){z(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"copyToGPU",this).call(this,a);this.vertexBuffer=y.a.fromData(a,this.vertexAttributes,a.ARRAY_BUFFER,a.STATIC_DRAW);this.indexBuffer=y.a.fromData(a,this.indices,a.ELEMENT_ARRAY_BUFFER,a.STATIC_DRAW)}},{key:"freeGPUMemory",value:function(a){z(b.prototype.__proto__|| Object.getPrototypeOf(b.prototype),"freeGPUMemory",this).call(this,a);this.vertexBuffer.dispose();this.indexBuffer.dispose()}}]);return b}(h.b),P=new Map,N=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);D(b,[{key:"getChunk",value:function(a){return new M(this,a)}},{key:"skeletonVertexCoordinatesInVoxels",get:function(){return!0}},{key:"vertexAttributes",get:function(){return P}}]);return b}(h.e)},function(h,f){h.exports="\n\nvec3 colormapJet(float x) {\n vec3 result;\n result.r = x < 0.89 ? ((x - 0.35) / 0.31) : (1.0 - (x - 0.89) / 0.11 * 0.5);\n result.g = x < 0.64 ? ((x - 0.125) * 4.0) : (1.0 - (x - 0.64) / 0.27);\n result.b = x < 0.34 ? (0.5 + x * 0.5 / 0.11) : (1.0 - (x - 0.34) / 0.31);\n return clamp(result, 0.0, 1.0);\n}\n"}, function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0, -configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a){Object(z.t)(a);var b=Object(z.v)(a,"neariso_voxelres",function(a){return Object(z.u)(a,z.j)}),c=Object(z.v)(a,"neariso_imagesize",function(a){return Object(z.u)(a,z.i)}),d=Object(z.v)(a,"neariso_offset",function(a){return Object(z.u)(a,z.k)});return Object(z.v)(a,"resolutions",function(a){return Object(z.a)(a,z.r)}).map(function(a){var e=""+a,g=b.get(e),k=c.get(e),l=d.get(e);if(void 0===g||void 0=== -k||void 0===l)throw Error("Missing neariso_voxelres/neariso_imagesize/neariso_offset for resolution "+(a+"."));return{key:e,voxelSize:g,imageSize:k,voxelOffset:l}})}function b(a){a=E.get(a);void 0===a&&(a=v.c.UNKNOWN);return a}function d(a){Object(z.t)(a);var c=Object(z.v)(a,"channel_type",z.A);return{channelType:c,description:Object(z.v)(a,"description",z.A),volumeType:b(c),dataType:Object(z.v)(a,"datatype",function(a){return Object(z.m)(a,v.a)})}}function e(a){Object(z.t)(a);return{channels:Object(z.v)(a, -"channels",function(a){return Object(z.u)(a,d)}),scales:Object(z.v)(a,"dataset",c)}}function g(a,b,c,d){return a.memoize.getUncounted({type:"ndstore:getTokenInfo",hostnames:b,token:c},function(){return Object(A.d)(Object(A.b)(b,d+"/"+c+"/info/"),"json").then(e)})}function l(a,b,c,d){var e=c.match(F);if(null===e)throw Error("Invalid volume path "+JSON.stringify(c));var k=e[1],l=e[2],m=Object(z.e)(e[3]||"");return a.memoize.getUncounted({type:"ndstore:MultiscaleVolumeChunkSource",hostnames:b,path:c}, +configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function d(a){Object(z.t)(a);var b=Object(z.v)(a,"neariso_voxelres",function(a){return Object(z.u)(a,z.j)}),c=Object(z.v)(a,"neariso_imagesize",function(a){return Object(z.u)(a,z.i)}),d=Object(z.v)(a,"neariso_offset",function(a){return Object(z.u)(a,z.k)});return Object(z.v)(a,"resolutions",function(a){return Object(z.a)(a,z.r)}).map(function(a){var e=""+a,g=b.get(e),k=c.get(e),l=d.get(e);if(void 0===g||void 0=== +k||void 0===l)throw Error("Missing neariso_voxelres/neariso_imagesize/neariso_offset for resolution "+(a+"."));return{key:e,voxelSize:g,imageSize:k,voxelOffset:l}})}function b(a){a=E.get(a);void 0===a&&(a=v.c.UNKNOWN);return a}function c(a){Object(z.t)(a);var c=Object(z.v)(a,"channel_type",z.A);return{channelType:c,description:Object(z.v)(a,"description",z.A),volumeType:b(c),dataType:Object(z.v)(a,"datatype",function(a){return Object(z.m)(a,v.a)})}}function e(a){Object(z.t)(a);return{channels:Object(z.v)(a, +"channels",function(a){return Object(z.u)(a,c)}),scales:Object(z.v)(a,"dataset",d)}}function g(a,b,c,d){return a.memoize.getUncounted({type:"ndstore:getTokenInfo",hostnames:b,token:c},function(){return Object(A.d)(Object(A.b)(b,d+"/"+c+"/info/"),"json").then(e)})}function l(a,b,c,d){var e=c.match(F);if(null===e)throw Error("Invalid volume path "+JSON.stringify(c));var k=e[1],l=e[2],m=Object(z.e)(e[3]||"");return a.memoize.getUncounted({type:"ndstore:MultiscaleVolumeChunkSource",hostnames:b,path:c}, function(){return g(a,b,k,d).then(function(c){return new B(a,b,k,c,l,d,m)})})}function k(a,b){var c=b.match(L);if(null===c)throw Error("Invalid ndstore volume path: "+JSON.stringify(b));return l(a,[c[1]],c[2],u.b)}function t(a,b,c){return a.memoize.getUncounted({type:"dvid:getPublicTokens",hostnames:b},function(){return Object(A.d)(Object(A.b)(b,c+"/public_tokens/"),"json").then(function(a){return Object(z.a)(a,z.A)})})}function m(a,b,c,d){var e=c.match(/^(?:([^\/]+)(?:\/([^\/]*))?)?$/);if(null=== e)return Promise.reject(null);if(void 0===e[2]){var k=e[1]||"";return t(a,b,d).then(function(a){return{offset:0,completions:Object(y.c)(k,a,function(a){return a+"/"},function(){})}})}return g(a,b,e[1],d).then(function(a){a=Object(y.c)(e[2],a.channels,function(a){return a[0]},function(a){return a[1].channelType+" ("+v.a[a[1].dataType]+")"});return{offset:e[1].length+1,completions:a}})}function r(a,b){var c=a.match(L);return null===c?Promise.reject(null):m(b,[c[1]],c[2],u.b).then(function(a){return Object(y.a)(c[1].length+ -1,a)})}Object.defineProperty(f,"__esModule",{value:!0});a.d(f,"getVolume",function(){return k});a.d(f,"volumeCompleter",function(){return r});a.d(f,"MultiscaleVolumeChunkSource",function(){return B});f.getTokenInfo=g;f.getShardedVolume=l;f.getPublicTokens=t;f.tokenAndChannelCompleter=m;a.d(f,"NDStoreDataSource",function(){return I});a.d(f,"SingleServerDataSource",function(){return O});h=a(23);f=a(46);var u=a(152),v=a(26),w=a(33),y=a(61),x=a(2),A=a(62),z=a(4),D=function(){function a(a,b){for(var c= +1,a)})}Object.defineProperty(f,"__esModule",{value:!0});a.d(f,"getVolume",function(){return k});a.d(f,"volumeCompleter",function(){return r});a.d(f,"MultiscaleVolumeChunkSource",function(){return B});f.getTokenInfo=g;f.getShardedVolume=l;f.getPublicTokens=t;f.tokenAndChannelCompleter=m;a.d(f,"NDStoreDataSource",function(){return J});a.d(f,"SingleServerDataSource",function(){return O});h=a(24);f=a(46);var u=a(152),v=a(26),w=a(33),y=a(62),x=a(2),A=a(63),z=a(4),D=function(){function a(a,b){for(var c= 0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),E=new Map;E.set("image",v.c.IMAGE);E.set("annotation",v.c.SEGMENTATION);var G=new Set(["npz","raw","jpeg"]),C=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);return b}(Object(h.f)(w.b,u.c)),B=function(){function a(b,c,d,e,g, k,l){q(this,a);this.chunkManager=b;this.baseUrls=c;this.key=d;this.tokenInfo=e;this.parameters=l;this.urlPrefix=u.b;this.neariso=!0;if(void 0===g){g=Array.from(e.channels.keys());if(1!==g.length)throw Error("Dataset contains multiple channels: "+JSON.stringify(g));g=g[0]}b=e.channels.get(g);if(void 0===b)throw Error("Specified channel "+JSON.stringify(g)+" is not one of the supported "+("channels "+JSON.stringify(Array.from(e.channels.keys()))));this.channel=g;this.channelInfo=b;this.scales=e.scales; void 0!==k&&(this.urlPrefix=k);"false"===Object(z.y)(l.neariso)&&(this.neariso=!1);e=Object(z.y)(l.encoding);if(void 0===e)e=this.volumeType===v.c.IMAGE?"jpeg":"npz";else if(!G.has(e))throw Error("Invalid encoding: "+JSON.stringify(e)+".");this.encoding=e}D(a,[{key:"getSources",value:function(a){var b=this;return this.scales.map(function(c){for(var d=c.voxelOffset,e=c.voxelSize,g=x.s.create(),k=0;3>k;++k)g[k]=Math.ceil(d[k]);return v.b.getDefaults({numChannels:b.numChannels,volumeType:b.volumeType, dataType:b.dataType,voxelSize:e,transform:x.k.fromTranslation(x.k.create(),x.s.multiply(x.s.create(),d,e)),baseVoxelOffset:g,upperVoxelBound:c.imageSize,volumeSourceOptions:a}).map(function(a){return b.chunkManager.getChunkSource(C,{spec:a,parameters:{baseUrls:b.baseUrls,urlPrefix:b.urlPrefix,key:b.key,channel:b.channel,resolution:c.key,encoding:b.encoding,neariso:b.neariso}})})})}},{key:"getMeshSource",value:function(){return null}},{key:"dataType",get:function(){return this.channelInfo.dataType}}, -{key:"numChannels",get:function(){return 1}},{key:"volumeType",get:function(){return this.channelInfo.volumeType}}]);return a}(),F=/^([^\/?]+)(?:\/([^\/?]+))?(?:\?(.*))?$/,L=/^((?:http|https):\/\/[^\/?]+)\/(.*)$/,I=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);D(b,[{key:"volumeCompleter",value:function(a,b){return r(a,b)}},{key:"getVolume",value:function(a,b){return k(a,b)}},{key:"description",get:function(){return"NDstore"}}]); +{key:"numChannels",get:function(){return 1}},{key:"volumeType",get:function(){return this.channelInfo.volumeType}}]);return a}(),F=/^([^\/?]+)(?:\/([^\/?]+))?(?:\?(.*))?$/,L=/^((?:http|https):\/\/[^\/?]+)\/(.*)$/,J=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);D(b,[{key:"volumeCompleter",value:function(a,b){return r(a,b)}},{key:"getVolume",value:function(a,b){return k(a,b)}},{key:"description",get:function(){return"NDstore"}}]); return b}(f.a),O=function(a){function b(a,c,d){d=void 0===d?u.b:d;q(this,b);var e=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));e.description=a;e.hostnames=c;e.urlprefix=d;return e}n(b,a);D(b,[{key:"getVolume",value:function(a,b){return l(a,this.hostnames,b,this.urlprefix)}},{key:"volumeCompleter",value:function(a,b){return m(b,this.hostnames,a,this.urlprefix)}}]);return b}(f.a)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function"); -}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a){return new r.a({shaderError:a.shaderError, -fragmentMain:a.fragmentMain,fragmentMainStartLine:e.a})}Object.defineProperty(f,"__esModule",{value:!0});a.d(f,"ImageUserLayer",function(){return y});h=a(18);f=a(27);var b=a(47),d=a(26),e=a(160),g=a(56),l=a(162),k=a(163),t=a(55),m=a(81),r=a(111),u=a(40),v=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),w= +}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function d(a){return new r.a({shaderError:a.shaderError, +fragmentMain:a.fragmentMain,fragmentMainStartLine:e.a})}Object.defineProperty(f,"__esModule",{value:!0});a.d(f,"ImageUserLayer",function(){return y});h=a(18);f=a(27);var b=a(47),c=a(26),e=a(160),g=a(56),l=a(162),k=a(163),t=a(55),m=a(81),r=a(112),u=a(40),v=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),w= function D(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return D(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(171);a(172);var y=function(a){function b(a,c){q(this,b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,c));d.opacity=Object(g.a)(.5);d.blendMode=Object(l.c)();d.fragmentMain=Object(e.c)();d.shaderError=Object(t.c)();d.registerDisposer(d.fragmentMain.changed.add(d.specificationChanged.dispatch)); d.tabs.add("rendering",{label:"Rendering",order:-100,getter:function(){return new x(d)}});d.tabs.default="rendering";return d}n(b,a);v(b,[{key:"restoreState",value:function(a){var c=this;w(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"restoreState",this).call(this,a);this.opacity.restoreState(a.opacity);this.blendMode.restoreState(a.blend);this.fragmentMain.restoreState(a.shader);a=this.multiscaleSource;if(void 0===a)throw Error("source property must be specified");a.then(function(a){c.wasDisposed|| (a=c.renderLayer=new e.b(a,{opacity:c.opacity,blendMode:c.blendMode,fragmentMain:c.fragmentMain,shaderError:c.shaderError,transform:c.transform}),c.addRenderLayer(a),c.shaderError.changed.dispatch(),c.isReady=!0)})}},{key:"toJSON",value:function(){var a=w(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"toJSON",this).call(this);a.type="image";a.opacity=this.opacity.toJSON();a.blend=this.blendMode.toJSON();a.shader=this.fragmentMain.toJSON();return a}}]);return b}(Object(k.a)(h.i)),x=function(a){function b(a){q(this, -b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.layer=a;d.opacityWidget=d.registerDisposer(new m.a(d.layer.opacity));d.codeWidget=d.registerDisposer(c(d.layer));a=d.element;a.classList.add("image-dropdown");var e=d.opacityWidget,g=document.createElement("div");g.className="image-dropdown-top-row";e.promptElement.textContent="Opacity";e=document.createElement("div");e.style.flex="1";var k=document.createElement("a"),l=document.createElement("button");l.type="button";l.textContent= -"?";l.className="help-link";k.appendChild(l);k.title="Documentation on image layer rendering";k.target="_blank";k.href="https://github.com/google/neuroglancer/blob/master/src/neuroglancer/sliceview/image_layer_rendering.md";l=document.createElement("button");l.innerHTML="□";l.className="maximize-button";l.title="Show larger editor view";d.registerEventListener(l,"click",function(){new A(d.layer)});g.appendChild(d.opacityWidget.element);g.appendChild(e);g.appendChild(l);g.appendChild(k);a.appendChild(g); -a.appendChild(d.codeWidget.element);d.codeWidget.textEditor.refresh();d.visibility.changed.add(function(){d.visible&&d.codeWidget.textEditor.refresh()});return d}n(b,a);return b}(u.b),A=function(a){function b(a){q(this,b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.layer=a;d.codeWidget=d.registerDisposer(c(d.layer));d.content.classList.add("image-layer-shader-overlay");d.content.appendChild(d.codeWidget.element);d.codeWidget.textEditor.refresh();return d}n(b,a);return b}(b.a); -Object(f.e)("image",y);Object(f.f)(d.c.IMAGE,y)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype, -{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b,c,d){var e=x.s.transformMat4(x.s.create(),a,b);a=Object(D.c)(c.voxelFromSpatial(U,e));return void 0!==d?(b=document.createElement("span"),b.className="neuroglancer-voxel-coordinates-link",b.textContent=a,b.title="Center view on voxel coordinates "+a+".",b.addEventListener("click",function(){d(e)}),b):document.createTextNode(a)}function b(a,b,d,e,g){switch(b.type){case k.c.AXIS_ALIGNED_BOUNDING_BOX:case k.c.LINE:a.appendChild(c(b.pointA, -d,e,g));a.appendChild(document.createTextNode("\u2013"));a.appendChild(c(b.pointB,d,e,g));break;case k.c.POINT:a.appendChild(c(b.point,d,e,g));break;case k.c.ELLIPSOID:a.appendChild(c(b.center,d,e,g)),b=Object(x.p)(U,b.radii,d),e.voxelFromSpatial(b,b),a.appendChild(document.createTextNode("\u00b1"+Object(D.b)(b)))}}function d(a,b){var c=x.s.create();switch(a.type){case k.c.AXIS_ALIGNED_BOUNDING_BOX:case k.c.LINE:x.s.add(c,a.pointA,a.pointB);x.s.scale(c,c,.5);break;case k.c.POINT:x.s.copy(c,a.point); +b);var c=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.layer=a;c.opacityWidget=c.registerDisposer(new m.a(c.layer.opacity));c.codeWidget=c.registerDisposer(d(c.layer));a=c.element;a.classList.add("image-dropdown");var e=c.opacityWidget,g=document.createElement("div");g.className="image-dropdown-top-row";e.promptElement.textContent="Opacity";e=document.createElement("div");e.style.flex="1";var k=document.createElement("a"),l=document.createElement("button");l.type="button";l.textContent= +"?";l.className="help-link";k.appendChild(l);k.title="Documentation on image layer rendering";k.target="_blank";k.href="https://github.com/google/neuroglancer/blob/master/src/neuroglancer/sliceview/image_layer_rendering.md";l=document.createElement("button");l.innerHTML="□";l.className="maximize-button";l.title="Show larger editor view";c.registerEventListener(l,"click",function(){new A(c.layer)});g.appendChild(c.opacityWidget.element);g.appendChild(e);g.appendChild(l);g.appendChild(k);a.appendChild(g); +a.appendChild(c.codeWidget.element);c.codeWidget.textEditor.refresh();c.visibility.changed.add(function(){c.visible&&c.codeWidget.textEditor.refresh()});return c}n(b,a);return b}(u.b),A=function(a){function b(a){q(this,b);var c=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.layer=a;c.codeWidget=c.registerDisposer(d(c.layer));c.content.classList.add("image-layer-shader-overlay");c.content.appendChild(c.codeWidget.element);c.codeWidget.textEditor.refresh();return c}n(b,a);return b}(b.a); +Object(f.e)("image",y);Object(f.f)(c.c.IMAGE,y)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype, +{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function d(a,b,c,d){var e=x.s.transformMat4(x.s.create(),a,b);a=Object(D.c)(c.voxelFromSpatial(U,e));return void 0!==d?(b=document.createElement("span"),b.className="neuroglancer-voxel-coordinates-link",b.textContent=a,b.title="Center view on voxel coordinates "+a+".",b.addEventListener("click",function(){d(e)}),b):document.createTextNode(a)}function b(a,b,c,e,g){switch(b.type){case k.c.AXIS_ALIGNED_BOUNDING_BOX:case k.c.LINE:a.appendChild(d(b.pointA, +c,e,g));a.appendChild(document.createTextNode("\u2013"));a.appendChild(d(b.pointB,c,e,g));break;case k.c.POINT:a.appendChild(d(b.point,c,e,g));break;case k.c.ELLIPSOID:a.appendChild(d(b.center,c,e,g)),b=Object(x.p)(U,b.radii,c),e.voxelFromSpatial(b,b),a.appendChild(document.createTextNode("\u00b1"+Object(D.b)(b)))}}function c(a,b){var c=x.s.create();switch(a.type){case k.c.AXIS_ALIGNED_BOUNDING_BOX:case k.c.LINE:x.s.add(c,a.pointA,a.pointB);x.s.scale(c,c,.5);break;case k.c.POINT:x.s.copy(c,a.point); break;case k.c.ELLIPSOID:x.s.copy(c,a.center)}return x.s.transformMat4(c,c,b)}function e(a){var b;a=a.segmentationState.value;null!=a&&a.segmentSelectionState.hasSelectedSegment&&(b=[a.segmentSelectionState.selectedSegment.clone()]);return b}function g(a,b){return x.s.transformMat4(x.s.create(),a.position,b.globalToObject)}f.c=b;f.b=function(a){return{color:a.annotationColor,fillOpacity:a.annotationFillOpacity}};f.a=function(a){return function(a){function b(a){for(var c=[],d=0;d<arguments.length;++d)c[d- 0]=arguments[d];q(this,b);var e,g=p(this,(e=b.__proto__||Object.getPrototypeOf(b)).call.apply(e,[].concat([this],$jscomp.arrayFromIterable(c))));g.annotationLayerState=g.registerDisposer(new v.d);g.selectedAnnotation=g.registerDisposer(new S(g.annotationLayerState.addRef()));g.annotationColor=new w.a(x.s.fromValues(1,1,0));g.annotationFillOpacity=Object(u.a)(0);g.selectedAnnotation.changed.add(g.specificationChanged.dispatch);g.annotationColor.changed.add(g.specificationChanged.dispatch);g.tabs.add("annotations", {label:"Annotations",order:10,getter:function(){return new Q(g,g.selectedAnnotation.addRef(),g.manager.voxelSize.addRef(),function(a){return g.manager.setSpatialCoordinates(a)})}});g.annotationLayerState.changed.add(function(){var a=g.annotationLayerState.value;if(void 0!==a){var b=new t.a(g.manager.chunkManager,a.addRef());Object(r.b)(a,g.manager.layerSelectedValues.mouseState);g.addRenderLayer(new t.e(b));g.addRenderLayer(new t.d(b.addRef()));if(b.source instanceof m.b){var c=g.registerDisposer(new m.a(b.source.addRef())); g.registerDisposer(Object(v.h)(a.filterBySegmentation,function(a,b){b||(g.addRenderLayer(c.addRef()),a.registerDisposer(function(){return g.removeRenderLayer(c)}))}))}}});return g}n(b,a);P(b,[{key:"restoreState",value:function(a){M(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"restoreState",this).call(this,a);this.selectedAnnotation.restoreState(a.selectedAnnotation);this.annotationColor.restoreState(a.annotationColor);this.annotationFillOpacity.restoreState(a.annotationFillOpacity)}}, -{key:"toJSON",value:function(){var a=M(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"toJSON",this).call(this);a.selectedAnnotation=this.selectedAnnotation.toJSON();a.annotationColor=this.annotationColor.toJSON();a.annotationFillOpacity=this.annotationFillOpacity.toJSON();return a}},{key:"initializeAnnotationLayerViewTab",value:function(a){a}}]);return b}(a)};h=a(284);a.n(h);h=a(10);var l=a.n(h),k=a(28),t=a(72),m=a(96),r=a(101),u=a(56),v=a(9);h=a(139);var w=a(164);f=a(1);var y=a(8),x= -a(2),A=a(4),z=a(7),D=a(167),E=a(14),G=a(29),C=a(108),B=a(286),F=a(81),L=a(40),I=a(109),O=a(168),M=function X(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return X(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},P=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a, +{key:"toJSON",value:function(){var a=M(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"toJSON",this).call(this);a.selectedAnnotation=this.selectedAnnotation.toJSON();a.annotationColor=this.annotationColor.toJSON();a.annotationFillOpacity=this.annotationFillOpacity.toJSON();return a}},{key:"initializeAnnotationLayerViewTab",value:function(a){a}}]);return b}(a)};h=a(284);a.n(h);h=a(10);var l=a.n(h),k=a(28),t=a(73),m=a(97),r=a(102),u=a(56),v=a(9);h=a(139);var w=a(164);f=a(1);var y=a(8),x= +a(2),A=a(4),z=a(7),D=a(167),E=a(14),G=a(29),C=a(109),B=a(286),F=a(81),L=a(40),J=a(110),O=a(168),M=function X(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return X(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},P=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a, d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),N=function(a){function b(a,c){q(this,b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.reference=a;d.annotationLayer=c;d.element=document.createElement("div");d.addSegmentWidget=d.registerDisposer(new O.a);d.debouncedUpdateView=l()(function(){return d.updateView()},0);d.element.className="neuroglancer-annotation-segment-list";var e=d.addSegmentWidget;e.element.style.display="inline-block";e.element.title= "Associate segments";d.element.appendChild(e.element);d.registerDisposer(c.segmentationState.changed.add(d.debouncedUpdateView));d.registerDisposer(function(){return d.unregisterSegmentationState()});d.registerDisposer(d.addSegmentWidget.valuesEntered.add(function(a){var b=d.reference.value;null!=b&&(a=[].concat($jscomp.arrayFromIterable(b.segments||[]),$jscomp.arrayFromIterable(a)),b=Object.assign({},b,{segments:a}),d.annotationLayer.source.update(d.reference,b),d.annotationLayer.source.commit(d.reference))})); d.registerDisposer(a.changed.add(d.debouncedUpdateView));d.updateView();return d}n(b,a);P(b,[{key:"unregisterSegmentationState",value:function(){var a=this.segmentationState;null!=a&&(a.visibleSegments.changed.remove(this.debouncedUpdateView),a.segmentColorHash.changed.remove(this.debouncedUpdateView),a.segmentSelectionState.changed.remove(this.debouncedUpdateView),this.segmentationState=void 0)}},{key:"updateView",value:function(){var a=this,b=this.annotationLayer.segmentationState.value;b!==this.segmentationState&& @@ -997,19 +1022,19 @@ b);var c=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.annotation c.changed.dispatch()};c.registerDisposer(a);c.registerDisposer(a.changed.add(c.validate));c.updateAnnotationLayer();c.reference_=void 0;c.value_=void 0;return c}n(b,a);P(b,[{key:"updateAnnotationLayer",value:function(){var a=this.annotationLayerState.value;if(a===this.annotationLayer)return!1;this.unbindLayer();this.annotationLayer=a;void 0!==a&&a.source.changed.add(this.validate);return!0}},{key:"unbindLayer",value:function(){void 0!==this.annotationLayer&&(this.annotationLayer.source.changed.remove(this.validate), this.annotationLayer=void 0)}},{key:"disposed",value:function(){this.unbindLayer();this.unbindReference();M(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}},{key:"unbindReference",value:function(){var a=this.reference_;void 0!==a&&(a.changed.remove(this.referenceChanged),this.reference_=void 0)}},{key:"toJSON",value:function(){var a=this.value_;if(void 0!==a)return 0===a.partIndex?a.id:a}},{key:"reset",value:function(){this.value=void 0}},{key:"restoreState", value:function(a){void 0===a?this.value=void 0:"string"===typeof a?this.value={id:a,partIndex:0}:(Object(A.t)(a),this.value={id:Object(A.v)(a,"id",A.A),partIndex:Object(A.v)(a,"partIndex",A.x)})}},{key:"reference",get:function(){return this.reference_}},{key:"value",get:function(){return this.value_},set:function(a){this.value_=a;var b=this.reference_;void 0!==b&&(void 0!==a&&b.id===a.id||this.unbindReference());this.validate();this.changed.dispatch()}},{key:"validValue",get:function(){return this.annotationLayer&& -this.value_}}]);return b}(f.a),U=x.s.create(),Z=function(a){function c(a,b,d,e,g){q(this,c);var l=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));l.layer=a;l.state=b;l.annotationLayer=d;l.voxelSize=e;l.setSpatialCoordinates=g;l.annotationListContainer=document.createElement("ul");l.annotationListElements=new Map;l.updated=!1;l.element.classList.add("neuroglancer-annotation-layer-view");l.annotationListContainer.classList.add("neuroglancer-annotation-list");l.registerDisposer(b);l.registerDisposer(e); -l.registerDisposer(d);b=function(){l.updated=!1;l.updateView()};l.registerDisposer(d.source.changed.add(b));l.registerDisposer(l.visibility.changed.add(function(){return l.updateView()}));l.registerDisposer(d.transform.changed.add(b));l.updateView();b=document.createElement("div");b.className="neuroglancer-annotation-toolbox";a.initializeAnnotationLayerViewTab(l);a=l.registerDisposer(new F.a(l.annotationLayer.fillOpacity));a.promptElement.textContent="Fill opacity";l.element.appendChild(a.element); -a=l.registerDisposer(new B.a(l.annotationLayer.color));a.element.title="Change annotation display color";b.appendChild(a.element);d.source.readonly||(d=document.createElement("button"),d.textContent=Object(k.g)(k.c.POINT).icon,d.title="Annotate point",d.addEventListener("click",function(){l.layer.tool.value=new aa(l.layer,{})}),b.appendChild(d),d=document.createElement("button"),d.textContent=Object(k.g)(k.c.AXIS_ALIGNED_BOUNDING_BOX).icon,d.title="Annotate bounding box",d.addEventListener("click", -function(){l.layer.tool.value=new ba(l.layer,{})}),b.appendChild(d),d=document.createElement("button"),d.textContent=Object(k.g)(k.c.LINE).icon,d.title="Annotate line",d.addEventListener("click",function(){l.layer.tool.value=new ka(l.layer,{})}),b.appendChild(d),d=document.createElement("button"),d.textContent=Object(k.g)(k.c.ELLIPSOID).icon,d.title="Annotate ellipsoid",d.addEventListener("click",function(){l.layer.tool.value=new fa(l.layer,{})}),b.appendChild(d));l.element.appendChild(b);l.element.appendChild(l.annotationListContainer); -l.annotationListContainer.addEventListener("mouseleave",function(){l.annotationLayer.hoverState.value=void 0});l.registerDisposer(l.annotationLayer.hoverState.changed.add(function(){return l.updateHoverView()}));l.registerDisposer(l.state.changed.add(function(){return l.updateSelectionView()}));return l}n(c,a);P(c,[{key:"updateSelectionView",value:function(){var a=this.state.value;if(void 0!==a)var b=a.id;a=this.previousSelectedId;b!==a&&(void 0!==a&&(a=this.annotationListElements.get(a),void 0!== +this.value_}}]);return b}(f.a),U=x.s.create(),Z=function(a){function d(a,b,c,e,g){q(this,d);var l=p(this,(d.__proto__||Object.getPrototypeOf(d)).call(this));l.layer=a;l.state=b;l.annotationLayer=c;l.voxelSize=e;l.setSpatialCoordinates=g;l.annotationListContainer=document.createElement("ul");l.annotationListElements=new Map;l.updated=!1;l.element.classList.add("neuroglancer-annotation-layer-view");l.annotationListContainer.classList.add("neuroglancer-annotation-list");l.registerDisposer(b);l.registerDisposer(e); +l.registerDisposer(c);b=function(){l.updated=!1;l.updateView()};l.registerDisposer(c.source.changed.add(b));l.registerDisposer(l.visibility.changed.add(function(){return l.updateView()}));l.registerDisposer(c.transform.changed.add(b));l.updateView();b=document.createElement("div");b.className="neuroglancer-annotation-toolbox";a.initializeAnnotationLayerViewTab(l);a=l.registerDisposer(new F.a(l.annotationLayer.fillOpacity));a.promptElement.textContent="Fill opacity";l.element.appendChild(a.element); +a=l.registerDisposer(new B.a(l.annotationLayer.color));a.element.title="Change annotation display color";b.appendChild(a.element);c.source.readonly||(c=document.createElement("button"),c.textContent=Object(k.g)(k.c.POINT).icon,c.title="Annotate point",c.addEventListener("click",function(){l.layer.tool.value=new aa(l.layer,{})}),b.appendChild(c),c=document.createElement("button"),c.textContent=Object(k.g)(k.c.AXIS_ALIGNED_BOUNDING_BOX).icon,c.title="Annotate bounding box",c.addEventListener("click", +function(){l.layer.tool.value=new ba(l.layer,{})}),b.appendChild(c),c=document.createElement("button"),c.textContent=Object(k.g)(k.c.LINE).icon,c.title="Annotate line",c.addEventListener("click",function(){l.layer.tool.value=new ka(l.layer,{})}),b.appendChild(c),c=document.createElement("button"),c.textContent=Object(k.g)(k.c.ELLIPSOID).icon,c.title="Annotate ellipsoid",c.addEventListener("click",function(){l.layer.tool.value=new fa(l.layer,{})}),b.appendChild(c));l.element.appendChild(b);l.element.appendChild(l.annotationListContainer); +l.annotationListContainer.addEventListener("mouseleave",function(){l.annotationLayer.hoverState.value=void 0});l.registerDisposer(l.annotationLayer.hoverState.changed.add(function(){return l.updateHoverView()}));l.registerDisposer(l.state.changed.add(function(){return l.updateSelectionView()}));return l}n(d,a);P(d,[{key:"updateSelectionView",value:function(){var a=this.state.value;if(void 0!==a)var b=a.id;a=this.previousSelectedId;b!==a&&(void 0!==a&&(a=this.annotationListElements.get(a),void 0!== a&&a.classList.remove("neuroglancer-annotation-selected")),void 0!==b&&(a=this.annotationListElements.get(b),void 0!==a&&(a.classList.add("neuroglancer-annotation-selected"),a.scrollIntoView())),this.previousSelectedId=b)}},{key:"updateHoverView",value:function(){var a=this.annotationLayer.hoverState.value;if(void 0!==a)var b=a.id;a=this.previousHoverId;b!==a&&(void 0!==a&&(a=this.annotationListElements.get(a),void 0!==a&&a.classList.remove("neuroglancer-annotation-hover")),void 0!==b&&(a=this.annotationListElements.get(b), -void 0!==a&&a.classList.add("neuroglancer-annotation-hover")),this.previousHoverId=b)}},{key:"updateView",value:function(){var a=this;if(this.visible&&!this.updated){var b=this.annotationLayer,c=this.annotationListContainer,e=this.annotationListElements,g=b.source;Object(y.a)(c);this.annotationListElements.clear();b=b.objectToGlobal;var k={};g=$jscomp.makeIterator(g);for(var l=g.next();!l.done;k={annotation:k.annotation},l=g.next())k.annotation=l.value,l=this.makeAnnotationListElement(k.annotation, -b),c.appendChild(l),e.set(k.annotation.id,l),l.addEventListener("mouseenter",function(b){return function(){a.annotationLayer.hoverState.value={id:b.annotation.id,partIndex:0}}}(k)),l.addEventListener("click",function(b){return function(){a.state.value={id:b.annotation.id,partIndex:0}}}(k)),l.addEventListener("mouseup",function(b){return function(c){2===c.button&&a.setSpatialCoordinates(d(b.annotation,a.annotationLayer.objectToGlobal))}}(k));this.previousHoverId=this.previousSelectedId=void 0;this.updated= +void 0!==a&&a.classList.add("neuroglancer-annotation-hover")),this.previousHoverId=b)}},{key:"updateView",value:function(){var a=this;if(this.visible&&!this.updated){var b=this.annotationLayer,d=this.annotationListContainer,e=this.annotationListElements,g=b.source;Object(y.a)(d);this.annotationListElements.clear();b=b.objectToGlobal;var k={};g=$jscomp.makeIterator(g);for(var l=g.next();!l.done;k={annotation:k.annotation},l=g.next())k.annotation=l.value,l=this.makeAnnotationListElement(k.annotation, +b),d.appendChild(l),e.set(k.annotation.id,l),l.addEventListener("mouseenter",function(b){return function(){a.annotationLayer.hoverState.value={id:b.annotation.id,partIndex:0}}}(k)),l.addEventListener("click",function(b){return function(){a.state.value={id:b.annotation.id,partIndex:0}}}(k)),l.addEventListener("mouseup",function(b){return function(d){2===d.button&&a.setSpatialCoordinates(c(b.annotation,a.annotationLayer.objectToGlobal))}}(k));this.previousHoverId=this.previousSelectedId=void 0;this.updated= !0;this.updateHoverView();this.updateSelectionView()}}},{key:"makeAnnotationListElement",value:function(a,c){var d=document.createElement("li");d.title="Click to select, right click to recenter view.";var e=document.createElement("div");e.className="neuroglancer-annotation-icon";e.textContent=Object(k.g)(a.type).icon;d.appendChild(e);e=document.createElement("div");e.className="neuroglancer-annotation-position";b(e,a,c,this.voxelSize,this.setSpatialCoordinates);d.appendChild(e);a.description&&(c= -document.createElement("div"),c.className="neuroglancer-annotation-description",c.textContent=a.description,d.appendChild(c));return d}}]);return c}(L.b),H=function(a){function c(a,b,d){q(this,c);var e=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));e.state=a;e.voxelSize=b;e.setSpatialCoordinates=d;e.valid=!1;e.mouseEntered=!1;e.element.classList.add("neuroglancer-annotation-details");e.registerDisposer(a);e.registerDisposer(b);e.registerDisposer(e.state.changed.add(function(){e.valid= +document.createElement("div"),c.className="neuroglancer-annotation-description",c.textContent=a.description,d.appendChild(c));return d}}]);return d}(L.b),H=function(a){function c(a,b,d){q(this,c);var e=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));e.state=a;e.voxelSize=b;e.setSpatialCoordinates=d;e.valid=!1;e.mouseEntered=!1;e.element.classList.add("neuroglancer-annotation-details");e.registerDisposer(a);e.registerDisposer(b);e.registerDisposer(e.state.changed.add(function(){e.valid= !1;e.updateView()}));e.registerDisposer(e.visibility.changed.add(function(){return e.updateView()}));e.state.changed.add(function(){e.valid=!1;e.updateView()});e.element.addEventListener("mouseenter",function(){e.mouseEntered=!0;void 0!==e.hoverState&&(e.hoverState.value=e.state.value)});e.element.addEventListener("mouseleave",function(){e.mouseEntered=!1;void 0!==e.hoverState&&(e.hoverState.value=void 0)});e.updateView();return e}n(c,a);P(c,[{key:"updateView",value:function(){var a=this;if(this.visible){if(this.element.style.display= null,!this.valid){var c=this.element;Object(y.a)(c);this.valid=!0;var d=this.state.reference;if(void 0!==d){var e=this.state.value,g=d.value;if(null!=g){var l=this.state.annotationLayerState.value;this.hoverState=l.hoverState;this.mouseEntered&&(this.hoverState.value=e);var m=l.objectToGlobal,r=this.voxelSize,f=Object(k.g)(g.type),t=document.createElement("div");t.className="neuroglancer-annotation-details-title";var u=document.createElement("div");u.className="neuroglancer-annotation-details-icon"; -u.textContent=f.icon;var h=document.createElement("div");h.className="neuroglancer-annotation-details-title-text";h.textContent=""+f.description;t.appendChild(u);t.appendChild(h);l.source.readonly||(f=Object(I.a)("\ud83d\uddd1","Delete annotation"),f.addEventListener("click",function(){var a=l.source.getReference(e.id);try{l.source.delete(a)}finally{a.dispose()}}),t.appendChild(f));f=Object(C.a)();f.title="Hide annotation details";f.addEventListener("click",function(){a.state.value=void 0});t.appendChild(f); +u.textContent=f.icon;var h=document.createElement("div");h.className="neuroglancer-annotation-details-title-text";h.textContent=""+f.description;t.appendChild(u);t.appendChild(h);l.source.readonly||(f=Object(J.a)("\ud83d\uddd1","Delete annotation"),f.addEventListener("click",function(){var a=l.source.getReference(e.id);try{l.source.delete(a)}finally{a.dispose()}}),t.appendChild(f));f=Object(C.a)();f.title="Hide annotation details";f.addEventListener("click",function(){a.state.value=void 0});t.appendChild(f); c.appendChild(t);t=document.createElement("div");t.className="neuroglancer-annotation-details-position";b(t,g,m,r,this.setSpatialCoordinates);c.appendChild(t);g.type===k.c.AXIS_ALIGNED_BOUNDING_BOX?(t=document.createElement("div"),t.className="neuroglancer-annotation-details-volume",t.textContent=Object(D.a)(g.pointA,g.pointB,m),c.appendChild(t),t=Object(x.p)(U,x.s.subtract(U,g.pointA,g.pointB),m),m=document.createElement("div"),m.className="neuroglancer-annotation-details-volume-in-voxels",r=r.voxelFromSpatial(U, t),m.textContent=""+Object(D.b)(r),c.appendChild(m)):g.type===k.c.LINE&&(f=Object(x.p)(U,x.s.subtract(U,g.pointA,g.pointB),m),m=document.createElement("div"),m.className="neuroglancer-annotation-details-length",t=Object(D.d)(x.s.length(f)),u="",r.valid&&(r=x.s.length(r.voxelFromSpatial(U,f)),u=", "+Math.round(r)+" vx"),m.textContent=t+u,c.appendChild(m));r=this.segmentListWidget;void 0!==r&&r.reference!==d&&(r.dispose(),this.unregisterDisposer(r),r=this.segmentListWidget=void 0);void 0===r&&(this.segmentListWidget= r=this.registerDisposer(new N(d,l)));c.appendChild(r.element);var v=document.createElement("textarea");v.value=g.description||"";v.rows=3;v.className="neuroglancer-annotation-details-description";v.placeholder="Description";l.source.readonly?v.readOnly=!0:v.addEventListener("change",function(){var a=v.value;l.source.update(d,Object.assign({},g,{description:a?a:void 0}));l.source.commit(d)});c.appendChild(v)}}}}else this.element.style.display="none",this.hoverState=void 0}}]);return c}(L.b),Q=function(a){function b(a, @@ -1024,30 +1049,30 @@ b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))} M(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"getUpdatedAnnotation",this).call(this,a,c,d);var g=a.segments;void 0!==g&&0<g.length&&(g.length=1);(d=e(d))&&g&&(d=d.filter(function(a){return-1===g.findIndex(function(b){return E.a.equal(a,b)})}));a.segments=[].concat($jscomp.arrayFromIterable(g||[]),$jscomp.arrayFromIterable(d||[]))||void 0;return a}},{key:"toJSON",value:function(){return"annotateLine"}},{key:"description",get:function(){return"annotate line"}}]);return b}(f);ka.prototype.annotationType= k.c.LINE;var fa=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);P(b,[{key:"getInitialAnnotation",value:function(a,b){a=g(a,b);return{type:k.c.ELLIPSOID,id:"",description:"",segments:e(b),center:a,radii:x.s.fromValues(0,0,0)}}},{key:"getUpdatedAnnotation",value:function(a,b,c){var d=x.s.transformMat4(x.s.create(),a.center,c.objectToGlobal);d=x.s.distance(d,b.position);b=x.i.create();b[0]=b[4]=b[8]=1/(d*d);c=Object(x.j)(x.i.create(), c.objectToGlobal);x.i.multiply(b,b,c);x.i.transpose(c,c);x.i.multiply(b,c,b);return Object.assign({},a,{radii:x.s.fromValues(1/Math.sqrt(b[0]),1/Math.sqrt(b[4]),1/Math.sqrt(b[8]))})}},{key:"toJSON",value:function(){return"annotateSphere"}},{key:"description",get:function(){return"annotate ellipsoid"}}]);return b}(a);Object(h.b)("annotatePoint",function(a,b){return new aa(a,b)});Object(h.b)("annotateBoundingBox",function(a,b){return new ba(a,b)});Object(h.b)("annotateLine",function(a,b){return new ka(a, -b)});Object(h.b)("annotateSphere",function(a,b){return new fa(a,b)})},function(h,f,a){f.a=function(){return Object(q.a)("\u274c")};var q=a(109)},function(h,f,a){f.a=function(a,f){var h=document.createElement("div"),c=document.createElement("div");c.textContent=a;h.className="neuroglancer-icon-button";h.appendChild(c);void 0!==f&&(h.title=f);return h};h=a(285);a.n(h)},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b|| -"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}f.a=function(a){return function(a){function e(a){for(var b=[],d=0;d<arguments.length;++d)b[d-0]=arguments[d];if(!(this instanceof e))throw new TypeError("Cannot call a class as a function"); -var g,k=q(this,(g=e.__proto__||Object.getPrototypeOf(e)).call.apply(g,[].concat([this],$jscomp.arrayFromIterable(b))));k.transform=new n.a;k.transform.changed.add(k.specificationChanged.dispatch);k.tabs.add("transform",{label:"Transform",order:100,getter:function(){return new c.a(k.transform)}});k.transform.restoreState(b[1].transform);return k}p(e,a);b(e,[{key:"toJSON",value:function(){var a=d(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"toJSON",this).call(this);a.transform=this.transform.toJSON(); -return a}}]);return e}(a)};var n=a(58),c=a(289),b=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),d=function g(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return g(a,b,c)}else{if("value"in d)return d.value;b=d.get; +b)});Object(h.b)("annotateSphere",function(a,b){return new fa(a,b)})},function(h,f,a){f.a=function(){return Object(q.a)("\u274c")};var q=a(110)},function(h,f,a){f.a=function(a,f){var h=document.createElement("div"),d=document.createElement("div");d.textContent=a;h.className="neuroglancer-icon-button";h.appendChild(d);void 0!==f&&(h.title=f);return h};h=a(285);a.n(h)},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b|| +"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}f.a=function(a){return function(a){function e(a){for(var b=[],c=0;c<arguments.length;++c)b[c-0]=arguments[c];if(!(this instanceof e))throw new TypeError("Cannot call a class as a function"); +var g,k=q(this,(g=e.__proto__||Object.getPrototypeOf(e)).call.apply(g,[].concat([this],$jscomp.arrayFromIterable(b))));k.transform=new n.a;k.transform.changed.add(k.specificationChanged.dispatch);k.tabs.add("transform",{label:"Transform",order:100,getter:function(){return new d.a(k.transform)}});k.transform.restoreState(b[1].transform);return k}p(e,a);b(e,[{key:"toJSON",value:function(){var a=c(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"toJSON",this).call(this);a.transform=this.transform.toJSON(); +return a}}]);return e}(a)};var n=a(58),d=a(289),b=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),c=function g(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return g(a,b,c)}else{if("value"in d)return d.value;b=d.get; return void 0===b?void 0:b.call(c)}}},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a, -b):a.__proto__=b)}a.d(f,"a",function(){return g});h=a(291);a.n(h);h=a(292);a.n(h);h=a(169);a.n(h);h=a(170);a.n(h);h=a(48);var n=a.n(h);h=a(10);var c=a.n(h);h=a(1);var b=a(8),d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),e=function k(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a, -b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return k(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(293)(n.a);var g=function(a){function g(a){if(!(this instanceof g))throw new TypeError("Cannot call a class as a function");var b=q(this,(g.__proto__||Object.getPrototypeOf(g)).call(this));b.state=a;b.changingValue=!1;b.debouncedValueUpdater=c()(function(){b.changingValue=!0;try{b.state.fragmentMain.value=b.textEditor.getValue()}finally{b.changingValue= +b):a.__proto__=b)}a.d(f,"a",function(){return g});h=a(291);a.n(h);h=a(292);a.n(h);h=a(169);a.n(h);h=a(170);a.n(h);h=a(48);var n=a.n(h);h=a(10);var d=a.n(h);h=a(1);var b=a(8),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),e=function k(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a, +b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return k(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(293)(n.a);var g=function(a){function g(a){if(!(this instanceof g))throw new TypeError("Cannot call a class as a function");var b=q(this,(g.__proto__||Object.getPrototypeOf(g)).call(this));b.state=a;b.changingValue=!1;b.debouncedValueUpdater=d()(function(){b.changingValue=!0;try{b.state.fragmentMain.value=b.textEditor.getValue()}finally{b.changingValue= !1}},500);b.textEditor=n()(function(a){},{value:b.state.fragmentMain.value,mode:"glsl",gutters:["CodeMirror-lint-markers"]});b.textEditor.on("change",function(){b.setValidState(void 0);b.debouncedValueUpdater()});b.registerDisposer(b.state.fragmentMain.changed.add(function(){b.changingValue||b.textEditor.setValue(b.state.fragmentMain.value)}));b.element.classList.add("neuroglancer-shader-code-widget");b.registerDisposer(b.state.shaderError.changed.add(function(){b.updateErrorState()}));b.updateErrorState(); -return b}p(g,a);d(g,[{key:"updateErrorState",value:function(){var a=this,b=this.state.shaderError.value;void 0===b?this.setValidState(void 0):null!==b?(this.textEditor.setOption("lint",{getAnnotations:function(){if("ShaderCompilationError"===b.name){var c=b.source.split("\n").indexOf(a.state.fragmentMainStartLine)+2;return b.errorMessages.map(function(a){return{message:a.message,severity:"error",from:n.a.Pos(void 0===a.line?0:a.line-c)}})}return"ShaderLinkError"===b.name?[{message:b.log,severity:"error", +return b}p(g,a);c(g,[{key:"updateErrorState",value:function(){var a=this,b=this.state.shaderError.value;void 0===b?this.setValidState(void 0):null!==b?(this.textEditor.setOption("lint",{getAnnotations:function(){if("ShaderCompilationError"===b.name){var c=b.source.split("\n").indexOf(a.state.fragmentMainStartLine)+2;return b.errorMessages.map(function(a){return{message:a.message,severity:"error",from:n.a.Pos(void 0===a.line?0:a.line-c)}})}return"ShaderLinkError"===b.name?[{message:b.log,severity:"error", from:n.a.Pos(0)}]:[{message:b.message,severity:"error",from:n.a.Pos(0)}]}}),this.setValidState(!1)):(this.textEditor.setOption("lint",void 0),this.setValidState(!0))}},{key:"setValidState",value:function(a){var b=this.element;b.classList.remove("invalid-input");b.classList.remove("valid-input");!0===a?b.classList.add("valid-input"):!1===a&&b.classList.add("invalid-input")}},{key:"disposed",value:function(){this.debouncedValueUpdater.flush();this.debouncedValueUpdater=void 0;Object(b.b)(this.element); -this.textEditor=void 0;e(g.prototype.__proto__||Object.getPrototypeOf(g.prototype),"disposed",this).call(this)}},{key:"element",get:function(){return this.textEditor.getWrapperElement()}}]);return g}(h.a)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a){return a-Math.floor(a)}a.d(f,"b",function(){return l});a.d(f,"a",function(){return m});var n=a(113),c=a(114),b=a(149),d=a(7),e=a(21),g=function(){function a(a,b){for(var c= -0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),l=function(){function a(b){q(this,a);this.prefix=b;this.aName=this.prefix+"_a";this.bName=this.prefix+"_b"}g(a,[{key:"defineShader",value:function(a){var b=this.aName,d=this.bName;a.addUniform("highp vec4",b,4);a.addUniform("highp float",d,4);a.addFragmentCode(e.n);a.addFragmentCode(c.d);a.addFragmentCode(e.h); -for(var g="\nvec3 "+this.prefix+"(uint64_t x) {\n vec2 v;\n float primeModulus = float("+n.b+");\n",k=0;2>k;++k){var l=2*k,m=2*k;g+="\n v["+k+"] = computeHash(x,\n "+b+"["+m+"], "+b+"["+(m+1)+"],\n "+d+"["+l+"], "+d+"["+(l+1)+"],\n primeModulus, 1.0 / 256.0);\n"}a.addFragmentCode(g+"\n vec3 hsv = vec3(v.x, 0.5 + v.y * 0.5, 1.0);\n return hsvToRgb(hsv);\n}\n")}},{key:"enable",value:function(a,b,c){a.uniform4fv(b.uniform(this.aName), -c.a_);a.uniform1fv(b.uniform(this.bName),c.b_)}}]);return a}(),k=new Float32Array(2),t=new Float32Array(3),m=function(){function a(b){q(this,a);this.a_=new Float32Array(16);this.b_=new Float32Array(4);this.changed=new d.a;null==b?(this.hashFunctions=Array(2),this.randomize_()):this.hashFunctions=b;this.computeGPUCoefficients_()}g(a,[{key:"compute",value:function(a,c){var d=c.low;c=c.high;for(var e=this.hashFunctions,g=0;2>g;++g)k[g]=p(e[g].compute(d,c)/256);Object(b.a)(a,k[0],.5+.5*k[1],1);return a}}, +this.textEditor=void 0;e(g.prototype.__proto__||Object.getPrototypeOf(g.prototype),"disposed",this).call(this)}},{key:"element",get:function(){return this.textEditor.getWrapperElement()}}]);return g}(h.a)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a){return a-Math.floor(a)}a.d(f,"b",function(){return l});a.d(f,"a",function(){return m});var n=a(114),d=a(115),b=a(149),c=a(7),e=a(21),g=function(){function a(a,b){for(var c= +0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),l=function(){function a(b){q(this,a);this.prefix=b;this.aName=this.prefix+"_a";this.bName=this.prefix+"_b"}g(a,[{key:"defineShader",value:function(a){var b=this.aName,c=this.bName;a.addUniform("highp vec4",b,4);a.addUniform("highp float",c,4);a.addFragmentCode(e.n);a.addFragmentCode(d.d);a.addFragmentCode(e.h); +for(var g="\nvec3 "+this.prefix+"(uint64_t x) {\n vec2 v;\n float primeModulus = float("+n.b+");\n",k=0;2>k;++k){var l=2*k,m=2*k;g+="\n v["+k+"] = computeHash(x,\n "+b+"["+m+"], "+b+"["+(m+1)+"],\n "+c+"["+l+"], "+c+"["+(l+1)+"],\n primeModulus, 1.0 / 256.0);\n"}a.addFragmentCode(g+"\n vec3 hsv = vec3(v.x, 0.5 + v.y * 0.5, 1.0);\n return hsvToRgb(hsv);\n}\n")}},{key:"enable",value:function(a,b,c){a.uniform4fv(b.uniform(this.aName), +c.a_);a.uniform1fv(b.uniform(this.bName),c.b_)}}]);return a}(),k=new Float32Array(2),t=new Float32Array(3),m=function(){function a(b){q(this,a);this.a_=new Float32Array(16);this.b_=new Float32Array(4);this.changed=new c.a;null==b?(this.hashFunctions=Array(2),this.randomize_()):this.hashFunctions=b;this.computeGPUCoefficients_()}g(a,[{key:"compute",value:function(a,c){var d=c.low;c=c.high;for(var e=this.hashFunctions,g=0;2>g;++g)k[g]=p(e[g].compute(d,c)/256);Object(b.a)(a,k[0],.5+.5*k[1],1);return a}}, {key:"computeCssColor",value:function(a){this.compute(t,a);return"rgb("+100*t[0]+"%,"+100*t[1]+"%,"+100*t[2]+"%)"}},{key:"debugCompute",value:function(a,b){var c=b.low;b=b.high;for(var d=this.b_,e=n.b,g=0;2>g;++g){for(var k=2*g,l=2*g,m=new Float32Array(2),r=0;4>r;++r)m[0]+=this.a_[4*l+r]*(c>>8*r&255),m[1]+=this.a_[4*(l+1)+r]*(b>>8*r&255);l=(m[0]+m[1])%e;r=l*l%e;var f=r*d[k+1]%e,t=(d[k]+l+f)%e;console.log("b = "+d[k]+", sums="+m[0]+" "+m[1]+", dotResult="+l+", "+("prod = "+l*l+" dotResult2="+r+", y="+ f+", ")+("modResult="+t));a[g]=p(1/256*t)}return a}},{key:"randomize_",value:function(){for(var a=0;2>a;++a)this.hashFunctions[a]=n.a.generate()}},{key:"randomize",value:function(){this.randomize_();this.computeGPUCoefficients_();this.changed.dispatch()}},{key:"toString",value:function(){return"new SegmentColorHash(["+this.hashFunctions+"])"}},{key:"computeGPUCoefficients_",value:function(){for(var a=this.hashFunctions,b=this.a_,c=this.b_,d=0;2>d;++d){var e=a[d],g=2*d,k=8*d;c[g]=1*e.b;c[g+1]=1*e.c; -for(g=0;4>g;++g)b[k+g]=1*e.a0[g],b[k+4+g]=1*e.a1[g]}}}],[{key:"getDefault",value:function(){return new a([new n.a(Float32Array.of(609,2364,3749,2289),Float32Array.of(2840,1186,3660,1833),1718,1109),new n.a(Float32Array.of(3466,3835,3345,2040),Float32Array.of(3382,901,18,3444),1534,1432)])}}]);return a}()},function(h,f,a){a.d(f,"a",function(){return p});var q=function(){function a(a,b){for(var c=0;c<b.length;c++){var e=b[c];e.enumerable=e.enumerable||!1;e.configurable=!0;"value"in e&&(e.writable=!0); -Object.defineProperty(a,e.key,e)}}return function(c,b,d){b&&a(c.prototype,b);d&&a(c,d);return c}}();f.b=4093;var p=function(){function a(c,b,d,e){if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");this.a0=c;this.a1=b;this.b=d;this.c=e}q(a,[{key:"computeDotProduct",value:function(a,b){var c=this.a0,e=this.a1;return c[0]*(a&255)+c[1]*(a>>8&255)+c[2]*(a>>16&255)+c[3]*(a>>24&255)+(e[0]*(b&255)+e[1]*(b>>8&255)+e[2]*(b>>16&255)+e[3]*(b>>24&255))}},{key:"compute",value:function(a, -b){var c=this.b,e=this.c;a=this.computeDotProduct(a,b);return(a+a*a%4093*e+c)%4093}},{key:"toString",value:function(){return"new HashFunction(Float32Array.of("+this.a0+"), "+("Float32Array.of("+this.a1+"), "+this.b+", "+this.c+")")}}],[{key:"generate",value:function(){function c(){return Math.floor(4093*Math.random())}return new a(Float32Array.of(c(),c(),c(),c()),Float32Array.of(c(),c(),c(),c()),c(),c())}}]);return a}()},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function"); +for(g=0;4>g;++g)b[k+g]=1*e.a0[g],b[k+4+g]=1*e.a1[g]}}}],[{key:"getDefault",value:function(){return new a([new n.a(Float32Array.of(609,2364,3749,2289),Float32Array.of(2840,1186,3660,1833),1718,1109),new n.a(Float32Array.of(3466,3835,3345,2040),Float32Array.of(3382,901,18,3444),1534,1432)])}}]);return a}()},function(h,f,a){a.d(f,"a",function(){return p});var q=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0); +Object.defineProperty(a,d.key,d)}}return function(d,b,c){b&&a(d.prototype,b);c&&a(d,c);return d}}();f.b=4093;var p=function(){function a(d,b,c,e){if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");this.a0=d;this.a1=b;this.b=c;this.c=e}q(a,[{key:"computeDotProduct",value:function(a,b){var c=this.a0,d=this.a1;return c[0]*(a&255)+c[1]*(a>>8&255)+c[2]*(a>>16&255)+c[3]*(a>>24&255)+(d[0]*(b&255)+d[1]*(b>>8&255)+d[2]*(b>>16&255)+d[3]*(b>>24&255))}},{key:"compute",value:function(a, +b){var c=this.b,d=this.c;a=this.computeDotProduct(a,b);return(a+a*a%4093*d+c)%4093}},{key:"toString",value:function(){return"new HashFunction(Float32Array.of("+this.a0+"), "+("Float32Array.of("+this.a1+"), "+this.b+", "+this.c+")")}}],[{key:"generate",value:function(){function d(){return Math.floor(4093*Math.random())}return new a(Float32Array.of(d(),d(),d(),d()),Float32Array.of(d(),d(),d(),d()),d(),d())}}]);return a}()},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function"); }function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return t}); -a.d(f,"c",function(){return m});a.d(f,"b",function(){return r});var c=a(113),b=a(65);h=a(1);var d=a(21),e=a(76),g=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),l=function v(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!== -a)return v(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},k=[d.q,d.n,d.e,d.i,"\nfloat computeHash(uint64_t x, vec4 a0, vec4 a1, float b, float c, float modulus, float scalar) {\n x.low = unnormalizeUint8(x.low);\n x.high = unnormalizeUint8(x.high);\n float dotResult = imod(exactDot(a0, x.low) + exactDot(a1, x.high), modulus);\n float dotResult2 = imod(dotResult * dotResult, modulus);\n float y = imod(dotResult2 * c, modulus);\n float modResult = imod(dotResult + y + b, modulus);\n return fract(modResult * scalar);\n}\n"]; -f.d=k;var t=function(a){function b(a,c){q(this,b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.gl=a;d.hashTable=c;d.hashFunctions=null;d.generation=-1;d.texture=null;c=c.hashFunctions.length;d.a=new Float32Array(16*c);d.b=new Float32Array(4*c+5);d.texture=a.createTexture();return d}n(b,a);g(b,[{key:"computeCoefficients",value:function(){var a=this.hashTable,b=a.hashFunctions;if(this.hashFunctions!==b){this.hashFunctions=b;for(var d=this.a,e=this.b,g=b.length,k=a.width,l=[1/k, -1/a.height],m=0;2>m;++m)e[4*g+m]=c.b,e[4*g+3+m]=l[m];e[4*g+2]=1/(a.entryStride*k);for(k=0;k<g;++k)for(l=b[k],m=0;2>m;++m){var r=l[m],f=4*k+2*m,t=4*(4*k+2*m);e[f]=r.b+(0===m?.5/a.entryStride:.5);e[f+1]=r.c;for(f=0;4>f;++f)d[t+f]=r.a0[f],d[t+4+f]=r.a1[f]}}}},{key:"copyToGPU",value:function(){this.computeCoefficients();var a=this.hashTable,b=a.generation;if(this.generation!==b){this.generation=b;var c=a.width,d=a.height,g=this.gl;b=this.texture;g.activeTexture(g.TEXTURE0+g.tempTextureUnit);g.bindTexture(g.TEXTURE_2D, +a.d(f,"c",function(){return m});a.d(f,"b",function(){return r});var d=a(114),b=a(66);h=a(1);var c=a(21),e=a(77),g=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),l=function v(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!== +a)return v(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},k=[c.q,c.n,c.e,c.i,"\nfloat computeHash(uint64_t x, vec4 a0, vec4 a1, float b, float c, float modulus, float scalar) {\n x.low = unnormalizeUint8(x.low);\n x.high = unnormalizeUint8(x.high);\n float dotResult = imod(exactDot(a0, x.low) + exactDot(a1, x.high), modulus);\n float dotResult2 = imod(dotResult * dotResult, modulus);\n float y = imod(dotResult2 * c, modulus);\n float modResult = imod(dotResult + y + b, modulus);\n return fract(modResult * scalar);\n}\n"]; +f.d=k;var t=function(a){function b(a,c){q(this,b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.gl=a;d.hashTable=c;d.hashFunctions=null;d.generation=-1;d.texture=null;c=c.hashFunctions.length;d.a=new Float32Array(16*c);d.b=new Float32Array(4*c+5);d.texture=a.createTexture();return d}n(b,a);g(b,[{key:"computeCoefficients",value:function(){var a=this.hashTable,b=a.hashFunctions;if(this.hashFunctions!==b){this.hashFunctions=b;for(var c=this.a,e=this.b,g=b.length,k=a.width,l=[1/k, +1/a.height],m=0;2>m;++m)e[4*g+m]=d.b,e[4*g+3+m]=l[m];e[4*g+2]=1/(a.entryStride*k);for(k=0;k<g;++k)for(l=b[k],m=0;2>m;++m){var r=l[m],f=4*k+2*m,t=4*(4*k+2*m);e[f]=r.b+(0===m?.5/a.entryStride:.5);e[f+1]=r.c;for(f=0;4>f;++f)c[t+f]=r.a0[f],c[t+4+f]=r.a1[f]}}}},{key:"copyToGPU",value:function(){this.computeCoefficients();var a=this.hashTable,b=a.generation;if(this.generation!==b){this.generation=b;var c=a.width,d=a.height,g=this.gl;b=this.texture;g.activeTexture(g.TEXTURE0+g.tempTextureUnit);g.bindTexture(g.TEXTURE_2D, b);g.pixelStorei(g.UNPACK_ALIGNMENT,1);Object(e.b)(g);var k=g.RGBA8,l=g.RGBA;a.tableWithMungedEmptyKey(function(b){g.texImage2D(g.TEXTURE_2D,0,k,c*a.entryStride,d,0,l,g.UNSIGNED_BYTE,new Uint8Array(b.buffer))});g.bindTexture(g.TEXTURE_2D,null)}}},{key:"disposed",value:function(){this.gl.deleteTexture(this.texture);this.texture=null;this.hashTable=this.gl=void 0;this.hashFunctions=null;l(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}}],[{key:"get",value:function(a, b){var c=this;return a.memoize.get(b,function(){return new c(a,b)})}}]);return b}(h.a),m=function(){function a(c,d){d=void 0===d?b.c:d;q(this,a);this.prefix=c;this.numAlternatives=d;$jscomp.initSymbol();this.textureUnitSymbol=Symbol.for("gpuhashtable:"+this.prefix);this.aName=this.prefix+"_a";this.bName=this.prefix+"_b";this.samplerName=this.prefix+"_sampler"}g(a,[{key:"defineShader",value:function(a){var b=this.aName,c=this.bName,d=this.samplerName,e=this.numAlternatives;a.addUniform("highp vec4", b,4*e);a.addUniform("highp float",c,4*e+5);a.addTextureSampler2D(d,this.textureUnitSymbol);a.addFragmentCode(k);for(var g="",l=0;l<e;++l){for(var m=0;2>m;++m){var r=4*l+2*m,f=4*l+2*m;g+="\nfloat "+this.prefix+"_computeHash_"+l+"_"+m+"(uint64_t x) {\n float primeModulus = "+c+"["+(4*e+m)+"];\n float scalar = "+c+"["+(4*e+3+m)+"];\n return computeHash(x,\n "+b+"["+f+"], "+b+"["+(f+1)+"],\n "+c+"["+r+"], "+c+"["+(r+1)+"],\n primeModulus, scalar);\n}\n"}g+= @@ -1055,76 +1080,51 @@ b,4*e);a.addUniform("highp float",c,4*e+5);a.addTextureSampler2D(d,this.textureU a.addFragmentCode(g+"\n return false;\n}\n")}},{key:"enable",value:function(a,b,c){c.copyToGPU();var d=b.textureUnit(this.textureUnitSymbol);a.activeTexture(a.TEXTURE0+d);a.bindTexture(a.TEXTURE_2D,c.texture);a.uniform4fv(b.uniform(this.aName),c.a);a.uniform1fv(b.uniform(this.bName),c.b)}},{key:"disable",value:function(a,b){b=b.textureUnit(this.textureUnitSymbol);a.activeTexture(a.TEXTURE0+b);a.bindTexture(a.TEXTURE_2D,null)}},{key:"hasFunctionName",get:function(){return this.prefix+"_has"}}]);return a}(), r=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);g(b,[{key:"defineShader",value:function(a){l(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"defineShader",this).call(this,a);for(var c=this.samplerName,d=this.numAlternatives,e="\nbool "+this.getFunctionName+"(uint64_t x, out uint64_t value) {\n float highOffset = "+this.bName+"["+(4*d+2)+"];\n",g=0;g<d;++g)e+="\n {\n vec2 v = "+this.prefix+"_computeHash_"+g+"(x);\n vec4 lowResult = texture("+ c+", v);\n vec4 highResult = texture("+c+", vec2(v.x + highOffset, v.y));\n if (lowResult == x.low && highResult == x.high) {\n value.low = texture("+c+", vec2(v.x + 2.0 * highOffset, v.y));\n value.high = texture("+c+", vec2(v.x + 3.0 * highOffset, v.y));\n return true;\n }\n }\n";a.addFragmentCode(e+"\n return false;\n}\n")}},{key:"getFunctionName",get:function(){return this.prefix+"_get"}}]);return b}(m)},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); -return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function c(){return new m.c([],function(a){return Object(v.a)(a, -v.y)})}function b(a){return Object(E.a)(a.dataType,a.numComponents)}function d(a){return a.map(function(a){return Object(z.c)(new z.b,a.dataType,a.numComponents)})}function e(a,b){return a.memoize.getUncounted({type:"single_mesh:getMeshInfo",parameters:b},function(){return a.rpc.promiseInvoke(t.a,{chunkManager:a.addCounterpartRef(),parameters:b})})}a.d(f,"b",function(){return L});f.e=b;a.d(f,"d",function(){return M});a.d(f,"c",function(){return Z});f.f=function(a,b){return e(a,b).then(function(c){return a.getChunkSource(S, -{parameters:Object.assign({},b,{info:c})})})};var g=a(30);h=a(23);var l=a(58),k=a(59),t=a(177),m=a(9),r=a(50),u=a(2),v=a(4),w=a(22),y=a(29),x=a(55),A=a(140),z=a(116),D=a(24),E=a(21),G=a(15),C=function Q(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return Q(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},B=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c]; -d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();f.a="//NEUROGLANCER_SINGLE_MESH_LAYER_FRAGMENT_MAIN_START";var F=a(104),L=function aa(){n(this,aa);this.shaderError=Object(x.c)();var a=void 0;this.fragmentMain=new m.c(void 0===a?"void main() {\n emitGray();\n}\n":a,v.A);this.attributeNames=c();this.objectToDataTransform=new l.a};$jscomp.initSymbol();var I=Symbol("SingleMeshShaderManager.vertexAttributeTextureUnit"), +return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function d(){return new m.c([],function(a){return Object(v.a)(a, +v.y)})}function b(a){return Object(E.a)(a.dataType,a.numComponents)}function c(a){return a.map(function(a){return Object(z.c)(new z.b,a.dataType,a.numComponents)})}function e(a,b){return a.memoize.getUncounted({type:"single_mesh:getMeshInfo",parameters:b},function(){return a.rpc.promiseInvoke(t.a,{chunkManager:a.addCounterpartRef(),parameters:b})})}a.d(f,"b",function(){return L});f.e=b;a.d(f,"d",function(){return M});a.d(f,"c",function(){return Z});f.f=function(a,b){return e(a,b).then(function(c){return a.getChunkSource(S, +{parameters:Object.assign({},b,{info:c})})})};var g=a(30);h=a(24);var l=a(58),k=a(59),t=a(177),m=a(9),r=a(50),u=a(2),v=a(4),w=a(23),y=a(29),x=a(55),A=a(140),z=a(117),D=a(25),E=a(21),G=a(15),C=function Q(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return Q(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},B=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c]; +d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();f.a="//NEUROGLANCER_SINGLE_MESH_LAYER_FRAGMENT_MAIN_START";var F=a(105),L=function aa(){n(this,aa);this.shaderError=Object(x.c)();var a=void 0;this.fragmentMain=new m.c(void 0===a?"void main() {\n emitGray();\n}\n":a,v.A);this.attributeNames=d();this.objectToDataTransform=new l.a};$jscomp.initSymbol();var J=Symbol("SingleMeshShaderManager.vertexAttributeTextureUnit"), O=Object(z.c)(new z.b,r.b.FLOAT32,3),M=function(){function a(b,c,d){n(this,a);this.attributeNames=b;this.attributeInfo=c;this.fragmentMain=d;this.tempLightVec=new Float32Array(4);this.tempPickID=new Float32Array(4);this.textureAccessHelper=new z.a("vertexData");this.indexBufferHelper=new A.a("VertexIndex")}B(a,[{key:"defineAttributeAccess",value:function(a,c){var d=this.textureAccessHelper;d.defineShader(a);a.addVertexCode(d.getAccessor("readVertexPosition","uVertexAttributeSampler[0]",r.b.FLOAT32, 3));a.addVertexCode(d.getAccessor("readVertexNormal","uVertexAttributeSampler[1]",r.b.FLOAT32,3));var e=2,g="\nvec3 vertexPosition = readVertexPosition("+c+");\nvec3 vertexNormal = readVertexNormal("+c+");\n",k=this.attributeNames;this.attributeInfo.forEach(function(l,m){if(void 0!==k[m]){var r=b(l);a.addVarying("highp "+r,"vCustom"+m);a.addFragmentCode("\n#define "+k[m]+" vCustom"+m+"\n");a.addVertexCode(d.getAccessor("readAttribute"+m,"uVertexAttributeSampler["+e+"]",l.dataType,l.numComponents)); -g+="vCustom"+m+" = readAttribute"+m+"("+c+");\n";e+=1}});a.addTextureSampler2D("uVertexAttributeSampler",I,e);a.addVertexMain(g)}},{key:"defineShader",value:function(a){a.require(A.b);this.indexBufferHelper.defineShader(a);a.addVarying("highp float","vLightingFactor");a.addUniform("highp vec4","uLightDirection");a.addUniform("highp vec4","uColor");a.addUniform("highp mat4","uModelMatrix");a.addUniform("highp mat4","uProjection");a.addUniform("highp vec4","uPickID");a.addVarying("highp vec4","vPickID"); +g+="vCustom"+m+" = readAttribute"+m+"("+c+");\n";e+=1}});a.addTextureSampler2D("uVertexAttributeSampler",J,e);a.addVertexMain(g)}},{key:"defineShader",value:function(a){a.require(A.b);this.indexBufferHelper.defineShader(a);a.addVarying("highp float","vLightingFactor");a.addUniform("highp vec4","uLightDirection");a.addUniform("highp vec4","uColor");a.addUniform("highp mat4","uModelMatrix");a.addUniform("highp mat4","uProjection");a.addUniform("highp vec4","uPickID");a.addVarying("highp vec4","vPickID"); a.addVertexCode(E.b);a.addVertexCode(E.c);a.addVertexMain("\nfloat vertexIndex = getVertexIndex();\nuint32_t triangleIndex;\ndivmod(getPrimitiveIndex(), 3.0, triangleIndex);\nuint32_t pickID; pickID.value = uPickID;\nvPickID = add(pickID, triangleIndex).value;\n");a.addFragmentCode("\nvoid emitPremultipliedRGBA(vec4 color) {\n emit(vec4(color.rgb * vLightingFactor, color.a), vPickID);\n}\nvoid emitRGBA(vec4 color) {\n color = clamp(color, 0.0, 1.0);\n color.xyz *= color.a;\n emitPremultipliedRGBA(color);\n}\nvoid emitRGB(vec3 color) {\n emitRGBA(vec4(color, 1.0));\n}\nvoid emitGray() {\n emitRGB(vec3(1.0, 1.0, 1.0));\n}\n"); a.addFragmentCode(F);this.defineAttributeAccess(a,"vertexIndex");a.addVertexMain("\ngl_Position = uProjection * (uModelMatrix * vec4(vertexPosition, 1.0));\nvec3 normal = normalize((uModelMatrix * vec4(vertexNormal, 0.0)).xyz);\nvLightingFactor = abs(dot(normal, uLightDirection.xyz)) + uLightDirection.w;\n");a.setFragmentMainFunction("//NEUROGLANCER_SINGLE_MESH_LAYER_FRAGMENT_MAIN_START\n"+this.fragmentMain)}},{key:"beginLayer",value:function(a,b,c){var d=c.dataToDevice,e=c.lightDirection,g=c.ambientLighting; c=c.directionalLighting;a.uniformMatrix4fv(b.uniform("uProjection"),!1,d);d=this.tempLightVec;u.s.scale(d,e,c);d[3]=g;a.uniform4fv(b.uniform("uLightDirection"),d)}},{key:"setPickID",value:function(a,b,c){a.uniform4fv(b.uniform("uPickID"),Object(E.r)(this.tempPickID,c))}},{key:"beginObject",value:function(a,b,c){a.uniformMatrix4fv(b.uniform("uModelMatrix"),!1,c)}},{key:"getShader",value:function(a,b){var c=this,d={attributeNames:this.attributeNames,attributeInfo:this.attributeInfo,fragmentMain:this.fragmentMain}; -return a.memoize.get("single_mesh/SingleMeshShaderManager:"+Object(w.a)(b)+":"+Object(v.g)(d),function(){var d=new D.a(a);d.require(b);c.defineShader(d);return d.build()})}},{key:"bindVertexData",value:function(a,b,c){this.textureAccessHelper.setupTextureLayout(a,b,c);var d=b.textureUnit(I)+a.TEXTURE0,e=function(b){a.activeTexture(d++);a.bindTexture(a.TEXTURE_2D,b)};e(c.vertexTexture);e(c.normalTexture);var g=this.attributeNames;c.vertexAttributeTextures.forEach(function(a,b){void 0!==g[b]&&e(a)})}}, -{key:"disableVertexData",value:function(a,b){for(var c=2,d=this.attributeInfo.length,e=this.attributeNames,g=0;g<d;++g)void 0!==e[g]&&++c;b=b.textureUnit(I)+a.TEXTURE0;for(d=0;d<c;++d)a.activeTexture(b++),a.bindTexture(a.TEXTURE_2D,null)}},{key:"drawFragment",value:function(a,b,c,d){d.ensure(c.numIndices).bind(b);this.bindVertexData(a,b,c.vertexData);this.indexBufferHelper.bind(c.indexBuffer,b);a.drawArrays(a.TRIANGLES,0,c.numIndices)}},{key:"endLayer",value:function(a,b){Object(A.c)(a,b);this.indexBufferHelper.disable(b); +return a.memoize.get("single_mesh/SingleMeshShaderManager:"+Object(w.a)(b)+":"+Object(v.g)(d),function(){var d=new D.a(a);d.require(b);c.defineShader(d);return d.build()})}},{key:"bindVertexData",value:function(a,b,c){this.textureAccessHelper.setupTextureLayout(a,b,c);var d=b.textureUnit(J)+a.TEXTURE0,e=function(b){a.activeTexture(d++);a.bindTexture(a.TEXTURE_2D,b)};e(c.vertexTexture);e(c.normalTexture);var g=this.attributeNames;c.vertexAttributeTextures.forEach(function(a,b){void 0!==g[b]&&e(a)})}}, +{key:"disableVertexData",value:function(a,b){for(var c=2,d=this.attributeInfo.length,e=this.attributeNames,g=0;g<d;++g)void 0!==e[g]&&++c;b=b.textureUnit(J)+a.TEXTURE0;for(d=0;d<c;++d)a.activeTexture(b++),a.bindTexture(a.TEXTURE_2D,null)}},{key:"drawFragment",value:function(a,b,c,d){d.ensure(c.numIndices).bind(b);this.bindVertexData(a,b,c.vertexData);this.indexBufferHelper.bind(c.indexBuffer,b);a.drawArrays(a.TRIANGLES,0,c.numIndices)}},{key:"endLayer",value:function(a,b){Object(A.c)(a,b);this.indexBufferHelper.disable(b); this.disableVertexData(a,b)}}]);return a}(),P=function(){function a(){n(this,a)}B(a,[{key:"copyToGPU",value:function(a,b){var c=this;Object(z.d)(this,a,1,this.vertexPositions.length/3);var d=function(b,d){var e=a.createTexture();a.bindTexture(a.TEXTURE_2D,e);Object(z.f)(a,c,d,b);return e};this.vertexTexture=d(this.vertexPositions,O);this.normalTexture=d(this.vertexNormals,O);this.vertexAttributeTextures=this.vertexAttributes.map(function(a,c){return d(a,b[c])});a.bindTexture(a.TEXTURE_2D,null)}}, {key:"freeGPUMemory",value:function(a){a.deleteTexture(this.vertexTexture);a.deleteTexture(this.normalTexture);for(var b=this.vertexAttributeTextures,c=$jscomp.makeIterator(b),d=c.next();!d.done;d=c.next())a.deleteTexture(d.value);b.length=0}}]);return a}(),N=function(a){function b(a,c){n(this,b);a=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a));var d=a.vertexData=new P;d.vertexPositions=c.vertexPositions;d.vertexNormals=c.vertexNormals;d.vertexAttributes=c.vertexAttributes;c=a.indices= c.indices;a.numIndices=c.length;return a}p(b,a);B(b,[{key:"copyToGPU",value:function(a){C(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"copyToGPU",this).call(this,a);this.vertexData.copyToGPU(a,this.source.attributeTextureFormats);this.indexBuffer=Object(A.e)(a,this.indices)}},{key:"freeGPUMemory",value:function(a){C(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"freeGPUMemory",this).call(this,a);this.vertexData.freeGPUMemory(a);this.indexBuffer.dispose()}}]);return b}(h.b), -S=function(a){function b(){n(this,b);var a=q(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.attributeTextureFormats=d(a.info.vertexAttributes);return a}p(b,a);B(b,[{key:"getChunk",value:function(a){return new N(this,a)}},{key:"info",get:function(){return this.parameters.info}}]);return b}(Object(h.f)(h.e,t.d)),U=function(a){function b(){n(this,b);return q(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}p(b,a);return b}(Object(y.c)(G.b)),Z=function(a){function b(a, +S=function(a){function b(){n(this,b);var a=q(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.attributeTextureFormats=c(a.info.vertexAttributes);return a}p(b,a);B(b,[{key:"getChunk",value:function(a){return new N(this,a)}},{key:"info",get:function(){return this.parameters.info}}]);return b}(Object(h.f)(h.e,t.d)),U=function(a){function b(){n(this,b);return q(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}p(b,a);return b}(Object(y.c)(G.b)),Z=function(a){function b(a, c){n(this,b);var d=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.source=a;d.displayState=c;d.shaders=new Map;d.sharedObject=d.registerDisposer(new U);d.fallbackFragmentMain="void main() {\n emitGray();\n}\n";d.countingBuffer=d.registerDisposer(Object(A.d)(d.gl));d.displayState.shaderError.value=void 0;var e=function(){d.shaderManager=void 0;d.displayState.shaderError.value=void 0;d.disposeShaders();d.redrawNeeded.dispatch()};d.registerDisposer(c.fragmentMain.changed.add(e));d.registerDisposer(c.attributeNames.changed.add(e)); d.registerDisposer(c.objectToDataTransform.changed.add(function(){d.redrawNeeded.dispatch()}));d.displayState.shaderError.value=void 0;c=d.sharedObject;c.visibility.add(d.visibility);c.RPC_TYPE_ID=t.c;c.initializeCounterpart(a.chunkManager.rpc,{chunkManager:a.chunkManager.rpcId,source:a.addCounterpartRef()});d.setReady(!0);return d}p(b,a);B(b,[{key:"disposeShaders",value:function(){for(var a=this.shaders,b=$jscomp.makeIterator(a.values()),c=b.next();!c.done;c=b.next())c=c.value,null!==c&&c.dispose(); a.clear()}},{key:"disposed",value:function(){this.disposeShaders();C(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}},{key:"makeShaderManager",value:function(a){a=void 0===a?this.displayState.fragmentMain.value:a;return new M(this.displayState.attributeNames.value,this.source.info.vertexAttributes,a)}},{key:"getShader",value:function(a){var b=this.shaders,c=b.get(a);if(void 0===c){c=null;var d=this.shaderManager;void 0===d&&(d=this.shaderManager=this.makeShaderManager()); var e=this.displayState.fragmentMain.value;try{c=d.getShader(this.gl,a),this.fallbackFragmentMain=e,this.displayState.shaderError.value=null}catch(Ba){if(this.displayState.shaderError.value=Ba,d=this.fallbackFragmentMain,d!==e){d=this.shaderManager=this.makeShaderManager(d);try{c=d.getShader(this.gl,a)}catch(Za){}}}b.set(a,c)}return c}},{key:"draw",value:function(a){if(a.emitColor||!a.alreadyEmittedPickID){var b=this.source.chunks.get(t.b);if(void 0!==b&&b.state===g.d.GPU_MEMORY){var c=this.getShader(a.emitter); if(null!==c){var d=this.gl,e=this.shaderManager;c.bind();e.beginLayer(d,c,a);var k=a.pickIDs;e.beginObject(d,c,this.displayState.objectToDataTransform.transform);a.emitPickID&&e.setPickID(d,c,k.register(this,b.numIndices/3));e.drawFragment(d,c,b,this.countingBuffer);e.endLayer(d,c)}}}}},{key:"drawPicking",value:function(a){this.draw(a)}},{key:"transformPickedValue",value:function(a,b){a=this.source.chunks.get(t.b);if(void 0!==a){b*=3;var c=a.indices;if(!(b>=c.length)){var d=c[b],e=[],g=this.displayState.attributeNames.value; a.vertexData.vertexAttributes.forEach(function(a,b){b=g[b];void 0!==b&&e.push(b+"="+a[d].toPrecision(6))});return e.join(", ")}}}},{key:"isTransparent",get:function(){return null!==this.displayState.fragmentMain.value.match(/emitRGBA|emitPremultipliedRGBA/)}},{key:"gl",get:function(){return this.source.gl}}]);return b}(k.a)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b,c){c=Math.ceil(c/b);a.dataWidth=b;a.textureHeight= -c;a.textureAccessCoefficients=Float32Array.of(1/b,1/(b*c),b)}a.d(f,"b",function(){return g});f.c=function(a,b,d){d=void 0===d?1:d;switch(b){case c.b.UINT8:if(1>d||4<d)break;a.texelsPerElement=1;a.textureInternalFormat=t[d];a.textureFormat=l[d];a.texelType=WebGL2RenderingContext.UNSIGNED_BYTE;a.arrayElementsPerTexel=d;a.arrayConstructor=Uint8Array;return a;case c.b.UINT16:if(1>d||2<d)break;a.texelsPerElement=1;a.textureInternalFormat=t[2*d];a.textureFormat=l[2*d];a.texelType=WebGL2RenderingContext.UNSIGNED_BYTE; -a.arrayElementsPerTexel=2*d;a.arrayConstructor=Uint8Array;return a;case c.b.UINT64:if(1!==d)break;a.texelsPerElement=2;a.textureInternalFormat=WebGL2RenderingContext.RGBA8;a.textureFormat=WebGL2RenderingContext.RGBA;a.texelType=WebGL2RenderingContext.UNSIGNED_BYTE;a.arrayElementsPerTexel=4;a.arrayConstructor=Uint8Array;return a;case c.b.UINT32:if(1!==d)break;a.texelsPerElement=1;a.textureInternalFormat=WebGL2RenderingContext.RGBA8;a.textureFormat=WebGL2RenderingContext.RGBA;a.texelType=WebGL2RenderingContext.UNSIGNED_BYTE; -a.arrayElementsPerTexel=4;a.arrayConstructor=Uint8Array;return a;case c.b.FLOAT32:if(!(1>d||4<d))return a.texelsPerElement=1,a.textureInternalFormat=m[d],a.textureFormat=l[d],a.texelType=WebGL2RenderingContext.FLOAT,a.arrayElementsPerTexel=d,a.arrayConstructor=Float32Array,a}throw Error("No supported texture format for "+c.b[b]+"["+d+"].");};f.e=function(a,b,c,d,e,g){b=b.maxTextureSize;var k=d*e*g;if(!(c*d<=b&&e*g<=b))if(c*d*e<=b&&g<=b)d*=e;else if(d=Math.ceil(k/b),d*c>b)throw Error("Chunk data size exceeds maximum texture size: "+ -c+" * "+k);p(a,d,k)};f.d=function(a,b,c,d){b=b.maxTextureSize;var e=Math.ceil(d/b);if(e*c>b)throw Error("Number of elements exceeds maximum texture size: "+c+" * "+d);p(a,e,d)};f.f=function(a,b,c,e){var g=c.arrayConstructor,k=c.textureInternalFormat,l=c.textureFormat,m=c.texelsPerElement,r=b.dataWidth;b=b.textureHeight;var f=r*b*c.arrayElementsPerTexel*m;e.constructor!==g&&(e=new g(e.buffer,e.byteOffset,e.byteLength/g.BYTES_PER_ELEMENT));e=Object(n.b)(e,f);a.pixelStorei(WebGL2RenderingContext.UNPACK_ALIGNMENT, -1);Object(d.b)(a);a.texImage2D(a.TEXTURE_2D,0,k,r*m,b,0,l,c.texelType,e)};a.d(f,"a",function(){return r});var n=a(43),c=a(50),b=a(21),d=a(76),e=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),g=function v(){q(this,v)},l=[-1,WebGL2RenderingContext.RED,WebGL2RenderingContext.RG,WebGL2RenderingContext.RGB,WebGL2RenderingContext.RGBA], +c;a.textureAccessCoefficients=Float32Array.of(1/b,1/(b*c),b)}a.d(f,"b",function(){return g});f.c=function(a,b,c){c=void 0===c?1:c;switch(b){case d.b.UINT8:if(1>c||4<c)break;a.texelsPerElement=1;a.textureInternalFormat=t[c];a.textureFormat=l[c];a.texelType=WebGL2RenderingContext.UNSIGNED_BYTE;a.arrayElementsPerTexel=c;a.arrayConstructor=Uint8Array;return a;case d.b.UINT16:if(1>c||2<c)break;a.texelsPerElement=1;a.textureInternalFormat=t[2*c];a.textureFormat=l[2*c];a.texelType=WebGL2RenderingContext.UNSIGNED_BYTE; +a.arrayElementsPerTexel=2*c;a.arrayConstructor=Uint8Array;return a;case d.b.UINT64:if(1!==c)break;a.texelsPerElement=2;a.textureInternalFormat=WebGL2RenderingContext.RGBA8;a.textureFormat=WebGL2RenderingContext.RGBA;a.texelType=WebGL2RenderingContext.UNSIGNED_BYTE;a.arrayElementsPerTexel=4;a.arrayConstructor=Uint8Array;return a;case d.b.UINT32:if(1!==c)break;a.texelsPerElement=1;a.textureInternalFormat=WebGL2RenderingContext.RGBA8;a.textureFormat=WebGL2RenderingContext.RGBA;a.texelType=WebGL2RenderingContext.UNSIGNED_BYTE; +a.arrayElementsPerTexel=4;a.arrayConstructor=Uint8Array;return a;case d.b.FLOAT32:if(!(1>c||4<c))return a.texelsPerElement=1,a.textureInternalFormat=m[c],a.textureFormat=l[c],a.texelType=WebGL2RenderingContext.FLOAT,a.arrayElementsPerTexel=c,a.arrayConstructor=Float32Array,a}throw Error("No supported texture format for "+d.b[b]+"["+c+"].");};f.e=function(a,b,c,d,e,g){b=b.maxTextureSize;var k=d*e*g;if(!(c*d<=b&&e*g<=b))if(c*d*e<=b&&g<=b)d*=e;else if(d=Math.ceil(k/b),d*c>b)throw Error("Chunk data size exceeds maximum texture size: "+ +c+" * "+k);p(a,d,k)};f.d=function(a,b,c,d){b=b.maxTextureSize;var e=Math.ceil(d/b);if(e*c>b)throw Error("Number of elements exceeds maximum texture size: "+c+" * "+d);p(a,e,d)};f.f=function(a,b,d,e){var g=d.arrayConstructor,k=d.textureInternalFormat,l=d.textureFormat,m=d.texelsPerElement,r=b.dataWidth;b=b.textureHeight;var f=r*b*d.arrayElementsPerTexel*m;e.constructor!==g&&(e=new g(e.buffer,e.byteOffset,e.byteLength/g.BYTES_PER_ELEMENT));e=Object(n.b)(e,f);a.pixelStorei(WebGL2RenderingContext.UNPACK_ALIGNMENT, +1);Object(c.b)(a);a.texImage2D(a.TEXTURE_2D,0,k,r*m,b,0,l,d.texelType,e)};a.d(f,"a",function(){return r});var n=a(43),d=a(50),b=a(21),c=a(77),e=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),g=function v(){q(this,v)},l=[-1,WebGL2RenderingContext.RED,WebGL2RenderingContext.RG,WebGL2RenderingContext.RGB,WebGL2RenderingContext.RGBA], k=["","r","rg","rgb","rgba"],t=[-1,WebGL2RenderingContext.R8,WebGL2RenderingContext.RG8,WebGL2RenderingContext.RGB8,WebGL2RenderingContext.RGBA8],m=[-1,WebGL2RenderingContext.R32F,WebGL2RenderingContext.RG32F,WebGL2RenderingContext.RGB32F,WebGL2RenderingContext.RGBA32F],r=function(){function a(b){q(this,a);this.key=b;this.uniformName="uTextureAccessCoefficients_"+this.key;this.readTextureValue="readTextureValue_"+this.key}e(a,[{key:"defineShader",value:function(a){a.addUniform("highp vec3",this.uniformName)}}, {key:"getReadTextureValueCode",value:function(a){for(var b=this.uniformName,c="\nvoid "+this.readTextureValue+"(highp sampler2D sampler, float index",d=0;d<a;++d)c+=", out vec4 output"+d;c+=") {\n float offset = "+.5/a+";\n float xCoord = fract((index + offset) * "+b+".x);\n vec2 texCoords = vec2(xCoord,\n (index - (xCoord - 0.5 - offset * "+b+".x) * "+b+".z) *\n "+b+".y);\n";for(d=0;d<a;++d)c+="\n output"+d+" = texture(sampler,\n vec2(texCoords.x +\n "+ -b+".x * "+(d/a).toFixed(8)+",\n texCoords.y));\n";return c+"\n}\n"}},{key:"getAccessor",value:function(a,d,e,g){g=void 0===g?1:g;var l=Object(b.a)(e,g),m=[];m.push(this.getReadTextureValueCode(e===c.b.UINT64?2:1));a="\n"+l+" "+a+"(float index) {\n";switch(e){case c.b.UINT8:m.push(b.o);a+="\n "+l+" result;\n vec4 temp;\n "+this.readTextureValue+"("+d+", index, temp);\n result.value = temp."+k[g]+";\n return result;\n";break;case c.b.UINT16:m.push(b.l);a+="\n "+l+" result;\n vec4 temp;\n "+ -this.readTextureValue+"("+d+", index, temp);\n result.value = temp."+k[2*g]+";\n return result;\n";break;case c.b.UINT32:m.push(b.m);a+="\n "+l+" result;\n "+this.readTextureValue+"("+d+", index, result.value);\n return result;\n";break;case c.b.UINT64:m.push(b.n);a+="\n "+l+" result;\n "+this.readTextureValue+"("+d+", index, result.low, result.high);\n return result;\n";break;case c.b.FLOAT32:m.push(b.f),a+="\n vec4 temp;\n "+this.readTextureValue+"("+d+", index, temp);\n return temp."+ -k[g]+";\n"}m.push(a+"\n}\n");return m}},{key:"setupTextureLayout",value:function(a,b,c){a.uniform3fv(b.uniform(this.uniformName),c.textureAccessCoefficients)}}]);return a}()},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+ -typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a){a.addOutputBuffer("vec4","v4f_fragData"+C.COLOR,C.COLOR);a.addOutputBuffer("vec4","v4f_fragData"+C.Z,C.Z);a.addOutputBuffer("vec4","v4f_fragData"+C.PICK,C.PICK);a.addFragmentCode(B)}function b(a){a.addOutputBuffer("vec4","v4f_fragData0",0);a.addOutputBuffer("vec4","v4f_fragData1",1);a.addFragmentCode(F)} -function d(a){a.addOutputBuffer("vec4","v4f_fragColor",null);a.setFragmentMain("\nvec4 v0 = getValue0();\nvec4 v1 = getValue1();\nvec4 accum = vec4(v0.rgb, v1.r);\nfloat revealage = v0.a;\n\nv4f_fragColor = vec4(accum.rgb / accum.a, revealage);\n")}a.d(f,"a",function(){return C});f.c=c;f.d=b;a.d(f,"b",function(){return N});var e=a(144),g=a(18),l=a(145),k=a(322),t=a(59);h=a(146);var m=a(44),r=a(35),u=a(25),v=a(2),w=a(80),y=a(184);f=a(29);var x=a(98),A=a(21),z=a(53),D=a(15),E=function(){function a(a, -b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),G=function U(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return U(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(45);a(323);var C;(function(a){a[a.COLOR= -0]="COLOR";a[a.Z=1]="Z";a[a.PICK=2]="PICK";a[a.NUM_TEXTURES=3]="NUM_TEXTURES"})(C||(C={}));var B=[A.k,"\nvoid emit(vec4 color, vec4 pickId) {\n v4f_fragData"+C.COLOR+" = color;\n v4f_fragData"+C.Z+" = packFloat01ToFixedPoint(1.0 - gl_FragCoord.z);\n v4f_fragData"+C.PICK+" = pickId;\n}\n"],F=["\nfloat computeOITWeight(float alpha) {\n float a = min(1.0, alpha) * 8.0 + 0.01;\n float b = -gl_FragCoord.z * 0.95 + 1.0;\n return a * a * a * b * b * b;\n}\n","\nvoid emit(vec4 color, vec4 pickId) {\n float weight = computeOITWeight(color.a);\n vec4 accum = color * weight;\n v4f_fragData0 = vec4(accum.rgb, color.a);\n v4f_fragData1 = vec4(accum.a, 0.0, 0.0, 0.0);\n}\n"], -L=v.s.create(),I=v.s.create(),O=v.u.create(),M=v.k.create(),P=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);return b}(Object(f.c)(D.b)),N=function(a){function f(a,b,h){q(this,f);var n=p(this,(f.__proto__||Object.getPrototypeOf(f)).call(this,a,b,h));n.sliceViews=function(){var a=new Map;return n.registerDisposer(new y.a(function(b,c){b=c.visibility.add(n.visibility);a.set(c,b);n.scheduleRedraw()},function(b,c){b=a.get(c);a.delete(c); -b();c.dispose();n.scheduleRedraw()}))}();n.projectionMat=v.k.create();n.inverseProjectionMat=v.k.create();n.modelViewMat=v.k.create();n.width=0;n.height=0;n.pickIDs=new l.a;n.axesLineHelper=n.registerDisposer(e.a.get(n.gl));n.sliceViewRenderHelper=n.registerDisposer(m.d.get(n.gl,c));n.offscreenFramebuffer=n.registerDisposer(new x.b(n.gl,{colorBuffers:Object(x.e)(n.gl,C.NUM_TEXTURES),depthBuffer:new x.a(n.gl)}));n.offscreenCopyHelper=n.registerDisposer(x.c.get(n.gl));n.transparencyCopyHelper=n.registerDisposer(x.c.get(n.gl, -d,2));n.scaleBarCopyHelper=n.registerDisposer(x.c.get(n.gl));n.scaleBarTexture=n.registerDisposer(new z.b(n.gl));n.nanometersPerPixel=1;n.registerDisposer(n.navigationState.changed.add(function(){n.viewportChanged()}));a=n.sharedObject=n.registerDisposer(new P);a.RPC_TYPE_ID=k.c;a.initializeCounterpart(h.rpc,{});a.visibility.add(n.visibility);n.visibleLayerTracker=Object(g.l)(n.viewer.layerManager,t.a,n.viewer.visibleLayerRoles,n,function(a){var b=a.backend;if(b)return b.rpc.invoke(k.a,{layer:b.rpcId, -view:n.sharedObject.rpcId}),function(){b.rpc.invoke(k.b,{layer:b.rpcId,view:n.sharedObject.rpcId})}});Object(u.c)(b,"translate-via-mouse-drag",function(a){Object(w.a)(a.detail,function(a,b,c){a=n.width;var d=n.height,e=n.viewer.navigationState.position,g=e.spatialCoordinates;v.s.transformMat4(L,g,n.projectionMat);L[0]=2*b/a;L[1]=-2*c/d;v.s.transformMat4(g,L,n.inverseProjectionMat);e.changed.dispatch()})});Object(u.c)(b,"rotate-via-mouse-drag",function(a){Object(w.a)(a.detail,function(a,b,c){n.navigationState.pose.rotateRelative(v.e[1], --b/4*Math.PI/180);n.navigationState.pose.rotateRelative(v.e[0],c/4*Math.PI/180);n.viewer.navigationState.changed.dispatch()})});h.showSliceViewsCheckbox&&(b=n.registerDisposer(new r.c(h.showSliceViews)),b.element.className="perspective-panel-show-slice-views neuroglancer-noselect",a=document.createElement("label"),a.className="perspective-panel-show-slice-views neuroglancer-noselect",a.appendChild(document.createTextNode("Slices")),a.appendChild(b.element),n.element.appendChild(a));n.registerDisposer(h.orthographicProjection.changed.add(function(){return n.scheduleRedraw()})); -n.registerDisposer(h.showScaleBar.changed.add(function(){return n.scheduleRedraw()}));n.registerDisposer(h.scaleBarOptions.changed.add(function(){return n.scheduleRedraw()}));n.registerDisposer(h.showSliceViews.changed.add(function(){return n.scheduleRedraw()}));n.registerDisposer(h.showAxisLines.changed.add(function(){return n.scheduleRedraw()}));n.registerDisposer(h.crossSectionBackgroundColor.changed.add(function(){return n.scheduleRedraw()}));return n}n(f,a);E(f,[{key:"isReady",value:function(){if(!this.visible)return!1; -for(var a=$jscomp.makeIterator(this.sliceViews),b=a.next();!b.done;b=a.next()){b=$jscomp.makeIterator(b.value);var c=b.next().value;if((b.next().value||this.viewer.showSliceViews.value)&&!c.isReady())return!1}a=this.visibleLayerTracker.getVisibleLayers();a=$jscomp.makeIterator(a);for(b=a.next();!b.done;b=a.next())if(!b.value.isReady())return!1;return!0}},{key:"updateProjectionMatrix",value:function(){var a=this.projectionMat,b=this.width/this.height,c=Math.PI/4;this.viewer.orthographicProjection.value? -(c=100/(1/Math.tan(c/2)),v.k.ortho(a,-b*c,b*c,-c,c,10,5E3),this.nanometersPerPixel=1/(2*a[0])*this.navigationState.zoomFactor.value,this.nanometersPerPixel=2*b*c/this.width*this.navigationState.zoomFactor.value):v.k.perspective(a,c,b,10,5E3);b=this.modelViewMat;this.navigationState.toMat4(b);v.s.set(L,1,-1,-1);v.k.scale(b,b,L);c=v.s.set(L,0,0,100);v.k.translate(b,b,c);v.k.invert(M,b);v.k.multiply(a,a,M);v.k.invert(this.inverseProjectionMat,a)}},{key:"viewportChanged",value:function(){this.context.scheduleRedraw()}}, -{key:"onResize",value:function(){var a=this.element,b=a.clientHeight;if(a.clientWidth!==this.width||b!==this.height)this.width=this.element.clientWidth,this.height=this.element.clientHeight,this.viewportChanged()}},{key:"disposed",value:function(){for(var a=$jscomp.makeIterator(this.sliceViews.keys()),b=a.next();!b.done;b=a.next())b.value.dispose();this.sliceViews.clear();G(f.prototype.__proto__||Object.getPrototypeOf(f.prototype),"disposed",this).call(this)}},{key:"updateMouseState",value:function(a){a.pickedRenderLayer= -null;if(!this.navigationState.valid)return!1;var b=a.position,c=this.offscreenFramebuffer,d=this.width,e=this.height;if(!c.hasSize(d,e))return!1;var g=this.mouseX,k=e-this.mouseY,l=c.readPixel(C.Z,g,k);l=1-Object(A.s)(l);if(1===l)return!1;b[0]=2*g/d-1;b[1]=2*k/e-1;b[2]=2*l-1;v.s.transformMat4(b,b,this.inverseProjectionMat);this.pickIDs.setMouseState(a,c.readPixelAsUint32(C.PICK,g,k));return!0}},{key:"draw",value:function(){if(this.navigationState.valid){this.onResize();var a=this.width,d=this.height; -if(0!==a&&0!==d){for(var e=this.viewer.showSliceViews.value,g=$jscomp.makeIterator(this.sliceViews),k=g.next();!k.done;k=g.next()){k=$jscomp.makeIterator(k.value);var l=k.next().value;(k.next().value||e)&&l.updateRendering()}e=this.gl;this.offscreenFramebuffer.bind(a,d);e.disable(e.SCISSOR_TEST);this.gl.clearColor(0,0,0,0);e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT);e.enable(e.DEPTH_TEST);g=this.projectionMat;this.updateProjectionMatrix();k=v.s.create();Object(v.p)(k,v.e[2],this.modelViewMat); -v.s.normalize(k,k);l=this.pickIDs;l.clear();g={dataToDevice:g,lightDirection:k,ambientLighting:.2,directionalLighting:.8,pickIDs:l,emitter:c,emitColor:!0,emitPickID:!0,alreadyEmittedPickID:!1,viewportWidth:a,viewportHeight:d};k=this.visibleLayerTracker.getVisibleLayers();var m=!1,r=!1,f=$jscomp.makeIterator(k);for(l=f.next();!l.done;l=f.next())l=l.value,l.isTransparent?m=!0:l.isAnnotation?r=!0:l.draw(g);this.drawSliceViews(g);if(r){e.enable(WebGL2RenderingContext.BLEND);e.depthFunc(WebGL2RenderingContext.LEQUAL); -e.blendFunc(WebGL2RenderingContext.SRC_ALPHA,WebGL2RenderingContext.ONE_MINUS_SRC_ALPHA);e.drawBuffers([e.COLOR_ATTACHMENT0,e.NONE,e.NONE]);g.emitPickID=!1;r=$jscomp.makeIterator(k);for(l=r.next();!l.done;l=r.next())l=l.value,l.isAnnotation&&l.draw(g);e.depthFunc(WebGL2RenderingContext.LESS);e.disable(WebGL2RenderingContext.BLEND);e.drawBuffers([e.COLOR_ATTACHMENT0,e.COLOR_ATTACHMENT1,e.COLOR_ATTACHMENT2]);g.emitPickID=!0}this.viewer.showAxisLines.value&&this.drawAxisLines();if(m){e.depthMask(!1); -e.enable(WebGL2RenderingContext.BLEND);m=this.transparentConfiguration;m.bind(a,d);this.gl.clearColor(0,0,0,1);e.clear(WebGL2RenderingContext.COLOR_BUFFER_BIT);g.emitter=b;e.blendFuncSeparate(WebGL2RenderingContext.ONE,WebGL2RenderingContext.ONE,WebGL2RenderingContext.ZERO,WebGL2RenderingContext.ONE_MINUS_SRC_ALPHA);g.emitPickID=!1;r=$jscomp.makeIterator(k);for(l=r.next();!l.done;l=r.next())l=l.value,l.isTransparent&&l.draw(g);e.disable(WebGL2RenderingContext.DEPTH_TEST);this.offscreenFramebuffer.bindSingle(C.COLOR); -e.blendFunc(WebGL2RenderingContext.ONE_MINUS_SRC_ALPHA,WebGL2RenderingContext.SRC_ALPHA);this.transparencyCopyHelper.draw(m.colorBuffers[0].texture,m.colorBuffers[1].texture);e.depthMask(!0);e.disable(WebGL2RenderingContext.BLEND);e.enable(WebGL2RenderingContext.DEPTH_TEST);this.offscreenFramebuffer.bind(a,d)}e.drawBuffers([e.NONE,e.COLOR_ATTACHMENT1,e.COLOR_ATTACHMENT2]);g.emitter=c;g.emitPickID=!0;g.emitColor=!1;e.enable(WebGL2RenderingContext.POLYGON_OFFSET_FILL);e.polygonOffset(-1,-1);d=$jscomp.makeIterator(k); -for(l=d.next();!l.done;l=d.next())k=l.value,g.alreadyEmittedPickID=!k.isTransparent&&!k.isAnnotation,k.draw(g);e.disable(WebGL2RenderingContext.POLYGON_OFFSET_FILL);this.viewer.showScaleBar.value&&this.viewer.orthographicProjection.value&&(e.drawBuffers([e.COLOR_ATTACHMENT0]),e.disable(WebGL2RenderingContext.DEPTH_TEST),e.enable(WebGL2RenderingContext.BLEND),e.blendFunc(WebGL2RenderingContext.SRC_ALPHA,WebGL2RenderingContext.ONE_MINUS_SRC_ALPHA),d=this.scaleBarTexture,g=this.viewer.scaleBarOptions.value, -k=d.dimensions,k.targetLengthInPixels=Math.min(g.maxWidthFraction*a,g.maxWidthInPixels*g.scaleFactor),k.nanometersPerPixel=this.nanometersPerPixel,d.update(g),e.viewport(g.leftPixelOffset*g.scaleFactor,g.bottomPixelOffset*g.scaleFactor,d.width,d.height),this.scaleBarCopyHelper.draw(d.texture),e.disable(WebGL2RenderingContext.BLEND));this.offscreenFramebuffer.unbind();this.setGLViewport();this.offscreenCopyHelper.draw(this.offscreenFramebuffer.colorBuffers[C.COLOR].texture)}}}},{key:"drawSliceViews", -value:function(a){var b=this.sliceViewRenderHelper,c=a.lightDirection,d=a.ambientLighting,e=a.directionalLighting;a=a.dataToDevice;for(var g=this.viewer.showSliceViews.value,k=$jscomp.makeIterator(this.sliceViews),l=k.next();!l.done;l=k.next()){var m=$jscomp.makeIterator(l.value);l=m.next().value;if((m.next().value||g)&&0!==l.width&&0!==l.height&&l.hasValidViewport){m=Math.abs(v.s.dot(c,l.viewportAxes[2]));m=d+m*e;var r=M;v.k.identity(r);r[0]=l.width/2;r[5]=-l.height/2;v.k.multiply(r,l.viewportToData, -r);v.k.multiply(r,a,r);var f=O,t=this.viewer.crossSectionBackgroundColor.value;f[0]=t[0];f[1]=t[1];f[2]=t[2];f[3]=1;b.draw(l.offscreenFramebuffer.colorBuffers[0].texture,r,v.u.fromValues(m,m,m,1),O,0,0,1,1)}}}},{key:"drawAxisLines",value:function(){var a=this.viewer.navigationState.position.spatialCoordinates;v.s.transformMat4(L,a,this.projectionMat);L[0]=.5;v.s.transformMat4(I,L,this.inverseProjectionMat);var b=v.s.distance(I,a);L[0]=0;L[1]=.5;v.s.transformMat4(I,L,this.inverseProjectionMat);var c= -v.s.distance(I,a);a=this.gl;v.k.identity(M);b=Math.min(b,c);M[0]=b;M[5]=b;M[10]=b;b=this.navigationState.position.spatialCoordinates;M[12]=b[0];M[13]=b[1];M[14]=b[2];M[15]=1;v.k.multiply(M,this.projectionMat,M);a.drawBuffers([a.COLOR_ATTACHMENT0]);this.axesLineHelper.draw(M,!1)}},{key:"zoomByMouse",value:function(a){this.navigationState.zoomBy(a)}},{key:"navigationState",get:function(){return this.viewer.navigationState}},{key:"transparentConfiguration",get:function(){var a=this.transparentConfiguration_; -void 0===a&&(a=this.transparentConfiguration_=this.registerDisposer(new x.b(this.gl,{colorBuffers:Object(x.e)(this.gl,2,this.gl.RGBA32F,this.gl.RGBA,this.gl.FLOAT),depthBuffer:this.offscreenFramebuffer.depthBuffer.addRef()})));return a}}]);return f}(h.a)},function(h,f,a){function q(a){return Object(b.a)(a.dataTransfer.types,"neuroglancer-layer\x00")}function p(a){if(void 0!==g&&g.manager.rootLayers===a.rootLayers)return g}function n(a,b,c){if(a.shiftKey)return"copy";if(a.ctrlKey)return"move";a=void 0=== -c?!1:c;a=void 0===a?!1:a;c=p(b);b=void 0===c?"copy":a||c.manager!==b?"link":"move";return b}f.e=function(a,c){a.dataTransfer.setData(Object(b.b)("neuroglancer-layer\x00",c.layers.map(function(a){return{name:a.name,visible:a.visible}})),JSON.stringify({layers:c.layers.map(function(a){return a.toJSON()}),layout:c.layoutSpec}));void 0!==g&&g.disposer();var d,e=function(){c.manager.unregisterDisposer(e);for(var a=$jscomp.makeIterator(c.layers),b=a.next();!b.done;b=a.next())b.value.dispose();c.manager.dispose(); -g===d&&(g=void 0)};g=d={manager:c.manager.addRef(),layers:c.layers.map(function(a){return a.addRef()}),layoutSpec:c.layoutSpec,disposer:e}};f.a=function(a){if(void 0!==g){if(a&&"move"===a.dataTransfer.dropEffect){var b=new Set(g.layers);g.manager.layerManager.filter(function(a){return!b.has(a)})}g.disposer()}};f.c=q;f.d=n;f.f=function(a,c,d){return Object(b.e)(a,n(a,c,void 0===d?!1:d))};f.b=function(a,b,e,g,f){var k=p(b),m=!f&&void 0!==k&&k.manager===b;if(!e&&void 0!==k){var r=new l;r.manager=b;r.numSourceLayers= -k.layers.length;r.sourceManager=k.manager;r.moveSupported=m;r.layers=new Map;r.layoutSpec=k.layoutSpec;if(!f&&k.manager===b)if(g)k.layers.forEach(function(a,b){r.layers.set(a,b)});else return;k.layers.forEach(function(a,c){!f&&b.layerManager.has(a)||r.layers.set(a.addRef(),c)});return r}a=q(a);if(void 0!==a)try{var t=Object(d.a)(a.parameters,function(a,e){var g=Object(d.v)(a,"name",d.A);a=Object(d.v)(a,"visible",d.l);g=new c.b(g,null,b);g.visible=a;return[g,e]}),h=new l;h.numSourceLayers=t.length; -h.moveSupported=m;h.manager=b;h.dragType=a.dragType;h.layers=new Map(t);return h}catch(z){}};var c=a(27),b=a(119),d=a(4),e=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),g,l=function(){function a(){if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");}e(a,[{key:"finalize",value:function(a){var b= -this.dragType;if(void 0!==b)try{var c=JSON.parse(a.dataTransfer.getData(b)),d=c.layers,e=c.layout;if(!Array.isArray(d)||this.numSourceLayers!==d.length)throw Error("Invalid layer drop data");this.layoutSpec=e;for(var g=$jscomp.makeIterator(this.layers),k=g.next();!k.done;k=g.next()){var l=$jscomp.makeIterator(k.value),f=l.next().value,t=l.next().value;this.manager.initializeLayerFromSpec(f,d[t])}}catch(D){return!1}return!0}},{key:"compatibleWithMethod",value:function(a){return this.method===a||!this.moveSupported&& -"move"===a?!0:!1}},{key:"method",get:function(){return void 0!==this.sourceManager?this.manager===this.sourceManager?"move":"link":"copy"}}]);return a}()},function(h,f,a){f.b=function(a,b){b=JSON.stringify(b);b=Object(q.b)((new TextEncoder).encode(b));return a+b};f.a=function(a,b){a=$jscomp.makeIterator(a);for(var c=a.next();!c.done;c=a.next()){c=c.value;a:{var e=b;if(c.startsWith(e))try{var g=c.substring(e.length);var l=(new TextDecoder).decode(Object(q.a)(g));var k=JSON.parse(l);break a}catch(t){k= -void 0;break a}k=void 0}e=k;if(void 0!==e)return{parameters:e,dragType:c}}};f.e=function(a,b){return n=a.dataTransfer.dropEffect=b};f.c=function(){return n};f.d=function(a){a.draggable=!0;return Object(p.c)(a,"dragstart",function(a){a.stopPropagation();a.preventDefault()})};var q=a(166),p=a(1),n},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); -return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"b",function(){return w});a.d(f,"c",function(){return y});a.d(f,"a",function(){return x});var c=a(31),b=a(187),d=a(180);h= -a(1);var e=a(8),g=a(25),l=a(2),k=a(60),t=a(148),m=a(53),r=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),u=function z(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return z(a,b,c)}else{if("value"in d)return d.value; -b=d.get;return void 0===b?void 0:b.call(c)}};a(336);a(83);f.d="neuroglancer-position";var v=g.a.fromObject({tab:{action:"tab-forward",preventDefault:!1},arrowup:{action:"adjust-up"},arrowdown:{action:"adjust-down"},wheel:{action:"adjust-via-wheel"},"shift+tab":{action:"tab-backward",preventDefault:!1},backspace:{action:"delete-backward",preventDefault:!1},escape:{action:"cancel"},mouseup0:{action:"select-all-if-was-not-focused",preventDefault:!1}}),w=function(a){function m(a,e){e=void 0===e?6:e;q(this, -m);var r=p(this,(m.__proto__||Object.getPrototypeOf(m)).call(this));r.position=a;r.maxNumberWidth=e;r.element=document.createElement("div");r.inputContainer=document.createElement("div");r.inputElement=document.createElement("input");r.hintElement=document.createElement("input");r.tempPosition=l.s.create();r.updateHintScrollPosition=r.registerCancellable(Object(b.a)(function(){r.hintElement.scrollLeft=r.inputElement.scrollLeft}));var f=r.element,h=r.inputElement,u=r.hintElement,n=r.inputContainer; -n.className="neuroglancer-position-widget-input-container";h.className="neuroglancer-position-widget-input";u.className="neuroglancer-position-widget-hint";r.inputFieldWidth=3*e+11;e=$jscomp.makeIterator([h,u]);for(var w=e.next();!w.done;w=e.next())w=w.value,w.spellcheck=!1,w.autocomplete="off",w.type="text",w.style.width=r.inputFieldWidth+"ch";u.disabled=!0;e=document.createElement("div");e.textContent="\u29c9";e.className="neuroglancer-copy-button neuroglancer-button";e.title="Copy position to clipboard"; -e.addEventListener("click",function(){var a=Object(d.b)(r.getPositionText());c.a.showTemporaryMessage(a?"Position copied to clipboard":"Failed to copy position to clipboard")});e.addEventListener("dragstart",function(b){b.dataTransfer.setData("neuroglancer-position",JSON.stringify(a.toJSON()));b.dataTransfer.setData("text",r.getPositionText());b.stopPropagation()});e.draggable=!0;f.appendChild(e);f.appendChild(n);n.appendChild(h);n.appendChild(u);f.className="neuroglancer-position-widget";r.registerDisposer(a.changed.add(r.registerCancellable(Object(b.a)(function(){return r.updateView()})))); +b+".x * "+(d/a).toFixed(8)+",\n texCoords.y));\n";return c+"\n}\n"}},{key:"getAccessor",value:function(a,c,e,g){g=void 0===g?1:g;var l=Object(b.a)(e,g),m=[];m.push(this.getReadTextureValueCode(e===d.b.UINT64?2:1));a="\n"+l+" "+a+"(float index) {\n";switch(e){case d.b.UINT8:m.push(b.o);a+="\n "+l+" result;\n vec4 temp;\n "+this.readTextureValue+"("+c+", index, temp);\n result.value = temp."+k[g]+";\n return result;\n";break;case d.b.UINT16:m.push(b.l);a+="\n "+l+" result;\n vec4 temp;\n "+ +this.readTextureValue+"("+c+", index, temp);\n result.value = temp."+k[2*g]+";\n return result;\n";break;case d.b.UINT32:m.push(b.m);a+="\n "+l+" result;\n "+this.readTextureValue+"("+c+", index, result.value);\n return result;\n";break;case d.b.UINT64:m.push(b.n);a+="\n "+l+" result;\n "+this.readTextureValue+"("+c+", index, result.low, result.high);\n return result;\n";break;case d.b.FLOAT32:m.push(b.f),a+="\n vec4 temp;\n "+this.readTextureValue+"("+c+", index, temp);\n return temp."+ +k[g]+";\n"}m.push(a+"\n}\n");return m}},{key:"setupTextureLayout",value:function(a,b,c){a.uniform3fv(b.uniform(this.uniformName),c.textureAccessCoefficients)}}]);return a}()},function(h,f,a){function q(a){return Object(b.a)(a.dataTransfer.types,"neuroglancer-layer\x00")}function p(a){if(void 0!==g&&g.manager.rootLayers===a.rootLayers)return g}function n(a,b,c){if(a.shiftKey)return"copy";if(a.ctrlKey)return"move";a=void 0===c?!1:c;a=void 0===a?!1:a;c=p(b);b=void 0===c?"copy":a||c.manager!==b?"link": +"move";return b}f.e=function(a,c){a.dataTransfer.setData(Object(b.b)("neuroglancer-layer\x00",c.layers.map(function(a){return{name:a.name,visible:a.visible}})),JSON.stringify({layers:c.layers.map(function(a){return a.toJSON()}),layout:c.layoutSpec}));void 0!==g&&g.disposer();var d,e=function(){c.manager.unregisterDisposer(e);for(var a=$jscomp.makeIterator(c.layers),b=a.next();!b.done;b=a.next())b.value.dispose();c.manager.dispose();g===d&&(g=void 0)};g=d={manager:c.manager.addRef(),layers:c.layers.map(function(a){return a.addRef()}), +layoutSpec:c.layoutSpec,disposer:e}};f.a=function(a){if(void 0!==g){if(a&&"move"===a.dataTransfer.dropEffect){var b=new Set(g.layers);g.manager.layerManager.filter(function(a){return!b.has(a)})}g.disposer()}};f.c=q;f.d=n;f.f=function(a,c,d){return Object(b.e)(a,n(a,c,void 0===d?!1:d))};f.b=function(a,b,e,g,f){var k=p(b),m=!f&&void 0!==k&&k.manager===b;if(!e&&void 0!==k){var r=new l;r.manager=b;r.numSourceLayers=k.layers.length;r.sourceManager=k.manager;r.moveSupported=m;r.layers=new Map;r.layoutSpec= +k.layoutSpec;if(!f&&k.manager===b)if(g)k.layers.forEach(function(a,b){r.layers.set(a,b)});else return;k.layers.forEach(function(a,c){!f&&b.layerManager.has(a)||r.layers.set(a.addRef(),c)});return r}a=q(a);if(void 0!==a)try{var t=Object(c.a)(a.parameters,function(a,e){var g=Object(c.v)(a,"name",c.A);a=Object(c.v)(a,"visible",c.l);g=new d.b(g,null,b);g.visible=a;return[g,e]}),h=new l;h.numSourceLayers=t.length;h.moveSupported=m;h.manager=b;h.dragType=a.dragType;h.layers=new Map(t);return h}catch(z){}}; +var d=a(27),b=a(119),c=a(4),e=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),g,l=function(){function a(){if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");}e(a,[{key:"finalize",value:function(a){var b=this.dragType;if(void 0!==b)try{var c=JSON.parse(a.dataTransfer.getData(b)), +d=c.layers,e=c.layout;if(!Array.isArray(d)||this.numSourceLayers!==d.length)throw Error("Invalid layer drop data");this.layoutSpec=e;for(var g=$jscomp.makeIterator(this.layers),k=g.next();!k.done;k=g.next()){var l=$jscomp.makeIterator(k.value),f=l.next().value,t=l.next().value;this.manager.initializeLayerFromSpec(f,d[t])}}catch(D){return!1}return!0}},{key:"compatibleWithMethod",value:function(a){return this.method===a||!this.moveSupported&&"move"===a?!0:!1}},{key:"method",get:function(){return void 0!== +this.sourceManager?this.manager===this.sourceManager?"move":"link":"copy"}}]);return a}()},function(h,f,a){f.b=function(a,b){b=JSON.stringify(b);b=Object(q.b)((new TextEncoder).encode(b));return a+b};f.a=function(a,b){a=$jscomp.makeIterator(a);for(var c=a.next();!c.done;c=a.next()){c=c.value;a:{var d=b;if(c.startsWith(d))try{var g=c.substring(d.length);var l=(new TextDecoder).decode(Object(q.a)(g));var k=JSON.parse(l);break a}catch(t){k=void 0;break a}k=void 0}d=k;if(void 0!==d)return{parameters:d, +dragType:c}}};f.e=function(a,b){return n=a.dataTransfer.dropEffect=b};f.c=function(){return n};f.d=function(a){a.draggable=!0;return Object(p.c)(a,"dragstart",function(a){a.stopPropagation();a.preventDefault()})};var q=a(166),p=a(1),n},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b? +a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"b",function(){return w});a.d(f,"c",function(){return y});a.d(f,"a",function(){return x});var d=a(31),b=a(187),c=a(181);h=a(1);var e=a(8),g=a(22),l=a(2),k=a(61),t=a(148),m=a(53), +r=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),u=function z(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return z(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(336);a(84); +f.d="neuroglancer-position";var v=g.a.fromObject({tab:{action:"tab-forward",preventDefault:!1},arrowup:{action:"adjust-up"},arrowdown:{action:"adjust-down"},wheel:{action:"adjust-via-wheel"},"shift+tab":{action:"tab-backward",preventDefault:!1},backspace:{action:"delete-backward",preventDefault:!1},escape:{action:"cancel"},mouseup0:{action:"select-all-if-was-not-focused",preventDefault:!1}}),w=function(a){function m(a,e){e=void 0===e?6:e;q(this,m);var r=p(this,(m.__proto__||Object.getPrototypeOf(m)).call(this)); +r.position=a;r.maxNumberWidth=e;r.element=document.createElement("div");r.inputContainer=document.createElement("div");r.inputElement=document.createElement("input");r.hintElement=document.createElement("input");r.tempPosition=l.s.create();r.updateHintScrollPosition=r.registerCancellable(Object(b.a)(function(){r.hintElement.scrollLeft=r.inputElement.scrollLeft}));var f=r.element,h=r.inputElement,u=r.hintElement,n=r.inputContainer;n.className="neuroglancer-position-widget-input-container";h.className= +"neuroglancer-position-widget-input";u.className="neuroglancer-position-widget-hint";r.inputFieldWidth=3*e+11;e=$jscomp.makeIterator([h,u]);for(var w=e.next();!w.done;w=e.next())w=w.value,w.spellcheck=!1,w.autocomplete="off",w.type="text",w.style.width=r.inputFieldWidth+"ch";u.disabled=!0;e=document.createElement("div");e.textContent="\u29c9";e.className="neuroglancer-copy-button neuroglancer-button";e.title="Copy position to clipboard";e.addEventListener("click",function(){var a=Object(c.b)(r.getPositionText()); +d.a.showTemporaryMessage(a?"Position copied to clipboard":"Failed to copy position to clipboard")});e.addEventListener("dragstart",function(b){b.dataTransfer.setData("neuroglancer-position",JSON.stringify(a.toJSON()));b.dataTransfer.setData("text",r.getPositionText());b.stopPropagation()});e.draggable=!0;f.appendChild(e);f.appendChild(n);n.appendChild(h);n.appendChild(u);f.className="neuroglancer-position-widget";r.registerDisposer(a.changed.add(r.registerCancellable(Object(b.a)(function(){return r.updateView()})))); r.registerDisposer(new k.b(h,v)).allShortcutsAreGlobal=!0;r.registerDisposer(new t.a(h,v));r.registerEventListener(h,"change",function(){return r.updatePosition()});r.registerEventListener(h,"blur",function(){return r.updatePosition()});r.registerEventListener(h,"input",function(){return r.cleanInput()});r.registerEventListener(h,"keydown",r.updateHintScrollPosition);r.registerEventListener(h,"copy",function(a){var b=h.value.substring(h.selectionStart,h.selectionEnd);b=b.trim().replace(/\s+/g," "); a.clipboardData.setData("text/plain",b);a.stopPropagation();a.preventDefault()});var x=!1;r.registerEventListener(h,"mousedown",function(){x=document.activeElement===h});r.registerDisposer(Object(g.c)(h,"select-all-if-was-not-focused",function(a){x||(h.selectionStart=0,h.selectionEnd=h.value.length,h.selectionDirection="forward",a.preventDefault())}));r.registerDisposer(Object(g.c)(h,"tab-forward",function(a){var b=Math.min(h.selectionStart,h.selectionEnd),c=h.value.substring(b).match(/^([^,\s]*)((?:\s+)|(?:\s*,\s*))?([^,\s]*)/); null!==c&&void 0!==c[2]&&(h.selectionStart=b+c[1].length+c[2].length,h.selectionEnd=h.selectionStart+c[3].length,h.selectionDirection="forward",a.preventDefault())}));r.registerDisposer(Object(g.c)(h,"tab-backward",function(a){var b=h.value.substring(0,Math.max(h.selectionStart,h.selectionEnd)).match(/([^,\s]*)((?:\s+)|(?:\s*,\s*))?([^,\s]*)$/);null!==b&&void 0!==b[2]&&(h.selectionStart=b.index,h.selectionEnd=h.selectionStart+b[1].length,h.selectionDirection="forward",a.preventDefault())}));r.registerDisposer(Object(g.c)(h, @@ -1139,35 +1139,35 @@ e.updateView();return e}n(c,a);r(c,[{key:"updateView",value:function(){var a=thi {key:"disposed",value:function(){Object(e.b)(this.element);u(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"disposed",this).call(this)}}]);return c}(h.a),x=function(a){function c(a,d,e){q(this,c);var g=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));g.element=a;g.mouseState=d;g.voxelSize=e;g.tempPosition=l.s.create();a.className="neuroglancer-mouse-position-widget";a=g.registerCancellable(Object(b.a)(function(){return g.updateView()}));g.registerDisposer(d.changed.add(a));g.registerDisposer(e.changed.add(a)); return g}n(c,a);r(c,[{key:"updateView",value:function(){var a="",b=this.mouseState,c=this.voxelSize;b.active&&c.valid&&(a=this.tempPosition,c.voxelFromSpatial(a,b.position),a="x "+Math.floor(a[0])+", y "+Math.floor(a[1])+", z "+Math.floor(a[2]));this.element.textContent=a}},{key:"disposed",value:function(){Object(e.b)(this.element);u(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"disposed",this).call(this)}}]);return c}(h.a)},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a){var b=a.viewer;return Object.assign({},Object(D.d)(b),{navigationState:b.perspectiveNavigationState,inputEventMap:b.inputEventBindings.perspectiveView, -orthographicProjection:a.specification.orthographicProjection,showScaleBar:b.showScaleBar,rpc:b.chunkManager.rpc})}function c(a){return Object.assign({},Object(D.d)(a),{navigationState:a.navigationState,inputEventMap:a.inputEventBindings.sliceView})}function b(a,b,c){c=void 0===b?a.navigationState:new u.e(new u.g(a.navigationState.pose.position,u.f.makeRelative(a.navigationState.pose.orientation,b)),c||a.navigationState.zoomFactor);a=new w.a(a.chunkManager,a.layerManager,c);a[N]=b||z.n.create();return a} -function d(a,c,d){return a.map(function(a){return b(c,a[N],d)})}function e(a,b){var c=a.onResize;a.onResize=function(){b.dedebounceUpdates?this.sliceView.setViewportSize(this.element.clientWidth,this.element.clientHeight):c.call(this)};return a}function g(a,b){Object(B.c)(a.element,"nehuba-rotate-via-mouse-drag",function(c){var d=a.viewer,e=a.sliceView,g=d.mouseState;if(g.updateUnconditionally()){var k=b.rotateAtViewCentre?void 0:z.s.clone(g.position);Object(F.a)(c.detail,function(a,b,c){a=e.viewportAxes; +orthographicProjection:a.specification.orthographicProjection,showScaleBar:b.showScaleBar,rpc:b.chunkManager.rpc})}function d(a){return Object.assign({},Object(D.d)(a),{navigationState:a.navigationState,inputEventMap:a.inputEventBindings.sliceView})}function b(a,b,c){c=void 0===b?a.navigationState:new u.e(new u.g(a.navigationState.pose.position,u.f.makeRelative(a.navigationState.pose.orientation,b)),c||a.navigationState.zoomFactor);a=new w.a(a.chunkManager,a.layerManager,c);a[N]=b||z.n.create();return a} +function c(a,c,d){return a.map(function(a){return b(c,a[N],d)})}function e(a,b){var c=a.onResize;a.onResize=function(){b.dedebounceUpdates?this.sliceView.setViewportSize(this.element.clientWidth,this.element.clientHeight):c.call(this)};return a}function g(a,b){Object(B.c)(a.element,"nehuba-rotate-via-mouse-drag",function(c){var d=a.viewer,e=a.sliceView,g=d.mouseState;if(g.updateUnconditionally()){var k=b.rotateAtViewCentre?void 0:z.s.clone(g.position);Object(F.a)(c.detail,function(a,b,c){a=e.viewportAxes; d.navigationState.pose.rotateAbsolute(a[1],b/4*Math.PI/180,k);d.navigationState.pose.rotateAbsolute(a[0],c/4*Math.PI/180,k)})}});return a}function l(a,b){var c=a.zoomByMouse;a.zoomByMouse=function(a){b.zoomAtViewCentre?this.navigationState.zoomBy(a):c.call(this,a)};return a}function k(a,b){var c=a.registerDisposer(new C.a),d=c.element;a.registerDisposer(new x.a(b,d));a.element.appendChild(d);var e=a.draw;a.draw=function(){e.call(this);var a=this.sliceView,b=c.dimensions;b.targetLengthInPixels=Math.min(a.width/ 4,100);b.nanometersPerPixel=a.pixelSize;c.update()};return a}function t(a){var b=a.draw;a.draw=function(){b.call(this);var c={missingImageChunks:m(this.sliceView,function(a){return a instanceof L.b}),missingChunks:m(this.sliceView),nanometersToOffsetPixels:function(b){b=z.s.transformMat4(z.s.create(),b,a.sliceView.dataToViewport);b[0]=b[0]+a.sliceView.width/2+a.element.clientLeft;b[1]=b[1]+a.sliceView.height/2+a.element.clientTop;return b}};c=new CustomEvent("sliceRenderEvent",{bubbles:!0,detail:c}); -this.element.dispatchEvent(c)}}function m(a,b){var c=a.visibleLayerList.filter(function(a){return b?b(a):!0});return 0===c.length?-1:c.map(function(b){return a.visibleLayers.get(b)}).reduce(function(a,b){return a.concat(b)},[]).filter(function(a){return a.source instanceof I.b}).map(function(a){return a}).map(function(b){var c=b.source.chunks;if(b=a.visibleChunks.get(b.chunkLayout))return b.map(function(a){return c.get(a)}).filter(function(a){return!(a&&a.state===O.d.GPU_MEMORY)}).length;console.log("visibleChunks are not defined"); -return 0}).reduce(function(a,b){return a+b},0)}a.d(f,"a",function(){return U});var r=a(183),u=a(57),v=a(117),w=a(44),y=a(78),x=a(35);h=a(1);var A=a(8),z=a(2),D=a(82),E=a(191),G=a(193),C=a(192),B=a(25),F=a(80),L=a(160),I=a(33),O=a(30),M=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),P=function H(a,b,c){null=== +this.element.dispatchEvent(c)}}function m(a,b){var c=a.visibleLayerList.filter(function(a){return b?b(a):!0});return 0===c.length?-1:c.map(function(b){return a.visibleLayers.get(b)}).reduce(function(a,b){return a.concat(b)},[]).filter(function(a){return a.source instanceof J.b}).map(function(a){return a}).map(function(b){var c=b.source.chunks;if(b=a.visibleChunks.get(b.chunkLayout))return b.map(function(a){return c.get(a)}).filter(function(a){return!(a&&a.state===O.d.GPU_MEMORY)}).length;console.log("visibleChunks are not defined"); +return 0}).reduce(function(a,b){return a+b},0)}a.d(f,"a",function(){return U});var r=a(184),u=a(57),v=a(82),w=a(44),y=a(60),x=a(35);h=a(1);var A=a(8),z=a(2),D=a(83),E=a(191),G=a(193),C=a(192),B=a(22),F=a(80),L=a(160),J=a(33),O=a(30),M=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),P=function H(a,b,c){null=== a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return H(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};$jscomp.initSymbol();var N=Symbol("SliceQuat");$jscomp.initSymbol();var S=Symbol("config");f.b=S;f.c="layoutEvent";var U=function(a){function m(a,f,h,u){if(!(this instanceof m))throw new TypeError("Cannot call a class as a function");var p=q(this,(m.__proto__||Object.getPrototypeOf(m)).call(this)); p.container=a;p.rootElement=f;p.viewer=h;u;var w=h.display.container[S];if(!w)throw Error("Are you trying to use nehuba classes directly? Use should use defined API instead");var D=w.layout||{};D.useNehubaPerspective&&!D.useNehubaPerspective.doNotRestrictUserNavigation&&Object(G.e)(h);var A=function(a){t(e(l(g(a,w),w),w));return a};D.views||(D.views="hbp-neuro");"hbp-neuro"===D.views&&(D.views={slice1:z.n.rotateX(z.n.create(),z.n.create(),-Math.PI/2),slice2:z.n.rotateY(z.n.create(),z.n.rotateX(z.n.create(), -z.n.create(),-Math.PI/2),-Math.PI/2),slice3:z.n.rotateX(z.n.create(),z.n.create(),Math.PI)});u=D.views;var C=[u.slice1,u.slice2,u.slice3].map(function(a){return b(h,a)}),B,F=h.display,I=Object.assign({},n(a),{showSliceViews:h.showPerspectiveSliceViews,showSliceViewsCheckbox:!D.hideSliceViewsCheckbox,slicesNavigationState:h.navigationState}),L=Object.assign({},c(h),{showScaleBar:new x.b(!1,!1)}),M=Object.assign({},c(h),{showScaleBar:new x.b(!1,!1)});a=[r.b(1,r.a("column",[r.b(1,r.a("row",[r.b(1,function(a){p.registerDisposer(A(k(new y.a(F, -a,C[0],L),h.showScaleBar)))}),r.b(1,function(a){p.registerDisposer(A(new y.a(F,a,C[1],M)))})])),r.b(1,r.a("row",[r.b(1,function(a){p.registerDisposer(A(new y.a(F,a,C[2],M)))}),r.b(1,function(a){if(D.useNehubaPerspective){var b=D.useNehubaPerspective;B=p.registerDisposer(new E.a(F,a,I,w));C.forEach(function(a){B.planarSlices.add(a.addRef())});if(b.fixedZoomPerspectiveSlices){var c=b.fixedZoomPerspectiveSlices;d(C,h,c.sliceZoom).forEach(function(a){var b=c.sliceViewportSizeMultiplier;a.setViewportSize(c.sliceViewportWidth* -b,c.sliceViewportHeight*b);B.sliceViews.set(a,!1)})}else for(b=$jscomp.makeIterator(C),a=b.next();!a.done;a=b.next())B.sliceViews.set(a.value.addRef(),!1)}else for(B=p.registerDisposer(new v.b(F,a,I)),b=$jscomp.makeIterator(C),a=b.next();!a.done;a=b.next())B.sliceViews.set(a.value.addRef(),!1)})]))]))];r.a("row",a)(f);F.onResize();f=new CustomEvent("layoutEvent",{detail:{perspective:B&&B.element}});h.display.container.dispatchEvent(f);return p}p(m,a);M(m,[{key:"disposed",value:function(){Object(A.a)(this.rootElement); +z.n.create(),-Math.PI/2),-Math.PI/2),slice3:z.n.rotateX(z.n.create(),z.n.create(),Math.PI)});u=D.views;var C=[u.slice1,u.slice2,u.slice3].map(function(a){return b(h,a)}),B,F=h.display,J=Object.assign({},n(a),{showSliceViews:h.showPerspectiveSliceViews,showSliceViewsCheckbox:!D.hideSliceViewsCheckbox,slicesNavigationState:h.navigationState}),L=Object.assign({},d(h),{showScaleBar:new x.b(!1,!1)}),M=Object.assign({},d(h),{showScaleBar:new x.b(!1,!1)});a=[r.b(1,r.a("column",[r.b(1,r.a("row",[r.b(1,function(a){p.registerDisposer(A(k(new y.a(F, +a,C[0],L),h.showScaleBar)))}),r.b(1,function(a){p.registerDisposer(A(new y.a(F,a,C[1],M)))})])),r.b(1,r.a("row",[r.b(1,function(a){p.registerDisposer(A(new y.a(F,a,C[2],M)))}),r.b(1,function(a){if(D.useNehubaPerspective){var b=D.useNehubaPerspective;B=p.registerDisposer(new E.a(F,a,J,w));C.forEach(function(a){B.planarSlices.add(a.addRef())});if(b.fixedZoomPerspectiveSlices){var d=b.fixedZoomPerspectiveSlices;c(C,h,d.sliceZoom).forEach(function(a){var b=d.sliceViewportSizeMultiplier;a.setViewportSize(d.sliceViewportWidth* +b,d.sliceViewportHeight*b);B.sliceViews.set(a,!1)})}else for(b=$jscomp.makeIterator(C),a=b.next();!a.done;a=b.next())B.sliceViews.set(a.value.addRef(),!1)}else for(B=p.registerDisposer(new v.b(F,a,J)),b=$jscomp.makeIterator(C),a=b.next();!a.done;a=b.next())B.sliceViews.set(a.value.addRef(),!1)})]))]))];r.a("row",a)(f);F.onResize();f=new CustomEvent("layoutEvent",{detail:{perspective:B&&B.element}});h.display.container.dispatchEvent(f);return p}p(m,a);M(m,[{key:"disposed",value:function(){Object(A.a)(this.rootElement); P(m.prototype.__proto__||Object.getPrototypeOf(m.prototype),"disposed",this).call(this)}}]);return m}(h.a);f.d="sliceRenderEvent"},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+ -typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"b",function(){return k});a.d(f,"a",function(){return t});var c=a(7),b=a(14);h=a(112);var d=a(65),e=a(114),g=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&& +typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"b",function(){return k});a.d(f,"a",function(){return t});var d=a(7),b=a(14);h=a(113);var c=a(66),e=a(115),g=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&& a(b.prototype,c);d&&a(b,d);return b}}(),l=function r(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return r(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},k=function(a){function b(){q(this,b);var a=p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.hashMapShaderManager=new e.b("customColors");return a}n(b,a);g(b,[{key:"defineShader",value:function(a){var c= this.prefix;this.prefix=c+"_NG";l(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"defineShader",this).call(this,a);this.hashMapShaderManager.defineShader(a);a.addFragmentCode("\nvec3 "+c+"(uint64_t x) {\n uint64_t mappedValue;\n if ("+this.hashMapShaderManager.getFunctionName+"(x, mappedValue)) {\n return mappedValue.low.rgb;\n }\n return "+this.prefix+"(x);\n}\n");this.prefix=c}},{key:"enable",value:function(a,c,d){var g=e.a.get(a,d.gpuColorMap);this.hashMapShaderManager.enable(a, -c,g);l(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"enable",this).call(this,a,c,d)}}]);return b}(h.b),t=function(a){function e(a,b){q(this,e);a=p(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,a));a.gpuColorMap=new d.a;a.colorMap=new Map;a.changed.dispose();a.changed=b;return a}n(e,a);g(e,[{key:"setSegmentColor",value:function(a,c,d,e){var g=65536*e+256*d+c;this.colorMap.set(a,{red:c,green:d,blue:e,gpu:g});this.gpuColorMap.set(new b.a(a),new b.a(g))||this.repopulateGpuMap(); +c,g);l(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"enable",this).call(this,a,c,d)}}]);return b}(h.b),t=function(a){function e(a,b){q(this,e);a=p(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,a));a.gpuColorMap=new c.a;a.colorMap=new Map;a.changed.dispose();a.changed=b;return a}n(e,a);g(e,[{key:"setSegmentColor",value:function(a,c,d,e){var g=65536*e+256*d+c;this.colorMap.set(a,{red:c,green:d,blue:e,gpu:g});this.gpuColorMap.set(new b.a(a),new b.a(g))||this.repopulateGpuMap(); this.changed.dispatch()}},{key:"unsetSegmentColor",value:function(a){this.colorMap.delete(a);this.repopulateGpuMap();this.changed.dispatch()}},{key:"batchUpdate",value:function(a){var b=this;a.forEach(function(a,c){var d=a.red,e=a.green;a=a.blue;b.colorMap.set(c,{red:d,green:e,blue:a,gpu:65536*a+256*e+d})});this.repopulateGpuMap();this.changed.dispatch()}},{key:"clearCustomSegmentColors",value:function(){this.colorMap.clear();this.gpuColorMap.clear();this.changed.dispatch()}},{key:"repopulateGpuMap", value:function(){var a=this.colorMap,c=this.gpuColorMap;c.clear();a.forEach(function(a,d){c.set(new b.a(d),new b.a(a.gpu))})}},{key:"compute",value:function(a,b){var c=this.colorMap.get(b.low);if(c){b=c.green;var d=c.blue;a[0]=c.red/255;a[1]=b/255;a[2]=d/255;return a}return l(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"compute",this).call(this,a,b)}},{key:"toString",value:function(){return"new NehubaSegmentColorHash(["+this.hashFunctions+"])"}}],[{key:"from",value:function(a){var b= -new e(a.hashFunctions,a.changed);a.changed=new c.a;return b}},{key:"getDefault",value:function(){throw Error("NehubaSegmentColorHash is supposed to be created by `from` static method");}}]);return e}(h.a)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!== -typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a){if(!a.showSliceViewsCheckboxValue)return w;var b=a&&a.config.layout.useNehubaPerspective.centerToOrigin,c=a&&a.config.layout.useNehubaPerspective.mesh,d=c&&c.backFaceColor||a&&a.config&&a.config.layout&& +new e(a.hashFunctions,a.changed);a.changed=new d.a;return b}},{key:"getDefault",value:function(){throw Error("NehubaSegmentColorHash is supposed to be created by `from` static method");}}]);return e}(h.a)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!== +typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function d(a){if(!a.showSliceViewsCheckboxValue)return w;var b=a&&a.config.layout.useNehubaPerspective.centerToOrigin,c=a&&a.config.layout.useNehubaPerspective.mesh,d=c&&c.backFaceColor||a&&a.config&&a.config.layout&& a.config.layout.useNehubaPerspective&&a.config.layout.useNehubaPerspective.perspectiveSlicesBackground||a&&a.crossSectionBackground,g=e.k.create(),k=c&&c.removeOctant||e.u.fromValues(0,0,0,0);if(a&&c){var l=a.slicesPose;c.removeBasedOnNavigation&&(l.toMat4(g),e.k.invert(g,g));c.flipRemovedOctant&&(k=e.u.fromValues(0,0,-(b?a.perspectiveNavigationState.zoomFactor.value:1),1),a=a.perspectiveNavigationState.pose,b=b?l.position.spatialCoordinates:e.s.fromValues(0,0,0),a=a.orientation.orientation,l=e.n.invert(e.n.create(), -l.orientation.orientation),l=e.n.multiply(e.n.create(),l,a),l=e.k.fromQuat(e.k.create(),l),e.u.transformMat4(k,k,l),k[0]=k[0]<b[0]/100?-1:1,k[1]=k[1]<b[1]/100?-1:1,k[2]=k[2]<b[2]/100?-1:1)}return{navState:g,octant:k,backFaceColor:e.u.fromValues(d[0],d[1],d[2],1)}}a.d(f,"a",function(){return v});f.c=c;a.d(f,"b",function(){return y});var b=a(30),d=a(63),e=a(2),g=a(22),l=a(24),k=a(14),t=a(65);h=a(15);a=a(54);var m=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable|| +l.orientation.orientation),l=e.n.multiply(e.n.create(),l,a),l=e.k.fromQuat(e.k.create(),l),e.u.transformMat4(k,k,l),k[0]=k[0]<b[0]/100?-1:1,k[1]=k[1]<b[1]/100?-1:1,k[2]=k[2]<b[2]/100?-1:1)}return{navState:g,octant:k,backFaceColor:e.u.fromValues(d[0],d[1],d[2],1)}}a.d(f,"a",function(){return v});f.c=d;a.d(f,"b",function(){return y});var b=a(30),c=a(64),e=a(2),g=a(23),l=a(25),k=a(14),t=a(66);h=a(15);a=a(54);var m=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable|| !1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),r=function A(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return A(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},u=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))} n(b,a);m(b,[{key:"defineShader",value:function(a){r(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"defineShader",this).call(this,a);a.addVarying("highp vec4","vNavPos");a.addUniform("highp mat4","uNavState");a.addUniform("highp vec4","uOctant");a.addUniform("highp vec4","uBackFaceColor");a.setVertexMain("\nvec4 position = uModelMatrix * vec4(aVertexPosition, 1.0);\nvNavPos = uNavState * position * uOctant;\ngl_Position = uProjection * position;\nvec3 normal = (uModelMatrix * vec4(aVertexNormal, 0.0)).xyz;\nfloat lightingFactor = abs(dot(normal, uLightDirection.xyz)) + uLightDirection.w;\nvColor = vec4(lightingFactor * uColor.rgb, uColor.a);\n\t\t"); a.setFragmentMain("\nif (vNavPos.x > 0.0 && vNavPos.y > 0.0 && vNavPos.z > 0.0) {\n discard;\n} else {\n if (gl_FrontFacing) emit(vColor, uPickID);\n else emit(uBackFaceColor, uPickID);\n}\n\t\t")}},{key:"setValuesForClipping",value:function(a,b,c){this.setNavState(a,b,c.navState);this.setOctant(a,b,c.octant);this.setBackFaceColor(a,b,c.backFaceColor)}},{key:"setNavState",value:function(a,b,c){a.uniformMatrix4fv(b.uniform("uNavState"),!1,c)}},{key:"setOctant",value:function(a,b,c){a.uniform4fv(b.uniform("uOctant"), c)}},{key:"setBackFaceColor",value:function(a,b,c){a.uniform4fv(b.uniform("uBackFaceColor"),c)}},{key:"getShader",value:function(a,b){var c=this;return a.memoize.get("mesh/NehubaMeshShaderManager:"+Object(g.a)(b),function(){var d=new l.a(a);d.require(b);c.defineShader(d);return d.build()})}}]);return b}(a.b),v=function(a){function e(a,b,c){q(this,e);a=p(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,a,b,c));a.meshShaderManager=new u;return a}n(e,a);m(e,[{key:"draw",value:function(a){var e= -this;if(a.emitColor||!a.alreadyEmittedPickID){var g=this.gl,k=this.displayState,l=this.meshShaderManager,m=Math.min(1,k.objectAlpha.value);if(!(0>=m)){var r=this.getShader(a.emitter);r.bind();l.beginLayer(g,r,a);a.extra||console.error("Bad configuration. Nehuba mesh layer is used by neuroglancer code.");var f=c(a.extra);l.setValuesForClipping(g,r,f);var t=a.extra&&a.extra.config.layout.useNehubaPerspective.mesh,h=t&&t.surfaceParcellation;t=this.source.fragmentSource.objectChunks;var u=a.pickIDs,v= -this.displayState.objectToDataTransform.transform,n=k.visibleSegments;var p=n instanceof y?h||a.extra.showSliceViewsCheckboxValue?n.getLoadedMeshes():0===n.size?n.getLoadedMeshes():n:n;var q=new Proxy(k,{get:function(a,b){if("visibleSegments"===b)return p;b=a[b];return"function"===typeof b?b.bind(a):b}}),z=0;Object(d.d)(q,t,function(c,t,p){a.emitColor&&l.setColor(g,r,Object(d.e)(k,c,m));a.emitPickID&&l.setPickID(g,r,u.registerUint64(e,t));a.extra.showSliceViewsCheckboxValue&&n instanceof y&&!h&&(n.has(c)? -l.setValuesForClipping(g,r,w):l.setValuesForClipping(g,r,f));l.beginObject(g,r,v);c=$jscomp.makeIterator(p);for(t=c.next();!t.done;t=c.next())t=t.value,t.state===b.d.GPU_MEMORY&&(l.drawFragment(g,r,t),z++)});l.endLayer(g,r);a.extra.meshRendered=0<t.size;-1===a.extra.meshesLoaded&&(a.extra.meshesLoaded=0);a.extra.meshesLoaded+=t.size;-1===a.extra.meshFragmentsLoaded&&(a.extra.meshFragmentsLoaded=0);a.extra.meshFragmentsLoaded+=z;t=Array.from(t.keys());a.extra.lastMeshId=t[t.length-1]}}}}]);return e}(a.a), +this;if(a.emitColor||!a.alreadyEmittedPickID){var g=this.gl,k=this.displayState,l=this.meshShaderManager,m=Math.min(1,k.objectAlpha.value);if(!(0>=m)){var r=this.getShader(a.emitter);r.bind();l.beginLayer(g,r,a);a.extra||console.error("Bad configuration. Nehuba mesh layer is used by neuroglancer code.");var f=d(a.extra);l.setValuesForClipping(g,r,f);var t=a.extra&&a.extra.config.layout.useNehubaPerspective.mesh,h=t&&t.surfaceParcellation;t=this.source.fragmentSource.objectChunks;var u=a.pickIDs,v= +this.displayState.objectToDataTransform.transform,n=k.visibleSegments;var p=n instanceof y?h||a.extra.showSliceViewsCheckboxValue?n.getLoadedMeshes():0===n.size?n.getLoadedMeshes():n:n;var q=new Proxy(k,{get:function(a,b){if("visibleSegments"===b)return p;b=a[b];return"function"===typeof b?b.bind(a):b}}),z=0;Object(c.d)(q,t,function(d,t,p){a.emitColor&&l.setColor(g,r,Object(c.e)(k,d,m));a.emitPickID&&l.setPickID(g,r,u.registerUint64(e,t));a.extra.showSliceViewsCheckboxValue&&n instanceof y&&!h&&(n.has(d)? +l.setValuesForClipping(g,r,w):l.setValuesForClipping(g,r,f));l.beginObject(g,r,v);d=$jscomp.makeIterator(p);for(t=d.next();!t.done;t=d.next())t=t.value,t.state===b.d.GPU_MEMORY&&(l.drawFragment(g,r,t),z++)});l.endLayer(g,r);a.extra.meshRendered=0<t.size;-1===a.extra.meshesLoaded&&(a.extra.meshesLoaded=0);a.extra.meshesLoaded+=t.size;-1===a.extra.meshFragmentsLoaded&&(a.extra.meshFragmentsLoaded=0);a.extra.meshFragmentsLoaded+=z;t=Array.from(t.keys());a.extra.lastMeshId=t[t.length-1]}}}}]);return e}(a.a), w={navState:e.k.create(),octant:e.u.fromValues(0,0,0,0),backFaceColor:e.u.fromValues(.5,.5,.5,1)},y=function(a){function b(a){q(this,b);var c=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.localHashTable=new t.b;c.wrapped=a;a=$jscomp.makeIterator(c.wrapped.hashTable);for(var d=a.next();!d.done;d=a.next())c.localHashTable.add(d.value);return c}n(b,a);$jscomp.initSymbol();$jscomp.initSymbolIterator();m(b,[{key:"setMeshesToLoad",value:function(a){var b=this;this.wrapped.clear();a.forEach(function(a){a= new k.a(a);b.wrapped.add(a);b.wrapped.changed.dispatch(a,!1)})}},{key:"getLoadedMeshes",value:function(){return this.wrapped}},{key:"add_",value:function(a){a;throw Error("Unexpected member access of VisibleSegmentsWrapper");}},{key:"add",value:function(a){this.localHashTable.add(a)&&this.changed.dispatch(a,!0)}},{key:"has",value:function(a){return this.localHashTable.has(a)}},{key:Symbol.iterator,value:function(){return this.localHashTable.keys()}},{key:"delete_",value:function(a){a;throw Error("Unexpected member access of VisibleSegmentsWrapper"); }},{key:"delete",value:function(a){this.localHashTable.delete(a)&&this.changed.dispatch(a,!1)}},{key:"clear",value:function(){this.localHashTable.clear()&&this.changed.dispatch(null,!1)}},{key:"toJSON",value:function(){for(var a=[],b=$jscomp.makeIterator(this),c=b.next();!c.done;c=b.next())a.push(c.value.toString());return a}},{key:"initializeSharedObject",value:function(a,b){b=void 0===b?a.newId():b;b;throw Error("Unexpected member access of VisibleSegmentsWrapper");}},{key:"initializeCounterpart", @@ -1175,41 +1175,41 @@ value:function(a,b){b=void 0===b?{}:b;a;b;throw Error("Unexpected member access }},{key:"dispose",value:function(){throw Error("Unexpected member access of VisibleSegmentsWrapper");}},{key:"refCountReachedZero",value:function(){throw Error("Unexpected member access of VisibleSegmentsWrapper");}},{key:"disposed",value:function(){throw Error("Unexpected member access of VisibleSegmentsWrapper");}},{key:"registerDisposer",value:function(a){a;throw Error("Unexpected member access of VisibleSegmentsWrapper");}},{key:"unregisterDisposer",value:function(a){a;throw Error("Unexpected member access of VisibleSegmentsWrapper"); }},{key:"registerEventListener",value:function(a,b,c,d){a;b;c;d;throw Error("Unexpected member access of VisibleSegmentsWrapper");}},{key:"registerCancellable",value:function(a){a;throw Error("Unexpected member access of VisibleSegmentsWrapper");}},{key:"hashTable",get:function(){return this.localHashTable}},{key:"changed",get:function(){return this.wrapped.changed}},{key:"size",get:function(){return this.localHashTable.size}},{key:"rpcId",get:function(){return this.wrapped.rpcId},set:function(a){a}}, {key:"rpc",get:function(){throw Error("Unexpected member access of VisibleSegmentsWrapper");},set:function(a){a}},{key:"isOwner",get:function(){throw Error("Unexpected member access of VisibleSegmentsWrapper");}},{key:"unreferencedGeneration",get:function(){throw Error("Unexpected member access of VisibleSegmentsWrapper");}},{key:"referencedGeneration",get:function(){throw Error("Unexpected member access of VisibleSegmentsWrapper");}},{key:"RPC_TYPE_ID",get:function(){throw Error("Unexpected member access of VisibleSegmentsWrapper"); -}},{key:"refCount",set:function(a){a},get:function(){throw Error("Unexpected member access of VisibleSegmentsWrapper");}},{key:"wasDisposed",get:function(){throw Error("Unexpected member access of VisibleSegmentsWrapper");}}]);return b}(h.b)},function(h,f,a){var q=this&&this.__extends||function(a,f){function c(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(c.prototype=f.prototype,new c)};h=function(a){function f(c,b){a.call(this);this.value= -c;this.scheduler=b;this._isScalar=!0;b&&(this._isScalar=!1)}q(f,a);f.create=function(a,b){return new f(a,b)};f.dispatch=function(a){var b=a.value,c=a.subscriber;a.done?c.complete():(c.next(b),c.closed||(a.done=!0,this.schedule(a)))};f.prototype._subscribe=function(a){var b=this.value,c=this.scheduler;if(c)return c.schedule(f.dispatch,0,{done:!1,value:b,subscriber:a});a.next(b);a.closed||a.complete()};return f}(a(0).Observable);f.ScalarObservable=h},function(h,f,a){var q=this&&this.__extends||function(a, -b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(38),n=a(36);h=a(5);var c=a(6),b={};f.combineLatest=function(){for(var a=[],b=0;b<arguments.length;b++)a[b-0]=arguments[b];b=null;"function"===typeof a[a.length-1]&&(b=a.pop());1===a.length&&n.isArray(a[0])&&(a=a[0].slice());a.unshift(this);return this.lift.call(new p.ArrayObservable(a),new d(b))};var d=function(){function a(a){this.project=a} -a.prototype.call=function(a,b){return b.subscribe(new e(a,this.project))};return a}();f.CombineLatestOperator=d;var e=function(a){function d(b,c){a.call(this,b);this.project=c;this.active=0;this.values=[];this.observables=[]}q(d,a);d.prototype._next=function(a){this.values.push(b);this.observables.push(a)};d.prototype._complete=function(){var a=this.observables,b=a.length;if(0===b)this.destination.complete();else{this.toRespond=this.active=b;for(var d=0;d<b;d++){var e=a[d];this.add(c.subscribeToResult(this, -e,e,d))}}};d.prototype.notifyComplete=function(a){0===--this.active&&this.destination.complete()};d.prototype.notifyNext=function(a,c,d,e,g){a=this.values;e=a[d];e=this.toRespond?e===b?--this.toRespond:this.toRespond:0;a[d]=c;0===e&&(this.project?this._tryProject(a):this.destination.next(a.slice()))};d.prototype._tryProject=function(a){try{var b=this.project.apply(this,a)}catch(m){this.destination.error(m);return}this.destination.next(b)};return d}(h.OuterSubscriber);f.CombineLatestSubscriber=e}, -function(h,f,a){function q(){for(var a=[],e=0;e<arguments.length;e++)a[e-0]=arguments[e];e=null;n.isScheduler(a[a.length-1])&&(e=a.pop());return null===e&&1===a.length&&a[0]instanceof p.Observable?a[0]:(new c.ArrayObservable(a,e)).lift(new b.MergeAllOperator(1))}var p=a(0),n=a(37),c=a(38),b=a(89);f.concat=function(){for(var a=[],b=0;b<arguments.length;b++)a[b-0]=arguments[b];return this.lift.call(q.apply(void 0,[this].concat(a)))};f.concatStatic=q},function(h,f,a){var q=this&&this.__extends||function(a, -b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);var p=a(68);f.observeOn=function(a,b){void 0===b&&(b=0);return this.lift(new n(a,b))};var n=function(){function a(a,b){void 0===b&&(b=0);this.scheduler=a;this.delay=b}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.scheduler,this.delay))};return a}();f.ObserveOnOperator=n;var c=function(a){function c(b,c,d){void 0===d&&(d=0); +}},{key:"refCount",set:function(a){a},get:function(){throw Error("Unexpected member access of VisibleSegmentsWrapper");}},{key:"wasDisposed",get:function(){throw Error("Unexpected member access of VisibleSegmentsWrapper");}}]);return b}(h.b)},function(h,f,a){var q=this&&this.__extends||function(a,f){function d(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(d.prototype=f.prototype,new d)};h=function(a){function f(d,b){a.call(this);this.value= +d;this.scheduler=b;this._isScalar=!0;b&&(this._isScalar=!1)}q(f,a);f.create=function(a,b){return new f(a,b)};f.dispatch=function(a){var b=a.value,c=a.subscriber;a.done?c.complete():(c.next(b),c.closed||(a.done=!0,this.schedule(a)))};f.prototype._subscribe=function(a){var b=this.value,c=this.scheduler;if(c)return c.schedule(f.dispatch,0,{done:!1,value:b,subscriber:a});a.next(b);a.closed||a.complete()};return f}(a(0).Observable);f.ScalarObservable=h},function(h,f,a){var q=this&&this.__extends||function(a, +b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(38),n=a(36);h=a(5);var d=a(6),b={};f.combineLatest=function(){for(var a=[],b=0;b<arguments.length;b++)a[b-0]=arguments[b];b=null;"function"===typeof a[a.length-1]&&(b=a.pop());1===a.length&&n.isArray(a[0])&&(a=a[0].slice());a.unshift(this);return this.lift.call(new p.ArrayObservable(a),new c(b))};var c=function(){function a(a){this.project=a} +a.prototype.call=function(a,b){return b.subscribe(new e(a,this.project))};return a}();f.CombineLatestOperator=c;var e=function(a){function c(b,c){a.call(this,b);this.project=c;this.active=0;this.values=[];this.observables=[]}q(c,a);c.prototype._next=function(a){this.values.push(b);this.observables.push(a)};c.prototype._complete=function(){var a=this.observables,b=a.length;if(0===b)this.destination.complete();else{this.toRespond=this.active=b;for(var c=0;c<b;c++){var e=a[c];this.add(d.subscribeToResult(this, +e,e,c))}}};c.prototype.notifyComplete=function(a){0===--this.active&&this.destination.complete()};c.prototype.notifyNext=function(a,c,d,e,g){a=this.values;e=a[d];e=this.toRespond?e===b?--this.toRespond:this.toRespond:0;a[d]=c;0===e&&(this.project?this._tryProject(a):this.destination.next(a.slice()))};c.prototype._tryProject=function(a){try{var b=this.project.apply(this,a)}catch(m){this.destination.error(m);return}this.destination.next(b)};return c}(h.OuterSubscriber);f.CombineLatestSubscriber=e}, +function(h,f,a){function q(){for(var a=[],e=0;e<arguments.length;e++)a[e-0]=arguments[e];e=null;n.isScheduler(a[a.length-1])&&(e=a.pop());return null===e&&1===a.length&&a[0]instanceof p.Observable?a[0]:(new d.ArrayObservable(a,e)).lift(new b.MergeAllOperator(1))}var p=a(0),n=a(37),d=a(38),b=a(90);f.concat=function(){for(var a=[],b=0;b<arguments.length;b++)a[b-0]=arguments[b];return this.lift.call(q.apply(void 0,[this].concat(a)))};f.concatStatic=q},function(h,f,a){var q=this&&this.__extends||function(a, +b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);var p=a(69);f.observeOn=function(a,b){void 0===b&&(b=0);return this.lift(new n(a,b))};var n=function(){function a(a,b){void 0===b&&(b=0);this.scheduler=a;this.delay=b}a.prototype.call=function(a,b){return b.subscribe(new d(a,this.scheduler,this.delay))};return a}();f.ObserveOnOperator=n;var d=function(a){function c(b,c,d){void 0===d&&(d=0); a.call(this,b);this.scheduler=c;this.delay=d}q(c,a);c.dispatch=function(a){a.notification.observe(a.destination);this.unsubscribe()};c.prototype.scheduleMessage=function(a){this.add(this.scheduler.schedule(c.dispatch,this.delay,new b(a,this.destination)))};c.prototype._next=function(a){this.scheduleMessage(p.Notification.createNext(a))};c.prototype._error=function(a){this.scheduleMessage(p.Notification.createError(a))};c.prototype._complete=function(){this.scheduleMessage(p.Notification.createComplete())}; -return c}(h.Subscriber);f.ObserveOnSubscriber=c;var b=function(){return function(a,b){this.notification=a;this.destination=b}}();f.ObserveOnMessage=b},function(h,f,a){function q(){for(var a=[],b=0;b<arguments.length;b++)a[b-0]=arguments[b];b=a[a.length-1];"function"===typeof b&&a.pop();return(new n.ArrayObservable(a)).lift(new g(b))}var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype= -b.prototype,new c)},n=a(38),c=a(36);h=a(3);var b=a(5),d=a(6),e=a(67);f.zipProto=function(){for(var a=[],b=0;b<arguments.length;b++)a[b-0]=arguments[b];return this.lift.call(q.apply(void 0,[this].concat(a)))};f.zipStatic=q;var g=function(){function a(a){this.project=a}a.prototype.call=function(a,b){return b.subscribe(new l(a,this.project))};return a}();f.ZipOperator=g;var l=function(a){function b(b,c,d){void 0===d&&(d=Object.create(null));a.call(this,b);this.iterators=[];this.active=0;this.project= -"function"===typeof c?c:null;this.values=d}p(b,a);b.prototype._next=function(a){var b=this.iterators;c.isArray(a)?b.push(new t(a)):"function"===typeof a[e.iterator]?b.push(new k(a[e.iterator]())):b.push(new m(this.destination,this,a))};b.prototype._complete=function(){var a=this.iterators,b=a.length;if(0===b)this.destination.complete();else{this.active=b;for(var c=0;c<b;c++){var d=a[c];d.stillUnsubscribed?this.add(d.subscribe(d,c)):this.active--}}};b.prototype.notifyInactive=function(){this.active--; +return c}(h.Subscriber);f.ObserveOnSubscriber=d;var b=function(){return function(a,b){this.notification=a;this.destination=b}}();f.ObserveOnMessage=b},function(h,f,a){function q(){for(var a=[],b=0;b<arguments.length;b++)a[b-0]=arguments[b];b=a[a.length-1];"function"===typeof b&&a.pop();return(new n.ArrayObservable(a)).lift(new g(b))}var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype= +b.prototype,new c)},n=a(38),d=a(36);h=a(3);var b=a(5),c=a(6),e=a(68);f.zipProto=function(){for(var a=[],b=0;b<arguments.length;b++)a[b-0]=arguments[b];return this.lift.call(q.apply(void 0,[this].concat(a)))};f.zipStatic=q;var g=function(){function a(a){this.project=a}a.prototype.call=function(a,b){return b.subscribe(new l(a,this.project))};return a}();f.ZipOperator=g;var l=function(a){function b(b,c,d){void 0===d&&(d=Object.create(null));a.call(this,b);this.iterators=[];this.active=0;this.project= +"function"===typeof c?c:null;this.values=d}p(b,a);b.prototype._next=function(a){var b=this.iterators;d.isArray(a)?b.push(new t(a)):"function"===typeof a[e.iterator]?b.push(new k(a[e.iterator]())):b.push(new m(this.destination,this,a))};b.prototype._complete=function(){var a=this.iterators,b=a.length;if(0===b)this.destination.complete();else{this.active=b;for(var c=0;c<b;c++){var d=a[c];d.stillUnsubscribed?this.add(d.subscribe(d,c)):this.active--}}};b.prototype.notifyInactive=function(){this.active--; 0===this.active&&this.destination.complete()};b.prototype.checkIterators=function(){for(var a,b=this.iterators,c=b.length,d=this.destination,e=0;e<c;e++)if(a=b[e],"function"===typeof a.hasValue&&!a.hasValue())return;var g=!1,k=[];for(e=0;e<c;e++){a=b[e];var l=a.next();a.hasCompleted()&&(g=!0);if(l.done){d.complete();return}k.push(l.value)}this.project?this._tryProject(k):d.next(k);g&&d.complete()};b.prototype._tryProject=function(a){try{var b=this.project.apply(this,a)}catch(y){this.destination.error(y); return}this.destination.next(b)};return b}(h.Subscriber);f.ZipSubscriber=l;var k=function(){function a(a){this.iterator=a;this.nextResult=a.next()}a.prototype.hasValue=function(){return!0};a.prototype.next=function(){var a=this.nextResult;this.nextResult=this.iterator.next();return a};a.prototype.hasCompleted=function(){var a=this.nextResult;return a&&a.done};return a}(),t=function(){function a(a){this.array=a;this.length=this.index=0;this.length=a.length}a.prototype[e.iterator]=function(){return this}; a.prototype.next=function(a){a=this.index++;var b=this.array;return a<this.length?{value:b[a],done:!1}:{value:null,done:!0}};a.prototype.hasValue=function(){return this.array.length>this.index};a.prototype.hasCompleted=function(){return this.array.length===this.index};return a}(),m=function(a){function b(b,c,d){a.call(this,b);this.parent=c;this.observable=d;this.stillUnsubscribed=!0;this.buffer=[];this.isComplete=!1}p(b,a);b.prototype[e.iterator]=function(){return this};b.prototype.next=function(){var a= this.buffer;return 0===a.length&&this.isComplete?{value:null,done:!0}:{value:a.shift(),done:!1}};b.prototype.hasValue=function(){return 0<this.buffer.length};b.prototype.hasCompleted=function(){return 0===this.buffer.length&&this.isComplete};b.prototype.notifyComplete=function(){0<this.buffer.length?(this.isComplete=!0,this.parent.notifyInactive()):this.destination.complete()};b.prototype.notifyNext=function(a,b,c,d,e){this.buffer.push(b);this.parent.checkIterators()};b.prototype.subscribe=function(a, -b){return d.subscribeToResult(this,this.observable,this,b)};return b}(b.OuterSubscriber)},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);f.map=function(a,b){if("function"!==typeof a)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return this.lift(new p(a,b))};var p=function(){function a(a,c){this.project= -a;this.thisArg=c}a.prototype.call=function(a,c){return c.subscribe(new n(a,this.project,this.thisArg))};return a}();f.MapOperator=p;var n=function(a){function b(b,c,g){a.call(this,b);this.project=c;this.count=0;this.thisArg=g||this}q(b,a);b.prototype._next=function(a){try{var b=this.project.call(this.thisArg,a,this.count++)}catch(g){this.destination.error(g);return}this.destination.next(b)};return b}(h.Subscriber)},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor= -a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);f.reduce=function(a,b){var c=!1;2<=arguments.length&&(c=!0);return this.lift(new p(a,b,c))};var p=function(){function a(a,c,e){void 0===e&&(e=!1);this.accumulator=a;this.seed=c;this.hasSeed=e}a.prototype.call=function(a,c){return c.subscribe(new n(a,this.accumulator,this.seed,this.hasSeed))};return a}();f.ReduceOperator=p;var n=function(a){function b(b,c,g,l){a.call(this, -b);this.accumulator=c;this.hasSeed=l;this.index=0;this.hasValue=!1;this.acc=g;this.hasSeed||this.index++}q(b,a);b.prototype._next=function(a){this.hasValue||(this.hasValue=this.hasSeed)?this._tryReduce(a):(this.acc=a,this.hasValue=!0)};b.prototype._tryReduce=function(a){try{var b=this.accumulator(this.acc,a,this.index++)}catch(g){this.destination.error(g);return}this.acc=b};b.prototype._complete=function(){(this.hasValue||this.hasSeed)&&this.destination.next(this.acc);this.destination.complete()}; +b){return c.subscribeToResult(this,this.observable,this,b)};return b}(b.OuterSubscriber)},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);f.map=function(a,b){if("function"!==typeof a)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return this.lift(new p(a,b))};var p=function(){function a(a,c){this.project= +a;this.thisArg=c}a.prototype.call=function(a,c){return c.subscribe(new n(a,this.project,this.thisArg))};return a}();f.MapOperator=p;var n=function(a){function b(b,d,g){a.call(this,b);this.project=d;this.count=0;this.thisArg=g||this}q(b,a);b.prototype._next=function(a){try{var b=this.project.call(this.thisArg,a,this.count++)}catch(g){this.destination.error(g);return}this.destination.next(b)};return b}(h.Subscriber)},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor= +a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);f.reduce=function(a,b){var c=!1;2<=arguments.length&&(c=!0);return this.lift(new p(a,b,c))};var p=function(){function a(a,c,d){void 0===d&&(d=!1);this.accumulator=a;this.seed=c;this.hasSeed=d}a.prototype.call=function(a,c){return c.subscribe(new n(a,this.accumulator,this.seed,this.hasSeed))};return a}();f.ReduceOperator=p;var n=function(a){function b(b,d,g,l){a.call(this, +b);this.accumulator=d;this.hasSeed=l;this.index=0;this.hasValue=!1;this.acc=g;this.hasSeed||this.index++}q(b,a);b.prototype._next=function(a){this.hasValue||(this.hasValue=this.hasSeed)?this._tryReduce(a):(this.acc=a,this.hasValue=!0)};b.prototype._tryReduce=function(a){try{var b=this.accumulator(this.acc,a,this.index++)}catch(g){this.destination.error(g);return}this.acc=b};b.prototype._complete=function(){(this.hasValue||this.hasSeed)&&this.destination.next(this.acc);this.destination.complete()}; return b}(h.Subscriber);f.ReduceSubscriber=n},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype, -{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a){Object(B.t)(a);try{return{corner:Object(B.v)(a,"corner",function(a){return Object(B.f)(C.s.create(),a,B.n)}),size:Object(B.v)(a,"size",function(a){return Object(B.f)(C.s.create(),a,B.o)}),metadata:Object(B.v)(a,"metadata",B.y)}}catch(fa){throw Error("Failed to parse bounding box: "+fa.message);}}function b(a){var b=a.match(/^([^:?]+:[^:?]+:[^:?]+)(?::([^:?]+))?(?:\?(.*))?$/); -if(null===b)throw Error("Invalid Brain Maps volume key: "+JSON.stringify(a)+".");var c;void 0!==b[2]&&(c={changeStackId:b[2]});a=Object(B.e)(b[3]||"");return{volumeId:b[1],changeSpec:c,parameters:a}}function d(a){try{return Object(B.t)(a),{id:Object(B.v)(a,"id",B.A),label:Object(B.v)(a,"label",B.A),description:Object(B.v)(a,"description",B.y)}}catch(fa){throw Error("Failed to parse project: "+fa.message);}}function e(a){try{return Object(B.t)(a),Object(B.v)(a,"project",function(a){return void 0=== -a?[]:Object(B.a)(a,d)})}catch(fa){throw Error("Error parsing project list: "+fa.message);}}function g(a){return Object(B.v)(a,"changeStackId",function(a){return void 0===a?void 0:Object(B.a)(a,B.A)})}function l(a){a=a.scales[0];return[[{parameters:void 0,spec:new t.k({voxelSize:a.voxelSize,chunkSize:C.s.multiply(C.s.create(),a.upperVoxelBound,a.voxelSize),upperChunkBound:C.s.fromValues(1,1,1)})}]]}Object.defineProperty(f,"__esModule",{value:!0});a.d(f,"BrainmapsSkeletonSource",function(){return M}); -a.d(f,"VolumeInfo",function(){return N});a.d(f,"MultiscaleVolumeInfo",function(){return S});a.d(f,"MeshInfo",function(){return U});a.d(f,"MultiscaleVolumeChunkSource",function(){return Z});f.parseVolumeKey=b;a.d(f,"VolumeList",function(){return Q});f.parseChangeStackList=g;a.d(f,"BrainmapsAnnotationSource",function(){return aa});a.d(f,"BrainmapsDataSource",function(){return ba});var k=a(28),t=a(94);h=a(72);var m=a(23),r=a(260),u=a(46),v=a(102),w=a(264),y=a(54),x=a(103),A=a(39),z=a(26),D=a(33),E=a(31), -G=a(61),C=a(2),B=a(4),F=a(22),L=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),I=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);return b}(Object(m.f)(Object(r.a)()(D.b),w.e)),O=function(a){function b(){q(this,b);return p(this,(b.__proto__|| +{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function d(a){Object(B.t)(a);try{return{corner:Object(B.v)(a,"corner",function(a){return Object(B.f)(C.s.create(),a,B.n)}),size:Object(B.v)(a,"size",function(a){return Object(B.f)(C.s.create(),a,B.o)}),metadata:Object(B.v)(a,"metadata",B.y)}}catch(fa){throw Error("Failed to parse bounding box: "+fa.message);}}function b(a){var b=a.match(/^([^:?]+:[^:?]+:[^:?]+)(?::([^:?]+))?(?:\?(.*))?$/); +if(null===b)throw Error("Invalid Brain Maps volume key: "+JSON.stringify(a)+".");var c;void 0!==b[2]&&(c={changeStackId:b[2]});a=Object(B.e)(b[3]||"");return{volumeId:b[1],changeSpec:c,parameters:a}}function c(a){try{return Object(B.t)(a),{id:Object(B.v)(a,"id",B.A),label:Object(B.v)(a,"label",B.A),description:Object(B.v)(a,"description",B.y)}}catch(fa){throw Error("Failed to parse project: "+fa.message);}}function e(a){try{return Object(B.t)(a),Object(B.v)(a,"project",function(a){return void 0=== +a?[]:Object(B.a)(a,c)})}catch(fa){throw Error("Error parsing project list: "+fa.message);}}function g(a){return Object(B.v)(a,"changeStackId",function(a){return void 0===a?void 0:Object(B.a)(a,B.A)})}function l(a){a=a.scales[0];return[[{parameters:void 0,spec:new t.k({voxelSize:a.voxelSize,chunkSize:C.s.multiply(C.s.create(),a.upperVoxelBound,a.voxelSize),upperChunkBound:C.s.fromValues(1,1,1)})}]]}Object.defineProperty(f,"__esModule",{value:!0});a.d(f,"BrainmapsSkeletonSource",function(){return M}); +a.d(f,"VolumeInfo",function(){return N});a.d(f,"MultiscaleVolumeInfo",function(){return S});a.d(f,"MeshInfo",function(){return U});a.d(f,"MultiscaleVolumeChunkSource",function(){return Z});f.parseVolumeKey=b;a.d(f,"VolumeList",function(){return Q});f.parseChangeStackList=g;a.d(f,"BrainmapsAnnotationSource",function(){return aa});a.d(f,"BrainmapsDataSource",function(){return ba});var k=a(28),t=a(95);h=a(73);var m=a(24),r=a(260),u=a(46),v=a(103),w=a(264),y=a(54),x=a(104),A=a(39),z=a(26),D=a(33),E=a(31), +G=a(62),C=a(2),B=a(4),F=a(23),L=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),J=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);return b}(Object(m.f)(Object(r.a)()(D.b),w.e)),O=function(a){function b(){q(this,b);return p(this,(b.__proto__|| Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);return b}(Object(m.f)(Object(r.a)()(y.c),w.b)),M=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);L(b,[{key:"skeletonVertexCoordinatesInVoxels",get:function(){return!1}}]);return b}(Object(m.f)(Object(r.a)()(x.d),w.c)),P=new Map;P.set("UINT8",z.a.UINT8);P.set("FLOAT",z.a.FLOAT32);P.set("UINT64",z.a.UINT64);var N=function fa(a){q(this,fa);try{Object(B.t)(a),this.numChannels= -Object(B.v)(a,"channelCount",B.z),this.dataType=Object(B.v)(a,"channelType",function(a){return Object(B.s)(a,P)}),this.voxelSize=Object(B.v)(a,"pixelSize",function(a){return Object(B.f)(C.s.create(),a,B.o)}),this.upperVoxelBound=Object(B.v)(a,"volumeSize",function(a){return Object(B.f)(C.s.create(),a,B.z)}),this.boundingBoxes=Object(B.v)(a,"boundingBox",function(a){return void 0===a?[]:Object(B.a)(a,c)})}catch(X){throw Error("Failed to parse BrainMaps volume geometry: "+X.message);}},S=function R(a){q(this, +Object(B.v)(a,"channelCount",B.z),this.dataType=Object(B.v)(a,"channelType",function(a){return Object(B.s)(a,P)}),this.voxelSize=Object(B.v)(a,"pixelSize",function(a){return Object(B.f)(C.s.create(),a,B.o)}),this.upperVoxelBound=Object(B.v)(a,"volumeSize",function(a){return Object(B.f)(C.s.create(),a,B.z)}),this.boundingBoxes=Object(B.v)(a,"boundingBox",function(a){return void 0===a?[]:Object(B.a)(a,d)})}catch(X){throw Error("Failed to parse BrainMaps volume geometry: "+X.message);}},S=function R(a){q(this, R);try{Object(B.t)(a);var b=this.scales=Object(B.v)(a,"geometry",function(a){return Object(B.a)(a,function(a){return new N(a)})});if(0===b.length)throw Error("Expected at least one scale.");var c=b[0],d=this.numChannels=c.numChannels,e=this.dataType=c.dataType;a=1;for(var g=b.length;a<g;++a){var k=b[a];if(k.dataType!==e)throw Error("Scale "+a+" has data type "+z.a[k.dataType]+" "+("but scale 0 has data type "+z.a[e]+"."));if(k.numChannels!==d)throw Error("Scale "+a+" has "+k.numChannels+" channel(s) "+ ("but scale 0 has "+d+" channels."));}}catch(Aa){throw Error("Failed to parse BrainMaps multiscale volume specification: "+Aa.message);}},U=function X(a){q(this,X);Object(B.t)(a);this.name=Object(B.v)(a,"name",B.A);this.type=Object(B.v)(a,"type",B.A)},Z=function(){function a(b,c,d,e,g,k,l,m){q(this,a);this.chunkManager=b;this.instance=c;this.credentialsProvider=d;this.volumeId=e;this.changeSpec=g;this.multiscaleVolumeInfo=k;this.encoding=m.encoding;this.chunkLayoutPreference=m.chunkLayoutPreference; -if(1===this.numChannels)switch(this.dataType){case z.a.UINT64:var r=z.c.SEGMENTATION}void 0===r&&(r=void 0!==m.volumeType?m.volumeType:z.c.IMAGE);this.volumeType=r;try{Object(B.t)(l),this.meshes=Object(B.v)(l,"meshes",function(a){return void 0===a?[]:Object(B.a)(a,function(a){return new U(a)})})}catch(Fb){throw Error("Failed to parse BrainMaps meshes specification: "+Fb.message);}}L(a,[{key:"getSources",value:function(a){var b=this,c=w.d.RAW;this.dataType===z.a.UINT64?c=w.d.COMPRESSED_SEGMENTATION: -this.volumeType===z.c.IMAGE&&this.dataType===z.a.UINT8&&1===this.numChannels&&this.encoding!==w.d.RAW&&(c=w.d.JPEG);var d=this.scales[0],e=C.s.multiply(C.s.create(),d.upperVoxelBound,d.voxelSize);return this.scales.map(function(d,g){return z.b.getDefaults({voxelSize:d.voxelSize,dataType:d.dataType,numChannels:d.numChannels,upperVoxelBound:d.upperVoxelBound,upperClipBound:e,volumeType:b.volumeType,volumeSourceOptions:a,chunkLayoutPreference:b.chunkLayoutPreference}).map(function(a){return b.chunkManager.getChunkSource(I, +if(1===this.numChannels)switch(this.dataType){case z.a.UINT64:var f=z.c.SEGMENTATION}void 0===f&&(f=void 0!==m.volumeType?m.volumeType:z.c.IMAGE);this.volumeType=f;try{Object(B.t)(l),this.meshes=Object(B.v)(l,"meshes",function(a){return void 0===a?[]:Object(B.a)(a,function(a){return new U(a)})})}catch(Fb){throw Error("Failed to parse BrainMaps meshes specification: "+Fb.message);}}L(a,[{key:"getSources",value:function(a){var b=this,c=w.d.RAW;this.dataType===z.a.UINT64?c=w.d.COMPRESSED_SEGMENTATION: +this.volumeType===z.c.IMAGE&&this.dataType===z.a.UINT8&&1===this.numChannels&&this.encoding!==w.d.RAW&&(c=w.d.JPEG);var d=this.scales[0],e=C.s.multiply(C.s.create(),d.upperVoxelBound,d.voxelSize);return this.scales.map(function(d,g){return z.b.getDefaults({voxelSize:d.voxelSize,dataType:d.dataType,numChannels:d.numChannels,upperVoxelBound:d.upperVoxelBound,upperClipBound:e,volumeType:b.volumeType,volumeSourceOptions:a,chunkLayoutPreference:b.chunkLayoutPreference}).map(function(a){return b.chunkManager.getChunkSource(J, {credentialsProvider:b.credentialsProvider,spec:a,parameters:{instance:b.instance,volumeId:b.volumeId,changeSpec:b.changeSpec,scaleIndex:g,encoding:c}})})})}},{key:"getMeshSource",value:function(){for(var a=$jscomp.makeIterator(this.meshes),b=a.next();!b.done;b=a.next()){b=b.value;if("TRIANGLES"===b.type)return this.chunkManager.getChunkSource(O,{credentialsProvider:this.credentialsProvider,parameters:{instance:this.instance,volumeId:this.volumeId,meshName:b.name,changeSpec:this.changeSpec}});if("LINE_SEGMENTS"=== b.type)return this.chunkManager.getChunkSource(M,{credentialsProvider:this.credentialsProvider,parameters:{instance:this.instance,volumeId:this.volumeId,meshName:b.name,changeSpec:this.changeSpec}})}return null}},{key:"getStaticAnnotations",value:function(){var a=this.scales[0],b=new k.b(C.k.fromScaling(C.k.create(),a.voxelSize));b.readonly=!0;b.add(Object(k.i)(C.s.create(),a.upperVoxelBound));a.boundingBoxes.forEach(function(a,c){b.add({type:k.c.AXIS_ALIGNED_BOUNDING_BOX,description:a.metadata,pointA:a.corner, pointB:C.s.add(C.s.create(),a.corner,a.size),id:"boundingBox"+c})});return b}},{key:"scales",get:function(){return this.multiscaleVolumeInfo.scales}},{key:"dataType",get:function(){return this.multiscaleVolumeInfo.dataType}},{key:"numChannels",get:function(){return this.multiscaleVolumeInfo.numChannels}}]);return a}(),H=/^([^\/]+)\/(.*)$/,Q=function Ka(a,b){q(this,Ka);this.projects=new Map;this.hierarchicalVolumeIds=new Map;var c=this.projects;a=$jscomp.makeIterator(e(a));for(var d=a.next();!d.done;d= -a.next())d=d.value,c.set(d.id,d);try{Object(B.t)(b);var g=this.volumeIds=Object(B.v)(b,"volumeId",function(a){return void 0===a?[]:Object(B.a)(a,B.A)});g.sort();for(var k=new Map,l=$jscomp.makeIterator(g),m=l.next();!m.done;m=l.next()){var r=m.value;for(b=0;;){var f=r.indexOf(":",b);-1===f?f=void 0:++f;var t=r.substring(0,b),h=k.get(t);void 0===h&&(h=new Set,k.set(t,h));h.add(r.substring(b,f));if(void 0===f)break;b=f}}for(var u=this.hierarchicalVolumeIds,v=$jscomp.makeIterator(k),n=v.next();!n.done;n= +a.next())d=d.value,c.set(d.id,d);try{Object(B.t)(b);var g=this.volumeIds=Object(B.v)(b,"volumeId",function(a){return void 0===a?[]:Object(B.a)(a,B.A)});g.sort();for(var k=new Map,l=$jscomp.makeIterator(g),m=l.next();!m.done;m=l.next()){var f=m.value;for(b=0;;){var r=f.indexOf(":",b);-1===r?r=void 0:++r;var t=f.substring(0,b),h=k.get(t);void 0===h&&(h=new Set,k.set(t,h));h.add(f.substring(b,r));if(void 0===r)break;b=r}}for(var u=this.hierarchicalVolumeIds,v=$jscomp.makeIterator(k),n=v.next();!n.done;n= v.next()){var p=$jscomp.makeIterator(n.value),w=p.next().value,x=p.next().value;u.set(w,Array.from(x))}}catch(Ua){throw Error("Failed to parse Brain Maps volume list reply: "+Ua.message);}},aa=function(a){function b(a,c){q(this,b);a=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,Object.assign({sourceSpecifications:l(c.multiscaleVolumeInfo)},c)));C.k.fromScaling(a.objectToLocal,c.multiscaleVolumeInfo.scales[0].voxelSize);return a}n(b,a);return b}(Object(m.f)(Object(r.a)()(h.c),w.a)),ba= function(a){function c(a,b){q(this,c);var d=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));d.instance=a;d.credentialsProvider=b;return d}n(c,a);L(c,[{key:"getMeshSource",value:function(a,b){return a.getChunkSource(O,{credentialsProvider:this.credentialsProvider,parameters:this.getMeshSourceParameters(b)})}},{key:"getMeshSourceParameters",value:function(a){var c=a.match(H);if(null===c)throw Error("Invalid Brainmaps mesh URL: "+a);a=b(c[1]);return{instance:this.instance,volumeId:a.volumeId, changeSpec:a.changeSpec,meshName:c[2]}}},{key:"getSkeletonSource",value:function(a,b){return a.getChunkSource(M,{credentialsProvider:this.credentialsProvider,parameters:this.getMeshSourceParameters(b)})}},{key:"getMultiscaleInfo",value:function(a,b){var c=this;return a.memoize.getUncounted({type:"brainmaps:getMultiscaleInfo",volumeId:b,instance:this.instance,credentialsProvider:Object(F.a)(this.credentialsProvider)},function(){return Object(v.b)(c.instance,c.credentialsProvider,{method:"GET",path:"/v1beta2/volumes/"+ @@ -1219,126 +1219,126 @@ var g={instance:this.instance,volumeId:e,changestack:c.changeStackId};return a.m type:"brainmaps:getVolumeList"},function(){var a=Promise.all([Object(v.b)(b.instance,b.credentialsProvider,{method:"GET",path:"/v1beta2/projects",responseType:"json"}),Object(v.b)(b.instance,b.credentialsProvider,{method:"GET",path:"/v1beta2/volumes",responseType:"json"})]).then(function(a){var b=$jscomp.makeIterator(a);a=b.next().value;b=b.next().value;return new Q(a,b)}),c=b.instance.description+" volume list";E.a.forPromise(a,{delay:!0,initialMessage:"Retrieving "+c+".",errorPrefix:"Error retrieving "+ c+": "});return a})}},{key:"getChangeStackList",value:function(a,b){var c=this;return a.memoize.getUncounted({instance:this.instance,type:"brainmaps:getChangeStackList",volumeId:b},function(){var a=Object(v.b)(c.instance,c.credentialsProvider,{method:"GET",path:"/v1beta2/changes/"+b+"/change_stacks",responseType:"json"}).then(function(a){return g(a)}),d="change stacks for "+b;E.a.forPromise(a,{delay:!0,initialMessage:"Retrieving "+d+".",errorPrefix:"Error retrieving "+d+": "});return a})}},{key:"volumeCompleter", value:function(a,b){var c=this;return this.getVolumeList(b).then(function(d){var e=a.match(/^([^:]+:[^:]+:[^:]+):(.*)$/);if(null!==e){var g=e[1],k=e[2];return c.getChangeStackList(b,g).then(function(a){if(void 0===a)throw null;return{offset:g.length+1,completions:Object(G.b)(k,a)}})}var l=a.lastIndexOf(":")+1;e=a.substring(0,l);l=a.substring(l);var m=d.hierarchicalVolumeIds.get(e);if(void 0===m)throw null;return e?{offset:e.length,completions:Object(G.b)(l,m)}:{offset:0,completions:Object(G.c)(l, -m,function(a){return a},function(a){return(a=d.projects.get(a.substring(0,a.length-1)))&&a.label})}})}},{key:"description",get:function(){return this.instance.description}}]);return c}(u.a);f.productionInstance={description:"Google Brain Maps",serverUrls:["https://brainmaps.googleapis.com"]}},function(h,f,a){a(34);a(227);a(228);var q=a(133),p=a(229),n=a(230),c=a(231),b=a(134),d=a(135);a.d(f,"a",function(){return q});a.d(f,"b",function(){return p});a.d(f,"c",function(){return n});a.d(f,"d",function(){return c}); -a.d(f,"e",function(){return b});a.d(f,"f",function(){return d})},function(h,f,a){function q(a,b,d){var c=b[0],g=b[1],l=b[2],k=b[3],f=b[4],m=b[5],r=b[6],h=b[7];b=b[8];var v=d[0],n=d[1],p=d[2],q=d[3],A=d[4],z=d[5],D=d[6],E=d[7];d=d[8];a[0]=v*c+n*k+p*r;a[1]=v*g+n*f+p*h;a[2]=v*l+n*m+p*b;a[3]=q*c+A*k+z*r;a[4]=q*g+A*f+z*h;a[5]=q*l+A*m+z*b;a[6]=D*c+E*k+d*r;a[7]=D*g+E*f+d*h;a[8]=D*l+E*m+d*b;return a}function p(a,b,d){a[0]=b[0]-d[0];a[1]=b[1]-d[1];a[2]=b[2]-d[2];a[3]=b[3]-d[3];a[4]=b[4]-d[4];a[5]=b[5]-d[5]; -a[6]=b[6]-d[6];a[7]=b[7]-d[7];a[8]=b[8]-d[8];return a}Object.defineProperty(f,"__esModule",{value:!0});f.create=function(){var a=new n.a(9);a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=1;a[5]=0;a[6]=0;a[7]=0;a[8]=1;return a};f.fromMat4=function(a,b){a[0]=b[0];a[1]=b[1];a[2]=b[2];a[3]=b[4];a[4]=b[5];a[5]=b[6];a[6]=b[8];a[7]=b[9];a[8]=b[10];return a};f.clone=function(a){var b=new n.a(9);b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];return b};f.copy=function(a,b){a[0]= -b[0];a[1]=b[1];a[2]=b[2];a[3]=b[3];a[4]=b[4];a[5]=b[5];a[6]=b[6];a[7]=b[7];a[8]=b[8];return a};f.fromValues=function(a,b,d,e,g,l,k,f,m){var c=new n.a(9);c[0]=a;c[1]=b;c[2]=d;c[3]=e;c[4]=g;c[5]=l;c[6]=k;c[7]=f;c[8]=m;return c};f.set=function(a,b,d,e,g,l,k,f,m,r){a[0]=b;a[1]=d;a[2]=e;a[3]=g;a[4]=l;a[5]=k;a[6]=f;a[7]=m;a[8]=r;return a};f.identity=function(a){a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=1;a[5]=0;a[6]=0;a[7]=0;a[8]=1;return a};f.transpose=function(a,b){if(a===b){var c=b[1],e=b[2],g=b[5];a[1]=b[3]; -a[2]=b[6];a[3]=c;a[5]=b[7];a[6]=e;a[7]=g}else a[0]=b[0],a[1]=b[3],a[2]=b[6],a[3]=b[1],a[4]=b[4],a[5]=b[7],a[6]=b[2],a[7]=b[5],a[8]=b[8];return a};f.invert=function(a,b){var c=b[0],e=b[1],g=b[2],l=b[3],k=b[4],f=b[5],m=b[6],r=b[7];b=b[8];var h=b*k-f*r,v=-b*l+f*m,n=r*l-k*m,p=c*h+e*v+g*n;if(!p)return null;p=1/p;a[0]=h*p;a[1]=(-b*e+g*r)*p;a[2]=(f*e-g*k)*p;a[3]=v*p;a[4]=(b*c-g*m)*p;a[5]=(-f*c+g*l)*p;a[6]=n*p;a[7]=(-r*c+e*m)*p;a[8]=(k*c-e*l)*p;return a};f.adjoint=function(a,b){var c=b[0],e=b[1],g=b[2],l= -b[3],k=b[4],f=b[5],m=b[6],r=b[7];b=b[8];a[0]=k*b-f*r;a[1]=g*r-e*b;a[2]=e*f-g*k;a[3]=f*m-l*b;a[4]=c*b-g*m;a[5]=g*l-c*f;a[6]=l*r-k*m;a[7]=e*m-c*r;a[8]=c*k-e*l;return a};f.determinant=function(a){var b=a[3],c=a[4],e=a[5],g=a[6],l=a[7],k=a[8];return a[0]*(k*c-e*l)+a[1]*(-k*b+e*g)+a[2]*(l*b-c*g)};f.multiply=q;f.translate=function(a,b,d){var c=b[0],g=b[1],l=b[2],k=b[3],f=b[4],m=b[5],r=b[6],h=b[7];b=b[8];var v=d[0];d=d[1];a[0]=c;a[1]=g;a[2]=l;a[3]=k;a[4]=f;a[5]=m;a[6]=v*c+d*k+r;a[7]=v*g+d*f+h;a[8]=v*l+d* -m+b;return a};f.rotate=function(a,b,d){var c=b[0],g=b[1],l=b[2],k=b[3],f=b[4],m=b[5],r=b[6],h=b[7];b=b[8];var v=Math.sin(d);d=Math.cos(d);a[0]=d*c+v*k;a[1]=d*g+v*f;a[2]=d*l+v*m;a[3]=d*k-v*c;a[4]=d*f-v*g;a[5]=d*m-v*l;a[6]=r;a[7]=h;a[8]=b;return a};f.scale=function(a,b,d){var c=d[0];d=d[1];a[0]=c*b[0];a[1]=c*b[1];a[2]=c*b[2];a[3]=d*b[3];a[4]=d*b[4];a[5]=d*b[5];a[6]=b[6];a[7]=b[7];a[8]=b[8];return a};f.fromTranslation=function(a,b){a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=1;a[5]=0;a[6]=b[0];a[7]=b[1];a[8]=1; -return a};f.fromRotation=function(a,b){var c=Math.sin(b);b=Math.cos(b);a[0]=b;a[1]=c;a[2]=0;a[3]=-c;a[4]=b;a[5]=0;a[6]=0;a[7]=0;a[8]=1;return a};f.fromScaling=function(a,b){a[0]=b[0];a[1]=0;a[2]=0;a[3]=0;a[4]=b[1];a[5]=0;a[6]=0;a[7]=0;a[8]=1;return a};f.fromMat2d=function(a,b){a[0]=b[0];a[1]=b[1];a[2]=0;a[3]=b[2];a[4]=b[3];a[5]=0;a[6]=b[4];a[7]=b[5];a[8]=1;return a};f.fromQuat=function(a,b){var c=b[0],e=b[1],g=b[2];b=b[3];var l=c+c,k=e+e,f=g+g;c*=l;var m=e*l;e*=k;var r=g*l,h=g*k;g*=f;l*=b;k*=b;b*= -f;a[0]=1-e-g;a[3]=m-b;a[6]=r+k;a[1]=m+b;a[4]=1-c-g;a[7]=h-l;a[2]=r-k;a[5]=h+l;a[8]=1-c-e;return a};f.normalFromMat4=function(a,b){var c=b[0],e=b[1],g=b[2],l=b[3],k=b[4],f=b[5],m=b[6],r=b[7],h=b[8],v=b[9],n=b[10],p=b[11],q=b[12],A=b[13],z=b[14];b=b[15];var D=c*f-e*k,E=c*m-g*k,G=c*r-l*k,C=e*m-g*f,B=e*r-l*f,F=g*r-l*m,L=h*A-v*q,I=h*z-n*q;h=h*b-p*q;var O=v*z-n*A;v=v*b-p*A;n=n*b-p*z;p=D*n-E*v+G*O+C*h-B*I+F*L;if(!p)return null;p=1/p;a[0]=(f*n-m*v+r*O)*p;a[1]=(m*h-k*n-r*I)*p;a[2]=(k*v-f*h+r*L)*p;a[3]=(g* -v-e*n-l*O)*p;a[4]=(c*n-g*h+l*I)*p;a[5]=(e*h-c*v-l*L)*p;a[6]=(A*F-z*B+b*C)*p;a[7]=(z*G-q*F-b*E)*p;a[8]=(q*B-A*G+b*D)*p;return a};f.projection=function(a,b,d){a[0]=2/b;a[1]=0;a[2]=0;a[3]=0;a[4]=-2/d;a[5]=0;a[6]=-1;a[7]=1;a[8]=1;return a};f.str=function(a){return"mat3("+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+", "+a[4]+", "+a[5]+", "+a[6]+", "+a[7]+", "+a[8]+")"};f.frob=function(a){return Math.sqrt(Math.pow(a[0],2)+Math.pow(a[1],2)+Math.pow(a[2],2)+Math.pow(a[3],2)+Math.pow(a[4],2)+Math.pow(a[5],2)+Math.pow(a[6], -2)+Math.pow(a[7],2)+Math.pow(a[8],2))};f.add=function(a,b,d){a[0]=b[0]+d[0];a[1]=b[1]+d[1];a[2]=b[2]+d[2];a[3]=b[3]+d[3];a[4]=b[4]+d[4];a[5]=b[5]+d[5];a[6]=b[6]+d[6];a[7]=b[7]+d[7];a[8]=b[8]+d[8];return a};f.subtract=p;f.multiplyScalar=function(a,b,d){a[0]=b[0]*d;a[1]=b[1]*d;a[2]=b[2]*d;a[3]=b[3]*d;a[4]=b[4]*d;a[5]=b[5]*d;a[6]=b[6]*d;a[7]=b[7]*d;a[8]=b[8]*d;return a};f.multiplyScalarAndAdd=function(a,b,d,e){a[0]=b[0]+d[0]*e;a[1]=b[1]+d[1]*e;a[2]=b[2]+d[2]*e;a[3]=b[3]+d[3]*e;a[4]=b[4]+d[4]*e;a[5]= -b[5]+d[5]*e;a[6]=b[6]+d[6]*e;a[7]=b[7]+d[7]*e;a[8]=b[8]+d[8]*e;return a};f.exactEquals=function(a,b){return a[0]===b[0]&&a[1]===b[1]&&a[2]===b[2]&&a[3]===b[3]&&a[4]===b[4]&&a[5]===b[5]&&a[6]===b[6]&&a[7]===b[7]&&a[8]===b[8]};f.equals=function(a,b){var c=a[0],e=a[1],g=a[2],l=a[3],k=a[4],f=a[5],m=a[6],r=a[7];a=a[8];var h=b[0],v=b[1],p=b[2],q=b[3],x=b[4],A=b[5],z=b[6],D=b[7];b=b[8];return Math.abs(c-h)<=n.b*Math.max(1,Math.abs(c),Math.abs(h))&&Math.abs(e-v)<=n.b*Math.max(1,Math.abs(e),Math.abs(v))&& +m,function(a){return a},function(a){return(a=d.projects.get(a.substring(0,a.length-1)))&&a.label})}})}},{key:"description",get:function(){return this.instance.description}}]);return c}(u.a);f.productionInstance={description:"Google Brain Maps",serverUrls:["https://brainmaps.googleapis.com"]}},function(h,f,a){a(34);a(227);a(228);var q=a(133),p=a(229),n=a(230),d=a(231),b=a(134),c=a(135);a.d(f,"a",function(){return q});a.d(f,"b",function(){return p});a.d(f,"c",function(){return n});a.d(f,"d",function(){return d}); +a.d(f,"e",function(){return b});a.d(f,"f",function(){return c})},function(h,f,a){function q(a,b,c){var d=b[0],g=b[1],l=b[2],k=b[3],f=b[4],m=b[5],r=b[6],h=b[7];b=b[8];var v=c[0],n=c[1],p=c[2],q=c[3],A=c[4],z=c[5],D=c[6],E=c[7];c=c[8];a[0]=v*d+n*k+p*r;a[1]=v*g+n*f+p*h;a[2]=v*l+n*m+p*b;a[3]=q*d+A*k+z*r;a[4]=q*g+A*f+z*h;a[5]=q*l+A*m+z*b;a[6]=D*d+E*k+c*r;a[7]=D*g+E*f+c*h;a[8]=D*l+E*m+c*b;return a}function p(a,b,c){a[0]=b[0]-c[0];a[1]=b[1]-c[1];a[2]=b[2]-c[2];a[3]=b[3]-c[3];a[4]=b[4]-c[4];a[5]=b[5]-c[5]; +a[6]=b[6]-c[6];a[7]=b[7]-c[7];a[8]=b[8]-c[8];return a}Object.defineProperty(f,"__esModule",{value:!0});f.create=function(){var a=new n.a(9);a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=1;a[5]=0;a[6]=0;a[7]=0;a[8]=1;return a};f.fromMat4=function(a,b){a[0]=b[0];a[1]=b[1];a[2]=b[2];a[3]=b[4];a[4]=b[5];a[5]=b[6];a[6]=b[8];a[7]=b[9];a[8]=b[10];return a};f.clone=function(a){var b=new n.a(9);b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];return b};f.copy=function(a,b){a[0]= +b[0];a[1]=b[1];a[2]=b[2];a[3]=b[3];a[4]=b[4];a[5]=b[5];a[6]=b[6];a[7]=b[7];a[8]=b[8];return a};f.fromValues=function(a,b,c,e,g,l,k,f,m){var d=new n.a(9);d[0]=a;d[1]=b;d[2]=c;d[3]=e;d[4]=g;d[5]=l;d[6]=k;d[7]=f;d[8]=m;return d};f.set=function(a,b,c,e,g,l,k,f,m,r){a[0]=b;a[1]=c;a[2]=e;a[3]=g;a[4]=l;a[5]=k;a[6]=f;a[7]=m;a[8]=r;return a};f.identity=function(a){a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=1;a[5]=0;a[6]=0;a[7]=0;a[8]=1;return a};f.transpose=function(a,b){if(a===b){var c=b[1],d=b[2],g=b[5];a[1]=b[3]; +a[2]=b[6];a[3]=c;a[5]=b[7];a[6]=d;a[7]=g}else a[0]=b[0],a[1]=b[3],a[2]=b[6],a[3]=b[1],a[4]=b[4],a[5]=b[7],a[6]=b[2],a[7]=b[5],a[8]=b[8];return a};f.invert=function(a,b){var c=b[0],d=b[1],g=b[2],l=b[3],k=b[4],f=b[5],m=b[6],r=b[7];b=b[8];var h=b*k-f*r,v=-b*l+f*m,n=r*l-k*m,p=c*h+d*v+g*n;if(!p)return null;p=1/p;a[0]=h*p;a[1]=(-b*d+g*r)*p;a[2]=(f*d-g*k)*p;a[3]=v*p;a[4]=(b*c-g*m)*p;a[5]=(-f*c+g*l)*p;a[6]=n*p;a[7]=(-r*c+d*m)*p;a[8]=(k*c-d*l)*p;return a};f.adjoint=function(a,b){var c=b[0],d=b[1],g=b[2],l= +b[3],k=b[4],f=b[5],m=b[6],r=b[7];b=b[8];a[0]=k*b-f*r;a[1]=g*r-d*b;a[2]=d*f-g*k;a[3]=f*m-l*b;a[4]=c*b-g*m;a[5]=g*l-c*f;a[6]=l*r-k*m;a[7]=d*m-c*r;a[8]=c*k-d*l;return a};f.determinant=function(a){var b=a[3],c=a[4],d=a[5],g=a[6],l=a[7],k=a[8];return a[0]*(k*c-d*l)+a[1]*(-k*b+d*g)+a[2]*(l*b-c*g)};f.multiply=q;f.translate=function(a,b,c){var d=b[0],g=b[1],l=b[2],k=b[3],f=b[4],m=b[5],r=b[6],h=b[7];b=b[8];var v=c[0];c=c[1];a[0]=d;a[1]=g;a[2]=l;a[3]=k;a[4]=f;a[5]=m;a[6]=v*d+c*k+r;a[7]=v*g+c*f+h;a[8]=v*l+c* +m+b;return a};f.rotate=function(a,b,c){var d=b[0],g=b[1],l=b[2],k=b[3],f=b[4],m=b[5],r=b[6],h=b[7];b=b[8];var v=Math.sin(c);c=Math.cos(c);a[0]=c*d+v*k;a[1]=c*g+v*f;a[2]=c*l+v*m;a[3]=c*k-v*d;a[4]=c*f-v*g;a[5]=c*m-v*l;a[6]=r;a[7]=h;a[8]=b;return a};f.scale=function(a,b,c){var d=c[0];c=c[1];a[0]=d*b[0];a[1]=d*b[1];a[2]=d*b[2];a[3]=c*b[3];a[4]=c*b[4];a[5]=c*b[5];a[6]=b[6];a[7]=b[7];a[8]=b[8];return a};f.fromTranslation=function(a,b){a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=1;a[5]=0;a[6]=b[0];a[7]=b[1];a[8]=1; +return a};f.fromRotation=function(a,b){var c=Math.sin(b);b=Math.cos(b);a[0]=b;a[1]=c;a[2]=0;a[3]=-c;a[4]=b;a[5]=0;a[6]=0;a[7]=0;a[8]=1;return a};f.fromScaling=function(a,b){a[0]=b[0];a[1]=0;a[2]=0;a[3]=0;a[4]=b[1];a[5]=0;a[6]=0;a[7]=0;a[8]=1;return a};f.fromMat2d=function(a,b){a[0]=b[0];a[1]=b[1];a[2]=0;a[3]=b[2];a[4]=b[3];a[5]=0;a[6]=b[4];a[7]=b[5];a[8]=1;return a};f.fromQuat=function(a,b){var c=b[0],d=b[1],g=b[2];b=b[3];var l=c+c,k=d+d,f=g+g;c*=l;var m=d*l;d*=k;var r=g*l,h=g*k;g*=f;l*=b;k*=b;b*= +f;a[0]=1-d-g;a[3]=m-b;a[6]=r+k;a[1]=m+b;a[4]=1-c-g;a[7]=h-l;a[2]=r-k;a[5]=h+l;a[8]=1-c-d;return a};f.normalFromMat4=function(a,b){var c=b[0],d=b[1],g=b[2],l=b[3],k=b[4],f=b[5],m=b[6],r=b[7],h=b[8],v=b[9],n=b[10],p=b[11],q=b[12],A=b[13],z=b[14];b=b[15];var D=c*f-d*k,E=c*m-g*k,G=c*r-l*k,C=d*m-g*f,B=d*r-l*f,F=g*r-l*m,L=h*A-v*q,J=h*z-n*q;h=h*b-p*q;var O=v*z-n*A;v=v*b-p*A;n=n*b-p*z;p=D*n-E*v+G*O+C*h-B*J+F*L;if(!p)return null;p=1/p;a[0]=(f*n-m*v+r*O)*p;a[1]=(m*h-k*n-r*J)*p;a[2]=(k*v-f*h+r*L)*p;a[3]=(g* +v-d*n-l*O)*p;a[4]=(c*n-g*h+l*J)*p;a[5]=(d*h-c*v-l*L)*p;a[6]=(A*F-z*B+b*C)*p;a[7]=(z*G-q*F-b*E)*p;a[8]=(q*B-A*G+b*D)*p;return a};f.projection=function(a,b,c){a[0]=2/b;a[1]=0;a[2]=0;a[3]=0;a[4]=-2/c;a[5]=0;a[6]=-1;a[7]=1;a[8]=1;return a};f.str=function(a){return"mat3("+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+", "+a[4]+", "+a[5]+", "+a[6]+", "+a[7]+", "+a[8]+")"};f.frob=function(a){return Math.sqrt(Math.pow(a[0],2)+Math.pow(a[1],2)+Math.pow(a[2],2)+Math.pow(a[3],2)+Math.pow(a[4],2)+Math.pow(a[5],2)+Math.pow(a[6], +2)+Math.pow(a[7],2)+Math.pow(a[8],2))};f.add=function(a,b,c){a[0]=b[0]+c[0];a[1]=b[1]+c[1];a[2]=b[2]+c[2];a[3]=b[3]+c[3];a[4]=b[4]+c[4];a[5]=b[5]+c[5];a[6]=b[6]+c[6];a[7]=b[7]+c[7];a[8]=b[8]+c[8];return a};f.subtract=p;f.multiplyScalar=function(a,b,c){a[0]=b[0]*c;a[1]=b[1]*c;a[2]=b[2]*c;a[3]=b[3]*c;a[4]=b[4]*c;a[5]=b[5]*c;a[6]=b[6]*c;a[7]=b[7]*c;a[8]=b[8]*c;return a};f.multiplyScalarAndAdd=function(a,b,c,e){a[0]=b[0]+c[0]*e;a[1]=b[1]+c[1]*e;a[2]=b[2]+c[2]*e;a[3]=b[3]+c[3]*e;a[4]=b[4]+c[4]*e;a[5]= +b[5]+c[5]*e;a[6]=b[6]+c[6]*e;a[7]=b[7]+c[7]*e;a[8]=b[8]+c[8]*e;return a};f.exactEquals=function(a,b){return a[0]===b[0]&&a[1]===b[1]&&a[2]===b[2]&&a[3]===b[3]&&a[4]===b[4]&&a[5]===b[5]&&a[6]===b[6]&&a[7]===b[7]&&a[8]===b[8]};f.equals=function(a,b){var c=a[0],d=a[1],g=a[2],l=a[3],k=a[4],f=a[5],m=a[6],r=a[7];a=a[8];var h=b[0],v=b[1],p=b[2],q=b[3],x=b[4],A=b[5],z=b[6],D=b[7];b=b[8];return Math.abs(c-h)<=n.b*Math.max(1,Math.abs(c),Math.abs(h))&&Math.abs(d-v)<=n.b*Math.max(1,Math.abs(d),Math.abs(v))&& Math.abs(g-p)<=n.b*Math.max(1,Math.abs(g),Math.abs(p))&&Math.abs(l-q)<=n.b*Math.max(1,Math.abs(l),Math.abs(q))&&Math.abs(k-x)<=n.b*Math.max(1,Math.abs(k),Math.abs(x))&&Math.abs(f-A)<=n.b*Math.max(1,Math.abs(f),Math.abs(A))&&Math.abs(m-z)<=n.b*Math.max(1,Math.abs(m),Math.abs(z))&&Math.abs(r-D)<=n.b*Math.max(1,Math.abs(r),Math.abs(D))&&Math.abs(a-b)<=n.b*Math.max(1,Math.abs(a),Math.abs(b))};var n=a(34);f.mul=q;f.sub=p},function(h,f,a){function q(){var a=new m.a(3);a[0]=0;a[1]=0;a[2]=0;return a}function p(a){var b= -a[0],c=a[1];a=a[2];return Math.sqrt(b*b+c*c+a*a)}function n(a,b,c){var d=new m.a(3);d[0]=a;d[1]=b;d[2]=c;return d}function c(a,b,c){a[0]=b[0]-c[0];a[1]=b[1]-c[1];a[2]=b[2]-c[2];return a}function b(a,b,c){a[0]=b[0]*c[0];a[1]=b[1]*c[1];a[2]=b[2]*c[2];return a}function d(a,b,c){a[0]=b[0]/c[0];a[1]=b[1]/c[1];a[2]=b[2]/c[2];return a}function e(a,b){var c=b[0]-a[0],d=b[1]-a[1];a=b[2]-a[2];return Math.sqrt(c*c+d*d+a*a)}function g(a,b){var c=b[0]-a[0],d=b[1]-a[1];a=b[2]-a[2];return c*c+d*d+a*a}function l(a){var b= +a[0],c=a[1];a=a[2];return Math.sqrt(b*b+c*c+a*a)}function n(a,b,c){var d=new m.a(3);d[0]=a;d[1]=b;d[2]=c;return d}function d(a,b,c){a[0]=b[0]-c[0];a[1]=b[1]-c[1];a[2]=b[2]-c[2];return a}function b(a,b,c){a[0]=b[0]*c[0];a[1]=b[1]*c[1];a[2]=b[2]*c[2];return a}function c(a,b,c){a[0]=b[0]/c[0];a[1]=b[1]/c[1];a[2]=b[2]/c[2];return a}function e(a,b){var c=b[0]-a[0],d=b[1]-a[1];a=b[2]-a[2];return Math.sqrt(c*c+d*d+a*a)}function g(a,b){var c=b[0]-a[0],d=b[1]-a[1];a=b[2]-a[2];return c*c+d*d+a*a}function l(a){var b= a[0],c=a[1];a=a[2];return b*b+c*c+a*a}function k(a,b){var c=b[0],d=b[1],e=b[2];c=c*c+d*d+e*e;0<c&&(c=1/Math.sqrt(c),a[0]=b[0]*c,a[1]=b[1]*c,a[2]=b[2]*c);return a}function t(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]}Object.defineProperty(f,"__esModule",{value:!0});f.create=q;f.clone=function(a){var b=new m.a(3);b[0]=a[0];b[1]=a[1];b[2]=a[2];return b};f.length=p;f.fromValues=n;f.copy=function(a,b){a[0]=b[0];a[1]=b[1];a[2]=b[2];return a};f.set=function(a,b,c,d){a[0]=b;a[1]=c;a[2]=d;return a};f.add=function(a, -b,c){a[0]=b[0]+c[0];a[1]=b[1]+c[1];a[2]=b[2]+c[2];return a};f.subtract=c;f.multiply=b;f.divide=d;f.ceil=function(a,b){a[0]=Math.ceil(b[0]);a[1]=Math.ceil(b[1]);a[2]=Math.ceil(b[2]);return a};f.floor=function(a,b){a[0]=Math.floor(b[0]);a[1]=Math.floor(b[1]);a[2]=Math.floor(b[2]);return a};f.min=function(a,b,c){a[0]=Math.min(b[0],c[0]);a[1]=Math.min(b[1],c[1]);a[2]=Math.min(b[2],c[2]);return a};f.max=function(a,b,c){a[0]=Math.max(b[0],c[0]);a[1]=Math.max(b[1],c[1]);a[2]=Math.max(b[2],c[2]);return a}; +b,c){a[0]=b[0]+c[0];a[1]=b[1]+c[1];a[2]=b[2]+c[2];return a};f.subtract=d;f.multiply=b;f.divide=c;f.ceil=function(a,b){a[0]=Math.ceil(b[0]);a[1]=Math.ceil(b[1]);a[2]=Math.ceil(b[2]);return a};f.floor=function(a,b){a[0]=Math.floor(b[0]);a[1]=Math.floor(b[1]);a[2]=Math.floor(b[2]);return a};f.min=function(a,b,c){a[0]=Math.min(b[0],c[0]);a[1]=Math.min(b[1],c[1]);a[2]=Math.min(b[2],c[2]);return a};f.max=function(a,b,c){a[0]=Math.max(b[0],c[0]);a[1]=Math.max(b[1],c[1]);a[2]=Math.max(b[2],c[2]);return a}; f.round=function(a,b){a[0]=Math.round(b[0]);a[1]=Math.round(b[1]);a[2]=Math.round(b[2]);return a};f.scale=function(a,b,c){a[0]=b[0]*c;a[1]=b[1]*c;a[2]=b[2]*c;return a};f.scaleAndAdd=function(a,b,c,d){a[0]=b[0]+c[0]*d;a[1]=b[1]+c[1]*d;a[2]=b[2]+c[2]*d;return a};f.distance=e;f.squaredDistance=g;f.squaredLength=l;f.negate=function(a,b){a[0]=-b[0];a[1]=-b[1];a[2]=-b[2];return a};f.inverse=function(a,b){a[0]=1/b[0];a[1]=1/b[1];a[2]=1/b[2];return a};f.normalize=k;f.dot=t;f.cross=function(a,b,c){var d=b[0], e=b[1];b=b[2];var g=c[0],k=c[1];c=c[2];a[0]=e*c-b*k;a[1]=b*g-d*c;a[2]=d*k-e*g;return a};f.lerp=function(a,b,c,d){var e=b[0],g=b[1];b=b[2];a[0]=e+d*(c[0]-e);a[1]=g+d*(c[1]-g);a[2]=b+d*(c[2]-b);return a};f.hermite=function(a,b,c,d,e,g){var k=g*g,l=k*(2*g-3)+1,m=k*(g-2)+g,f=k*(g-1);g=k*(3-2*g);a[0]=b[0]*l+c[0]*m+d[0]*f+e[0]*g;a[1]=b[1]*l+c[1]*m+d[1]*f+e[1]*g;a[2]=b[2]*l+c[2]*m+d[2]*f+e[2]*g;return a};f.bezier=function(a,b,c,d,e,g){var k=1-g,l=k*k,m=g*g,f=l*k;l*=3*g;k*=3*m;g*=m;a[0]=b[0]*f+c[0]*l+d[0]* k+e[0]*g;a[1]=b[1]*f+c[1]*l+d[1]*k+e[1]*g;a[2]=b[2]*f+c[2]*l+d[2]*k+e[2]*g;return a};f.random=function(a,b){b=b||1;var c=2*m.c()*Math.PI,d=2*m.c()-1,e=Math.sqrt(1-d*d)*b;a[0]=Math.cos(c)*e;a[1]=Math.sin(c)*e;a[2]=d*b;return a};f.transformMat4=function(a,b,c){var d=b[0],e=b[1];b=b[2];var g=c[3]*d+c[7]*e+c[11]*b+c[15];g=g||1;a[0]=(c[0]*d+c[4]*e+c[8]*b+c[12])/g;a[1]=(c[1]*d+c[5]*e+c[9]*b+c[13])/g;a[2]=(c[2]*d+c[6]*e+c[10]*b+c[14])/g;return a};f.transformMat3=function(a,b,c){var d=b[0],e=b[1];b=b[2]; a[0]=d*c[0]+e*c[3]+b*c[6];a[1]=d*c[1]+e*c[4]+b*c[7];a[2]=d*c[2]+e*c[5]+b*c[8];return a};f.transformQuat=function(a,b,c){var d=b[0],e=b[1],g=b[2];b=c[0];var k=c[1],l=c[2];c=c[3];var m=c*d+k*g-l*e,f=c*e+l*d-b*g,r=c*g+b*e-k*d;d=-b*d-k*e-l*g;a[0]=m*c+d*-b+f*-l-r*-k;a[1]=f*c+d*-k+r*-b-m*-l;a[2]=r*c+d*-l+m*-k-f*-b;return a};f.rotateX=function(a,b,c,d){var e=[],g=[];e[0]=b[0]-c[0];e[1]=b[1]-c[1];e[2]=b[2]-c[2];g[0]=e[0];g[1]=e[1]*Math.cos(d)-e[2]*Math.sin(d);g[2]=e[1]*Math.sin(d)+e[2]*Math.cos(d);a[0]=g[0]+ c[0];a[1]=g[1]+c[1];a[2]=g[2]+c[2];return a};f.rotateY=function(a,b,c,d){var e=[],g=[];e[0]=b[0]-c[0];e[1]=b[1]-c[1];e[2]=b[2]-c[2];g[0]=e[2]*Math.sin(d)+e[0]*Math.cos(d);g[1]=e[1];g[2]=e[2]*Math.cos(d)-e[0]*Math.sin(d);a[0]=g[0]+c[0];a[1]=g[1]+c[1];a[2]=g[2]+c[2];return a};f.rotateZ=function(a,b,c,d){var e=[],g=[];e[0]=b[0]-c[0];e[1]=b[1]-c[1];e[2]=b[2]-c[2];g[0]=e[0]*Math.cos(d)-e[1]*Math.sin(d);g[1]=e[0]*Math.sin(d)+e[1]*Math.cos(d);g[2]=e[2];a[0]=g[0]+c[0];a[1]=g[1]+c[1];a[2]=g[2]+c[2];return a}; f.angle=function(a,b){a=n(a[0],a[1],a[2]);b=n(b[0],b[1],b[2]);k(a,a);k(b,b);b=t(a,b);return 1<b?0:-1>b?Math.PI:Math.acos(b)};f.str=function(a){return"vec3("+a[0]+", "+a[1]+", "+a[2]+")"};f.exactEquals=function(a,b){return a[0]===b[0]&&a[1]===b[1]&&a[2]===b[2]};f.equals=function(a,b){var c=a[0],d=a[1];a=a[2];var e=b[0],g=b[1];b=b[2];return Math.abs(c-e)<=m.b*Math.max(1,Math.abs(c),Math.abs(e))&&Math.abs(d-g)<=m.b*Math.max(1,Math.abs(d),Math.abs(g))&&Math.abs(a-b)<=m.b*Math.max(1,Math.abs(a),Math.abs(b))}; -var m=a(34);f.sub=c;f.mul=b;f.div=d;f.dist=e;f.sqrDist=g;f.len=p;f.sqrLen=l;h=function(){var a=q();return function(b,c,d,e,g,k){c||(c=3);d||(d=0);for(e=e?Math.min(e*c+d,b.length):b.length;d<e;d+=c)a[0]=b[d],a[1]=b[d+1],a[2]=b[d+2],g(a,a,k),b[d]=a[0],b[d+1]=a[1],b[d+2]=a[2];return b}}();f.forEach=h},function(h,f,a){function q(){var a=new t.a(4);a[0]=0;a[1]=0;a[2]=0;a[3]=0;return a}function p(a,b,c){a[0]=b[0]-c[0];a[1]=b[1]-c[1];a[2]=b[2]-c[2];a[3]=b[3]-c[3];return a}function n(a,b,c){a[0]=b[0]*c[0]; -a[1]=b[1]*c[1];a[2]=b[2]*c[2];a[3]=b[3]*c[3];return a}function c(a,b,c){a[0]=b[0]/c[0];a[1]=b[1]/c[1];a[2]=b[2]/c[2];a[3]=b[3]/c[3];return a}function b(a,b,c){a[0]=b[0]*c;a[1]=b[1]*c;a[2]=b[2]*c;a[3]=b[3]*c;return a}function d(a,b){var c=b[0]-a[0],d=b[1]-a[1],e=b[2]-a[2];a=b[3]-a[3];return Math.sqrt(c*c+d*d+e*e+a*a)}function e(a,b){var c=b[0]-a[0],d=b[1]-a[1],e=b[2]-a[2];a=b[3]-a[3];return c*c+d*d+e*e+a*a}function g(a){var b=a[0],c=a[1],d=a[2];a=a[3];return Math.sqrt(b*b+c*c+d*d+a*a)}function l(a){var b= +var m=a(34);f.sub=d;f.mul=b;f.div=c;f.dist=e;f.sqrDist=g;f.len=p;f.sqrLen=l;h=function(){var a=q();return function(b,c,d,e,g,k){c||(c=3);d||(d=0);for(e=e?Math.min(e*c+d,b.length):b.length;d<e;d+=c)a[0]=b[d],a[1]=b[d+1],a[2]=b[d+2],g(a,a,k),b[d]=a[0],b[d+1]=a[1],b[d+2]=a[2];return b}}();f.forEach=h},function(h,f,a){function q(){var a=new t.a(4);a[0]=0;a[1]=0;a[2]=0;a[3]=0;return a}function p(a,b,c){a[0]=b[0]-c[0];a[1]=b[1]-c[1];a[2]=b[2]-c[2];a[3]=b[3]-c[3];return a}function n(a,b,c){a[0]=b[0]*c[0]; +a[1]=b[1]*c[1];a[2]=b[2]*c[2];a[3]=b[3]*c[3];return a}function d(a,b,c){a[0]=b[0]/c[0];a[1]=b[1]/c[1];a[2]=b[2]/c[2];a[3]=b[3]/c[3];return a}function b(a,b,c){a[0]=b[0]*c;a[1]=b[1]*c;a[2]=b[2]*c;a[3]=b[3]*c;return a}function c(a,b){var c=b[0]-a[0],d=b[1]-a[1],e=b[2]-a[2];a=b[3]-a[3];return Math.sqrt(c*c+d*d+e*e+a*a)}function e(a,b){var c=b[0]-a[0],d=b[1]-a[1],e=b[2]-a[2];a=b[3]-a[3];return c*c+d*d+e*e+a*a}function g(a){var b=a[0],c=a[1],d=a[2];a=a[3];return Math.sqrt(b*b+c*c+d*d+a*a)}function l(a){var b= a[0],c=a[1],d=a[2];a=a[3];return b*b+c*c+d*d+a*a}function k(a,b){var c=b[0],d=b[1],e=b[2];b=b[3];var g=c*c+d*d+e*e+b*b;0<g&&(g=1/Math.sqrt(g),a[0]=c*g,a[1]=d*g,a[2]=e*g,a[3]=b*g);return a}Object.defineProperty(f,"__esModule",{value:!0});f.create=q;f.clone=function(a){var b=new t.a(4);b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];return b};f.fromValues=function(a,b,c,d){var e=new t.a(4);e[0]=a;e[1]=b;e[2]=c;e[3]=d;return e};f.copy=function(a,b){a[0]=b[0];a[1]=b[1];a[2]=b[2];a[3]=b[3];return a};f.set=function(a, -b,c,d,e){a[0]=b;a[1]=c;a[2]=d;a[3]=e;return a};f.add=function(a,b,c){a[0]=b[0]+c[0];a[1]=b[1]+c[1];a[2]=b[2]+c[2];a[3]=b[3]+c[3];return a};f.subtract=p;f.multiply=n;f.divide=c;f.ceil=function(a,b){a[0]=Math.ceil(b[0]);a[1]=Math.ceil(b[1]);a[2]=Math.ceil(b[2]);a[3]=Math.ceil(b[3]);return a};f.floor=function(a,b){a[0]=Math.floor(b[0]);a[1]=Math.floor(b[1]);a[2]=Math.floor(b[2]);a[3]=Math.floor(b[3]);return a};f.min=function(a,b,c){a[0]=Math.min(b[0],c[0]);a[1]=Math.min(b[1],c[1]);a[2]=Math.min(b[2], -c[2]);a[3]=Math.min(b[3],c[3]);return a};f.max=function(a,b,c){a[0]=Math.max(b[0],c[0]);a[1]=Math.max(b[1],c[1]);a[2]=Math.max(b[2],c[2]);a[3]=Math.max(b[3],c[3]);return a};f.round=function(a,b){a[0]=Math.round(b[0]);a[1]=Math.round(b[1]);a[2]=Math.round(b[2]);a[3]=Math.round(b[3]);return a};f.scale=b;f.scaleAndAdd=function(a,b,c,d){a[0]=b[0]+c[0]*d;a[1]=b[1]+c[1]*d;a[2]=b[2]+c[2]*d;a[3]=b[3]+c[3]*d;return a};f.distance=d;f.squaredDistance=e;f.length=g;f.squaredLength=l;f.negate=function(a,b){a[0]= +b,c,d,e){a[0]=b;a[1]=c;a[2]=d;a[3]=e;return a};f.add=function(a,b,c){a[0]=b[0]+c[0];a[1]=b[1]+c[1];a[2]=b[2]+c[2];a[3]=b[3]+c[3];return a};f.subtract=p;f.multiply=n;f.divide=d;f.ceil=function(a,b){a[0]=Math.ceil(b[0]);a[1]=Math.ceil(b[1]);a[2]=Math.ceil(b[2]);a[3]=Math.ceil(b[3]);return a};f.floor=function(a,b){a[0]=Math.floor(b[0]);a[1]=Math.floor(b[1]);a[2]=Math.floor(b[2]);a[3]=Math.floor(b[3]);return a};f.min=function(a,b,c){a[0]=Math.min(b[0],c[0]);a[1]=Math.min(b[1],c[1]);a[2]=Math.min(b[2], +c[2]);a[3]=Math.min(b[3],c[3]);return a};f.max=function(a,b,c){a[0]=Math.max(b[0],c[0]);a[1]=Math.max(b[1],c[1]);a[2]=Math.max(b[2],c[2]);a[3]=Math.max(b[3],c[3]);return a};f.round=function(a,b){a[0]=Math.round(b[0]);a[1]=Math.round(b[1]);a[2]=Math.round(b[2]);a[3]=Math.round(b[3]);return a};f.scale=b;f.scaleAndAdd=function(a,b,c,d){a[0]=b[0]+c[0]*d;a[1]=b[1]+c[1]*d;a[2]=b[2]+c[2]*d;a[3]=b[3]+c[3]*d;return a};f.distance=c;f.squaredDistance=e;f.length=g;f.squaredLength=l;f.negate=function(a,b){a[0]= -b[0];a[1]=-b[1];a[2]=-b[2];a[3]=-b[3];return a};f.inverse=function(a,b){a[0]=1/b[0];a[1]=1/b[1];a[2]=1/b[2];a[3]=1/b[3];return a};f.normalize=k;f.dot=function(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]+a[3]*b[3]};f.lerp=function(a,b,c,d){var e=b[0],g=b[1],k=b[2];b=b[3];a[0]=e+d*(c[0]-e);a[1]=g+d*(c[1]-g);a[2]=k+d*(c[2]-k);a[3]=b+d*(c[3]-b);return a};f.random=function(a,c){c=c||1;a[0]=t.c();a[1]=t.c();a[2]=t.c();a[3]=t.c();k(a,a);b(a,a,c);return a};f.transformMat4=function(a,b,c){var d=b[0],e=b[1], g=b[2];b=b[3];a[0]=c[0]*d+c[4]*e+c[8]*g+c[12]*b;a[1]=c[1]*d+c[5]*e+c[9]*g+c[13]*b;a[2]=c[2]*d+c[6]*e+c[10]*g+c[14]*b;a[3]=c[3]*d+c[7]*e+c[11]*g+c[15]*b;return a};f.transformQuat=function(a,b,c){var d=b[0],e=b[1],g=b[2],k=c[0],l=c[1],m=c[2];c=c[3];var f=c*d+l*g-m*e,h=c*e+m*d-k*g,t=c*g+k*e-l*d;d=-k*d-l*e-m*g;a[0]=f*c+d*-k+h*-m-t*-l;a[1]=h*c+d*-l+t*-k-f*-m;a[2]=t*c+d*-m+f*-l-h*-k;a[3]=b[3];return a};f.str=function(a){return"vec4("+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+")"};f.exactEquals=function(a,b){return a[0]=== -b[0]&&a[1]===b[1]&&a[2]===b[2]&&a[3]===b[3]};f.equals=function(a,b){var c=a[0],d=a[1],e=a[2];a=a[3];var g=b[0],k=b[1],l=b[2];b=b[3];return Math.abs(c-g)<=t.b*Math.max(1,Math.abs(c),Math.abs(g))&&Math.abs(d-k)<=t.b*Math.max(1,Math.abs(d),Math.abs(k))&&Math.abs(e-l)<=t.b*Math.max(1,Math.abs(e),Math.abs(l))&&Math.abs(a-b)<=t.b*Math.max(1,Math.abs(a),Math.abs(b))};var t=a(34);f.sub=p;f.mul=n;f.div=c;f.dist=d;f.sqrDist=e;f.len=g;f.sqrLen=l;h=function(){var a=q();return function(b,c,d,e,g,k){c||(c=4);d|| -(d=0);for(e=e?Math.min(e*c+d,b.length):b.length;d<e;d+=c)a[0]=b[d],a[1]=b[d+1],a[2]=b[d+2],a[3]=b[d+3],g(a,a,k),b[d]=a[0],b[d+1]=a[1],b[d+2]=a[2],b[d+3]=a[3];return b}}();f.forEach=h},function(h,f,a){f.a=function(a){a=Math.ceil((void 0===a?128:a)/32);var f=new Uint32Array(a);crypto.getRandomValues(f);for(var h="",c=0;c<a;++c)h+=("00000000"+f[c].toString(16)).slice(-8);return h}},function(h,f,a){f=a(236);a="object"==typeof self&&self&&self.Object===Object&&self;f=f||a||Function("return this")();h.exports= -f},function(h,f,a){f=a(137).Symbol;h.exports=f},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return c});f.c=function(a,c){if(void 0!==c){"string"===typeof c&&(c={type:c});Object(p.t)(c);var d=Object(p.v)(c, -"type",p.A);d=b.get(d);if(void 0===d)throw Error("Invalid tool type: "+JSON.stringify(c)+".");return d(a,c)}};f.b=function(a,c){b.set(a,c)};h=a(1);var p=a(4),n=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),c=function(a){function b(){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function"); +b[0]&&a[1]===b[1]&&a[2]===b[2]&&a[3]===b[3]};f.equals=function(a,b){var c=a[0],d=a[1],e=a[2];a=a[3];var g=b[0],k=b[1],l=b[2];b=b[3];return Math.abs(c-g)<=t.b*Math.max(1,Math.abs(c),Math.abs(g))&&Math.abs(d-k)<=t.b*Math.max(1,Math.abs(d),Math.abs(k))&&Math.abs(e-l)<=t.b*Math.max(1,Math.abs(e),Math.abs(l))&&Math.abs(a-b)<=t.b*Math.max(1,Math.abs(a),Math.abs(b))};var t=a(34);f.sub=p;f.mul=n;f.div=d;f.dist=c;f.sqrDist=e;f.len=g;f.sqrLen=l;h=function(){var a=q();return function(b,c,d,e,g,k){c||(c=4);d|| +(d=0);for(e=e?Math.min(e*c+d,b.length):b.length;d<e;d+=c)a[0]=b[d],a[1]=b[d+1],a[2]=b[d+2],a[3]=b[d+3],g(a,a,k),b[d]=a[0],b[d+1]=a[1],b[d+2]=a[2],b[d+3]=a[3];return b}}();f.forEach=h},function(h,f,a){f.a=function(a){a=Math.ceil((void 0===a?128:a)/32);var f=new Uint32Array(a);crypto.getRandomValues(f);for(var h="",d=0;d<a;++d)h+=("00000000"+f[d].toString(16)).slice(-8);return h}},function(h,f,a){f=a(236);a="object"==typeof self&&self&&self.Object===Object&&self;f=f||a||Function("return this")();h.exports= +f},function(h,f,a){f=a(137).Symbol;h.exports=f},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return d});f.c=function(a,d){if(void 0!==d){"string"===typeof d&&(d={type:d});Object(p.t)(d);var c=Object(p.v)(d, +"type",p.A);c=b.get(c);if(void 0===c)throw Error("Invalid tool type: "+JSON.stringify(d)+".");return c(a,d)}};f.b=function(a,d){b.set(a,d)};h=a(1);var p=a(4),n=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),d=function(a){function b(){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function"); var a=(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!a||"object"!==typeof a&&"function"!==typeof a?this:a}q(b,a);n(b,[{key:"setActive",value:function(a){}},{key:"deactivate",value:function(){}}]);return b}(h.a),b=new Map},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+ -typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}f.c=function(a,b,c){c=void 0===c?!1:c;b=b.attribute("aIndexRaw");0<=b&&(c&&a.vertexAttribDivisor(b,0),a.disableVertexAttribArray(b))};f.d=function(a){return a.memoize.get("IndexBuffer",function(){return new d(a)})};f.b=function(a){a.addAttribute("highp vec3","aIndexRaw");a.addVertexCode(c.m);a.addVertexCode("\nuint32_t getPrimitiveIndex() {\n uint32_t result;\n result.value = vec4(aIndexRaw, 0.0);\n return result;\n}\n")}; -a.d(f,"a",function(){return e});f.e=function(a,b){return n.a.fromData(a,new Uint8Array(b.buffer,b.byteOffset,b.byteLength),WebGL2RenderingContext.ARRAY_BUFFER,WebGL2RenderingContext.STATIC_DRAW)};h=a(1);var n=a(20),c=a(21),b=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),d=function(a){function c(a){q(this, +typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}f.c=function(a,b,c){c=void 0===c?!1:c;b=b.attribute("aIndexRaw");0<=b&&(c&&a.vertexAttribDivisor(b,0),a.disableVertexAttribArray(b))};f.d=function(a){return a.memoize.get("IndexBuffer",function(){return new c(a)})};f.b=function(a){a.addAttribute("highp vec3","aIndexRaw");a.addVertexCode(d.m);a.addVertexCode("\nuint32_t getPrimitiveIndex() {\n uint32_t result;\n result.value = vec4(aIndexRaw, 0.0);\n return result;\n}\n")}; +a.d(f,"a",function(){return e});f.e=function(a,b){return n.a.fromData(a,new Uint8Array(b.buffer,b.byteOffset,b.byteLength),WebGL2RenderingContext.ARRAY_BUFFER,WebGL2RenderingContext.STATIC_DRAW)};h=a(1);var n=a(20),d=a(21),b=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),c=function(a){function c(a){q(this, c);var b=(c.__proto__||Object.getPrototypeOf(c)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");b=!b||"object"!==typeof b&&"function"!==typeof b?this:b;b.gl=a;b.buffer=b.registerDisposer(new n.a(a));return b}p(c,a);b(c,[{key:"resize",value:function(a){var b;if(256>a){var c=b=new Uint8Array(a);for(var d=0;d<a;++d)c[d]=d;c=1}else if(65536>a){c=b=new Uint8Array(2*a);d=0;for(var e=2*a,g=0;g<e;g+=2)c[g]=d,c[g+1]=d>>8,++d;c=2}else if(16777216>a){c= b=new Uint8Array(3*a);d=3*a;for(g=e=0;g<d;g+=3)c[g]=e,c[g+1]=e>>8,c[g+2]=e>>16,++e;c=3}else throw Error("Length of index buffer must not exceed 2^24.");this.buffer.setData(b);this.numComponents=c;this.length=a}},{key:"ensure",value:function(a){(void 0===this.length||this.length<a)&&this.resize(a);return this}},{key:"bindToVertexAttrib",value:function(a){this.buffer.bindToVertexAttrib(a,this.numComponents,WebGL2RenderingContext.UNSIGNED_BYTE,!0)}},{key:"bind",value:function(a,b){b=void 0===b?0:b;a= a.attribute("aIndexRaw");0<=a&&(this.bindToVertexAttrib(a),0!==b&&this.gl.vertexAttribDivisor(a,b))}}]);return c}(h.a),e=function(){function a(b){q(this,a);this.name=b;this.attributeName="a"+this.name;this.getterName="get"+this.name}b(a,[{key:"defineShader",value:function(a){a.addAttribute("highp vec4",this.attributeName);a.addVertexCode("\nfloat "+this.getterName+" () {\n vec4 temp = "+this.attributeName+";\n return temp.x + temp.y * 256.0 + temp.z * 65536.0;\n}\n")}},{key:"bind",value:function(a, -b){a.bindToVertexAttrib(b.attribute(this.attributeName),4,WebGL2RenderingContext.UNSIGNED_BYTE,!1)}},{key:"disable",value:function(a){a.gl.disableVertexAttribArray(a.attribute(this.attributeName))}}]);return a}()},function(h,f,a){function q(a){a.addOutputBuffer("vec4","v4f_fragColor",null);a.setFragmentMain("v4f_fragColor = getValue0();")}f.a=q;f.b=function(a,b,d){b=void 0===b?q:b;d=void 0===d?1:d;return a.memoize.get("elementWiseTextureShader:"+d+":"+Object(p.a)(b),function(){var c=new n.a(a);c.addVarying("vec2", -"vTexCoord");c.addUniform("sampler2D","uSampler",d);c.addInitializer(function(b){for(var c=[],e=0;e<d;++e)c[e]=e;a.uniform1iv(b.uniform("uSampler"),c)});for(var g=0;g<d;++g)c.addFragmentCode("\nvec4 getValue"+g+"() {\n return texture(uSampler["+g+"], vTexCoord);\n}\n");c.addUniform("mat4","uProjectionMatrix");c.require(b);c.addAttribute("vec4","aVertexPosition");c.addAttribute("vec2","aTexCoord");c.setVertexMain("vTexCoord = aTexCoord; gl_Position = uProjectionMatrix * aVertexPosition;");return c.build()})}; -f.c=function(a){return a.memoize.get("trivialColorShader",function(){var b=new n.a(a);b.addVarying("vec4","vColor");b.addOutputBuffer("vec4","v4f_fragColor",null);b.setFragmentMain("v4f_fragColor = vColor;");b.addAttribute("vec4","aVertexPosition");b.addAttribute("vec4","aColor");b.addUniform("mat4","uProjectionMatrix");b.setVertexMain("vColor = aColor; gl_Position = uProjectionMatrix * aVertexPosition;");return b.build()})};var p=a(22),n=a(24)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function"); -}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a){for(var b= -0,c=0;3>c;++c)0>a[c]&&(b+=1<<c);return b}a.d(f,"a",function(){return m});h=a(1);var b=a(2),d=a(20),e=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),g=b.s.create(),l=b.s.create(),k=new Float32Array([0,0,0,1,0,0,0,1,0,1,1,0,0,0,1,1,0,1,0,1,1,1,1,1]);f.b=k;var t=function(a){function b(a){q(this,b);var c=p(this, -(b.__proto__||Object.getPrototypeOf(b)).call(this));c.outputVertexIndices=c.registerDisposer(d.a.fromData(a,new Float32Array([0,1,2,3,4,5]),a.ARRAY_BUFFER,a.STATIC_DRAW));a=[0,1,2,4,5,3,6,7];for(var e=[0,1,2,5,3,4,6,7],g=[0,1,1,4,4,7,4,7,1,5,0,1,1,4,4,7,0,2,2,5,5,7,5,7,2,6,0,2,2,5,5,7,0,3,3,6,6,7,6,7,3,4,0,3,3,6,6,7],k=[0,1,2,3,4,5,6,7,1,4,5,0,3,7,2,6,2,6,0,5,7,3,1,4,3,0,6,4,1,2,7,5,4,3,7,1,0,6,5,2,5,2,1,7,6,0,4,3,6,7,3,2,5,4,0,1,7,5,4,6,2,1,3,0],l=[],m=0;8>m;++m)for(var f=0;f<g.length;++f)l.push(a[k[8* -e[m]+g[f]]]);c.vertexIndices=new Int32Array(l);return c}n(b,a);e(b,null,[{key:"get",value:function(a){return a.memoize.get("SliceViewShaderBuffers",function(){return new b(a)})}}]);return b}(h.a),m=function(a){function d(a){q(this,d);var b=p(this,(d.__proto__||Object.getPrototypeOf(d)).call(this));b.data=b.registerDisposer(t.get(a));return b}n(d,a);e(d,null,[{key:"get",value:function(a){return a.memoize.get("BoundingBoxCrossSectionRenderHelper",function(){return new d(a)})}}]);e(d,[{key:"defineShader", +b){a.bindToVertexAttrib(b.attribute(this.attributeName),4,WebGL2RenderingContext.UNSIGNED_BYTE,!1)}},{key:"disable",value:function(a){a.gl.disableVertexAttribArray(a.attribute(this.attributeName))}}]);return a}()},function(h,f,a){function q(a){a.addOutputBuffer("vec4","v4f_fragColor",null);a.setFragmentMain("v4f_fragColor = getValue0();")}f.a=q;f.b=function(a,b,c){b=void 0===b?q:b;c=void 0===c?1:c;return a.memoize.get("elementWiseTextureShader:"+c+":"+Object(p.a)(b),function(){var d=new n.a(a);d.addVarying("vec2", +"vTexCoord");d.addUniform("sampler2D","uSampler",c);d.addInitializer(function(b){for(var d=[],e=0;e<c;++e)d[e]=e;a.uniform1iv(b.uniform("uSampler"),d)});for(var g=0;g<c;++g)d.addFragmentCode("\nvec4 getValue"+g+"() {\n return texture(uSampler["+g+"], vTexCoord);\n}\n");d.addUniform("mat4","uProjectionMatrix");d.require(b);d.addAttribute("vec4","aVertexPosition");d.addAttribute("vec2","aTexCoord");d.setVertexMain("vTexCoord = aTexCoord; gl_Position = uProjectionMatrix * aVertexPosition;");return d.build()})}; +f.c=function(a){return a.memoize.get("trivialColorShader",function(){var b=new n.a(a);b.addVarying("vec4","vColor");b.addOutputBuffer("vec4","v4f_fragColor",null);b.setFragmentMain("v4f_fragColor = vColor;");b.addAttribute("vec4","aVertexPosition");b.addAttribute("vec4","aColor");b.addUniform("mat4","uProjectionMatrix");b.setVertexMain("vColor = aColor; gl_Position = uProjectionMatrix * aVertexPosition;");return b.build()})};var p=a(23),n=a(25)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function"); +}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function d(a){for(var b= +0,c=0;3>c;++c)0>a[c]&&(b+=1<<c);return b}a.d(f,"a",function(){return m});h=a(1);var b=a(2),c=a(20),e=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),g=b.s.create(),l=b.s.create(),k=new Float32Array([0,0,0,1,0,0,0,1,0,1,1,0,0,0,1,1,0,1,0,1,1,1,1,1]);f.b=k;var t=function(a){function b(a){q(this,b);var d=p(this, +(b.__proto__||Object.getPrototypeOf(b)).call(this));d.outputVertexIndices=d.registerDisposer(c.a.fromData(a,new Float32Array([0,1,2,3,4,5]),a.ARRAY_BUFFER,a.STATIC_DRAW));a=[0,1,2,4,5,3,6,7];for(var e=[0,1,2,5,3,4,6,7],g=[0,1,1,4,4,7,4,7,1,5,0,1,1,4,4,7,0,2,2,5,5,7,5,7,2,6,0,2,2,5,5,7,0,3,3,6,6,7,6,7,3,4,0,3,3,6,6,7],k=[0,1,2,3,4,5,6,7,1,4,5,0,3,7,2,6,2,6,0,5,7,3,1,4,3,0,6,4,1,2,7,5,4,3,7,1,0,6,5,2,5,2,1,7,6,0,4,3,6,7,3,2,5,4,0,1,7,5,4,6,2,1,3,0],l=[],m=0;8>m;++m)for(var f=0;f<g.length;++f)l.push(a[k[8* +e[m]+g[f]]]);d.vertexIndices=new Int32Array(l);return d}n(b,a);e(b,null,[{key:"get",value:function(a){return a.memoize.get("SliceViewShaderBuffers",function(){return new b(a)})}}]);return b}(h.a),m=function(a){function c(a){q(this,c);var b=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));b.data=b.registerDisposer(t.get(a));return b}n(c,a);e(c,null,[{key:"get",value:function(a){return a.memoize.get("BoundingBoxCrossSectionRenderHelper",function(){return new c(a)})}}]);e(c,[{key:"defineShader", value:function(a){a.addUniform("highp vec3","uPlaneNormal");a.addUniform("highp float","uPlaneDistance");a.addUniform("highp ivec2","uVertexIndex",24);a.addUniform("highp vec3","uVertexBasePosition",8);a.addInitializer(function(a){a.gl.uniform3fv(a.uniform("uVertexBasePosition"),k)});a.addVertexCode("\nvec3 getBoundingBoxPlaneIntersectionVertexPosition(vec3 chunkSize, vec3 boxLower, vec3 lowerClipBound, vec3 upperClipBound, int vertexIndex) {\n for (int e = 0; e < 4; ++e) {\n highp ivec2 vidx = uVertexIndex[vertexIndex*4 + e];\n highp vec3 v1 = max(lowerClipBound, min(upperClipBound, chunkSize * uVertexBasePosition[vidx.x] + boxLower));\n highp vec3 v2 = max(lowerClipBound, min(upperClipBound, chunkSize * uVertexBasePosition[vidx.y] + boxLower));\n highp vec3 vDir = v2 - v1;\n highp float denom = dot(vDir, uPlaneNormal);\n if (abs(denom) > 0.001) {\n highp float lambda = (uPlaneDistance - dot(v1, uPlaneNormal)) / denom;\n if ((lambda >= -0.001) && (lambda <= (1.0 + 0.001))) {\n lambda = clamp(lambda, 0.0, 1.0);\n highp vec3 position = v1 + lambda * vDir;\n return position;\n }\n }\n }\n return vec3(0, 0, 0);\n}\n")}}, -{key:"computeVertexPositionDebug",value:function(a,d,e,g,l,m,f){var h=c(l);h=this.data.vertexIndices.subarray(48*h,48*(h+1));for(var t=[0,0],r=[b.s.create(),b.s.create()],n=b.s.create(),u=b.s.create(),v=function(a){return k.subarray(3*a,3*a+3)},p=0;4>p;++p){for(var q=0;2>q;++q)t[q]=h[2*(4*f+p)+q],b.s.multiply(r[q],a,v(t[q])),b.s.add(r[q],r[q],m),b.s.min(r[q],r[q],e),b.s.max(r[q],r[q],d);b.s.subtract(n,r[1],r[0]);q=b.s.dot(n,l);if(.001<Math.abs(q)){var w=(g-b.s.dot(r[0],l))/q;if(-.001<=w&&1.001>=w)return w= -Math.max(0,Math.min(1,w)),b.s.scaleAndAdd(u,r[0],n,w),u;console.log("vertex "+f+", e = "+p+", skipped, deom = "+q+", "+("vDir = "+Object(b.t)(n)+", ")+("uPlaneNormal = "+Object(b.t)(l)+", ")+("lambda="+w))}else console.log("vertex "+f+", e = "+p+", skipped, deom = "+q+", "+("vDir = "+Object(b.t)(n)+", uPlaneNormal = "+Object(b.t)(l)))}}},{key:"setPlane",value:function(a,b,d){var e=a.gl;e.uniform3fv(a.uniform("uPlaneNormal"),b);e.uniform1f(a.uniform("uPlaneDistance"),d);b=c(b);e.uniform2iv(a.uniform("uVertexIndex"), -this.data.vertexIndices.subarray(48*b,48*(b+1)))}},{key:"setViewportPlane",value:function(a,c,d,e){c=Object(b.p)(g,c,e);d=b.s.dot(b.s.transformMat4(l,d,e),c);this.setPlane(a,c,d)}}]);return d}(h.a)},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a, -b):a.__proto__=b)}a.d(f,"a",function(){return b});h=a(1);var p=a(100),n=a(52),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();f.b=p.b;var b=function(a){function b(a,c){c=void 0===c?1:c;if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var d=(b.__proto__||Object.getPrototypeOf(b)).call(this); -if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");d=!d||"object"!==typeof d&&"function"!==typeof d?this:d;d.linesPerInstance=c;d.lineOffsetsBuffer=Object(n.a)(a,0,-1,1,1,c,1);d.quadHelper=d.registerDisposer(new p.a(a,c));return d}q(b,a);c(b,[{key:"defineShader",value:function(a){a.addAttribute("highp vec2","aLineOffset");a.addUniform("highp vec3","uLineParams");a.addVarying("highp float","vLineCoord");a.addVertexCode("\nvoid emitLine(mat4 projection, vec3 vertexA, vec3 vertexB) {\n vec3 vertexPosition = mix(vertexA, vertexB, aLineOffset.x);\n vec3 otherVertexPosition = mix(vertexB, vertexA, aLineOffset.x);\n\n vec4 vertexPositionClip = projection * vec4(vertexPosition, 1.0);\n vec4 otherVertexPositionClip = projection * vec4(otherVertexPosition, 1.0);\n\n vec3 vertexPositionDevice = vertexPositionClip.xyz / vertexPositionClip.w;\n vec3 otherVertexPositionDevice = otherVertexPositionClip.xyz / otherVertexPositionClip.w;\n\n vec2 lineDirection = normalize(otherVertexPositionDevice.xy - vertexPositionDevice.xy);\n vec2 lineNormal = vec2(lineDirection.y, -lineDirection.x);\n\n gl_Position = vertexPositionClip;\n gl_Position.xy += aLineOffset.y * (2.0 * aLineOffset.x - 1.0) * lineNormal * uLineParams.xy * 0.5 * gl_Position.w;\n vLineCoord = aLineOffset.y;\n}\n"); +{key:"computeVertexPositionDebug",value:function(a,c,e,g,l,m,f){var h=d(l);h=this.data.vertexIndices.subarray(48*h,48*(h+1));for(var t=[0,0],r=[b.s.create(),b.s.create()],n=b.s.create(),u=b.s.create(),v=function(a){return k.subarray(3*a,3*a+3)},p=0;4>p;++p){for(var q=0;2>q;++q)t[q]=h[2*(4*f+p)+q],b.s.multiply(r[q],a,v(t[q])),b.s.add(r[q],r[q],m),b.s.min(r[q],r[q],e),b.s.max(r[q],r[q],c);b.s.subtract(n,r[1],r[0]);q=b.s.dot(n,l);if(.001<Math.abs(q)){var w=(g-b.s.dot(r[0],l))/q;if(-.001<=w&&1.001>=w)return w= +Math.max(0,Math.min(1,w)),b.s.scaleAndAdd(u,r[0],n,w),u;console.log("vertex "+f+", e = "+p+", skipped, deom = "+q+", "+("vDir = "+Object(b.t)(n)+", ")+("uPlaneNormal = "+Object(b.t)(l)+", ")+("lambda="+w))}else console.log("vertex "+f+", e = "+p+", skipped, deom = "+q+", "+("vDir = "+Object(b.t)(n)+", uPlaneNormal = "+Object(b.t)(l)))}}},{key:"setPlane",value:function(a,b,c){var e=a.gl;e.uniform3fv(a.uniform("uPlaneNormal"),b);e.uniform1f(a.uniform("uPlaneDistance"),c);b=d(b);e.uniform2iv(a.uniform("uVertexIndex"), +this.data.vertexIndices.subarray(48*b,48*(b+1)))}},{key:"setViewportPlane",value:function(a,c,d,e){c=Object(b.p)(g,c,e);d=b.s.dot(b.s.transformMat4(l,d,e),c);this.setPlane(a,c,d)}}]);return c}(h.a)},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a, +b):a.__proto__=b)}a.d(f,"a",function(){return b});h=a(1);var p=a(101),n=a(52),d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();f.b=p.b;var b=function(a){function b(a,c){c=void 0===c?1:c;if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var d=(b.__proto__||Object.getPrototypeOf(b)).call(this); +if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");d=!d||"object"!==typeof d&&"function"!==typeof d?this:d;d.linesPerInstance=c;d.lineOffsetsBuffer=Object(n.a)(a,0,-1,1,1,c,1);d.quadHelper=d.registerDisposer(new p.a(a,c));return d}q(b,a);d(b,[{key:"defineShader",value:function(a){a.addAttribute("highp vec2","aLineOffset");a.addUniform("highp vec3","uLineParams");a.addVarying("highp float","vLineCoord");a.addVertexCode("\nvoid emitLine(mat4 projection, vec3 vertexA, vec3 vertexB) {\n vec3 vertexPosition = mix(vertexA, vertexB, aLineOffset.x);\n vec3 otherVertexPosition = mix(vertexB, vertexA, aLineOffset.x);\n\n vec4 vertexPositionClip = projection * vec4(vertexPosition, 1.0);\n vec4 otherVertexPositionClip = projection * vec4(otherVertexPosition, 1.0);\n\n vec3 vertexPositionDevice = vertexPositionClip.xyz / vertexPositionClip.w;\n vec3 otherVertexPositionDevice = otherVertexPositionClip.xyz / otherVertexPositionClip.w;\n\n vec2 lineDirection = normalize(otherVertexPositionDevice.xy - vertexPositionDevice.xy);\n vec2 lineNormal = vec2(lineDirection.y, -lineDirection.x);\n\n gl_Position = vertexPositionClip;\n gl_Position.xy += aLineOffset.y * (2.0 * aLineOffset.x - 1.0) * lineNormal * uLineParams.xy * 0.5 * gl_Position.w;\n vLineCoord = aLineOffset.y;\n}\n"); a.addFragmentCode("\nfloat getLineAlpha() {\n return clamp((1.0 - abs(vLineCoord)) / uLineParams.z, 0.0, 1.0);\n}\n")}},{key:"draw",value:function(a,b,c,d,e){var g=a.attribute("aLineOffset");this.lineOffsetsBuffer.bindToVertexAttrib(g,2);c+=d;var k=a.gl;k.uniform3f(a.uniform("uLineParams"),2*c/b.viewportWidth,2*c/b.viewportHeight,d/c);this.quadHelper.draw(k,e);k.disableVertexAttribArray(g)}}]);return b}(h.a)},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+ -typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return b});h=a(1);var p=a(20),n=a(141),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),b=function(a){function b(a){if(!(this instanceof +typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return b});h=a(1);var p=a(20),n=a(141),d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),b=function(a){function b(a){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var c=(b.__proto__||Object.getPrototypeOf(b)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");c=!c||"object"!==typeof c&&"function"!==typeof c?this:c;c.gl=a;c.vertexBuffer=c.registerDisposer(p.a.fromData(a,new Float32Array([0,0,0,1,1,0,0,1,0,0,0,1,0,1,0,1,0,0,0,1,0,0,1,1]),a.ARRAY_BUFFER,a.STATIC_DRAW));c.colorBuffer=c.registerDisposer(p.a.fromData(a,new Float32Array([1,0,0,.5,1,0, -0,.5,0,1,0,.5,0,1,0,.5,0,0,1,.5,0,0,1,.5]),a.ARRAY_BUFFER,a.STATIC_DRAW));c.trivialColorShader=c.registerDisposer(Object(n.c)(a));return c}q(b,a);c(b,[{key:"draw",value:function(a,b){b=void 0===b?!0:b;var c=this.trivialColorShader,d=this.gl;c.bind();d.uniformMatrix4fv(c.uniform("uProjectionMatrix"),!1,a);a=c.attribute("aVertexPosition");this.vertexBuffer.bindToVertexAttrib(a,4);c=c.attribute("aColor");this.colorBuffer.bindToVertexAttrib(c,4);b&&(d.colorMask(!1,!1,!1,!0),d.clearColor(0,0,0,0),d.clear(d.COLOR_BUFFER_BIT), -d.colorMask(!0,!0,!0,!0),d.enable(d.BLEND),d.blendFunc(d.ONE_MINUS_DST_ALPHA,d.DST_ALPHA));d.lineWidth(1);d.drawArrays(d.LINES,0,6);b&&d.disable(d.BLEND);d.disableVertexAttribArray(a);d.disableVertexAttribArray(c)}}],[{key:"get",value:function(a){return a.memoize.get("SliceViewPanel:AxesLineHelper",function(){return new b(a)})}}]);return b}(h.a)},function(h,f,a){a.d(f,"a",function(){return p});var q=function(){function a(a,b){for(var c=0;c<b.length;c++){var e=b[c];e.enumerable=e.enumerable||!1;e.configurable= -!0;"value"in e&&(e.writable=!0);Object.defineProperty(a,e.key,e)}}return function(c,b,d){b&&a(c.prototype,b);d&&a(c,d);return c}}(),p=function(){function a(){if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");this.renderLayers=[null];this.pickData=[null];this.values=[0,0,0];this.nextPickID=1}q(a,[{key:"clear",value:function(){this.renderLayers.length=1;this.pickData.length=1;this.values.length=3;this.nextPickID=1}},{key:"registerUint64",value:function(a,b,d){return this.register(a, -void 0===d?1:d,b.low,b.high)}},{key:"register",value:function(a,b,d,e,g){var c=this.renderLayers,k=this.values,f=this.nextPickID;this.nextPickID+=void 0===b?1:b;b=c.length;c[b]=a;a=3*b;k[a]=f;k[a+1]=void 0===d?0:d;k[a+2]=void 0===e?0:e;this.pickData[b]=void 0===g?null:g;return f}},{key:"setMouseState",value:function(a,b){for(var c=this.renderLayers,e=this.values,g=0,l=c.length-1;g<l;){var k=Math.ceil(g+(l-g)/2);e[3*k]>b?l=k-1:g=k}c=a.pickedRenderLayer=c[g];l=3*g;b=a.pickedOffset=b-e[l];k=a.pickedValue; -k.low=e[l+1];k.high=e[l+2];a.pickedAnnotationId=void 0;a.pickedAnnotationLayer=void 0;null!==c&&c.updateMouseState(a,k,b,this.pickData[g])}}]);return a}()},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&& -b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return r});var n=a(101);h=a(147);var c=a(79),b=a(25),d=a(2),e=a(60),g=a(148),l=a(258),k=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),t= -function v(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return v(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(259);a(45);var m=d.s.create(),r=function(a){function f(a,k,h){if(!(this instanceof f))throw new TypeError("Cannot call a class as a function");var t=q(this,(f.__proto__||Object.getPrototypeOf(f)).call(this,a,k,h.visibility));t.viewer=h;t.mouseX=0;t.mouseY= -0;t.mouseStateUpdater=t.updateMouseState.bind(t);t.inputEventMap=h.inputEventMap;k.classList.add("neuroglancer-rendered-data-panel");k.classList.add("neuroglancer-panel");k.classList.add("neuroglancer-noselect");t.registerDisposer(new c.a(k));t.registerDisposer(new e.b(k,t.inputEventMap));t.registerDisposer(new g.a(k,t.inputEventMap));t.registerEventListener(k,"mousemove",t.onMousemove.bind(t));t.registerEventListener(k,"mouseleave",t.onMouseout.bind(t));Object(b.c)(k,"snap",function(){t.navigationState.pose.snap()}); -Object(b.c)(k,"zoom-in",function(){t.navigationState.zoomBy(.5)});Object(b.c)(k,"zoom-out",function(){t.navigationState.zoomBy(2)});Object(b.c)(k,"highlight",function(){t.viewer.layerManager.invokeAction("highlight")});for(a={axis:0};3>a.axis;a={axis:a.axis},++a.axis){h=d.a[a.axis];for(var r={},p=$jscomp.makeIterator([-1,1]),v=p.next();!v.done;r={sign:r.sign,tempOffset:r.tempOffset},v=p.next())r.sign=v.value,v=0>r.sign?"-":"+",Object(b.c)(k,"rotate-relative-"+h+v,function(a,b){return function(){t.navigationState.pose.rotateRelative(d.e[a.axis], -.1*b.sign)}}(a,r)),r.tempOffset=d.s.create(),Object(b.c)(k,""+h+v,function(a,b){return function(){var c=t.navigationState,d=a.tempOffset;d[0]=0;d[1]=0;d[2]=0;d[b.axis]=a.sign;c.pose.translateVoxelsRelative(d)}}(r,a))}Object(b.c)(k,"zoom-via-wheel",function(a){a=a.detail;t.onMousemove(a);t.zoomByMouse(Object(l.a)(a))});a={};h=$jscomp.makeIterator([1,10]);for(r=h.next();!r.done;a={amount:a.amount},r=h.next())a.amount=r.value,Object(b.c)(k,"z+"+a.amount+"-via-wheel",function(a){return function(b){var c= -b.detail;b=t.navigationState;c=0!==c.deltaY?c.deltaY:c.deltaX;m[0]=0;m[1]=0;m[2]=(0<c?-1:1)*a.amount;b.pose.translateVoxelsRelative(m)}}(a));Object(b.c)(k,"move-to-mouse-position",function(){var a=t.viewer.mouseState;if(a.updateUnconditionally()){var b=t.navigationState.pose.position;d.s.copy(b.spatialCoordinates,a.position);b.changed.dispatch()}});Object(b.c)(k,"snap",function(){return t.navigationState.pose.snap()});Object(b.c)(k,"select-annotation",function(){var a=t.viewer;a=Object(n.a)(a.mouseState, +0,.5,0,1,0,.5,0,1,0,.5,0,0,1,.5,0,0,1,.5]),a.ARRAY_BUFFER,a.STATIC_DRAW));c.trivialColorShader=c.registerDisposer(Object(n.c)(a));return c}q(b,a);d(b,[{key:"draw",value:function(a,b){b=void 0===b?!0:b;var c=this.trivialColorShader,d=this.gl;c.bind();d.uniformMatrix4fv(c.uniform("uProjectionMatrix"),!1,a);a=c.attribute("aVertexPosition");this.vertexBuffer.bindToVertexAttrib(a,4);c=c.attribute("aColor");this.colorBuffer.bindToVertexAttrib(c,4);b&&(d.colorMask(!1,!1,!1,!0),d.clearColor(0,0,0,0),d.clear(d.COLOR_BUFFER_BIT), +d.colorMask(!0,!0,!0,!0),d.enable(d.BLEND),d.blendFunc(d.ONE_MINUS_DST_ALPHA,d.DST_ALPHA));d.lineWidth(1);d.drawArrays(d.LINES,0,6);b&&d.disable(d.BLEND);d.disableVertexAttribArray(a);d.disableVertexAttribArray(c)}}],[{key:"get",value:function(a){return a.memoize.get("SliceViewPanel:AxesLineHelper",function(){return new b(a)})}}]);return b}(h.a)},function(h,f,a){a.d(f,"a",function(){return p});var q=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable= +!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(d,b,c){b&&a(d.prototype,b);c&&a(d,c);return d}}(),p=function(){function a(){if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");this.renderLayers=[null];this.pickData=[null];this.values=[0,0,0];this.nextPickID=1}q(a,[{key:"clear",value:function(){this.renderLayers.length=1;this.pickData.length=1;this.values.length=3;this.nextPickID=1}},{key:"registerUint64",value:function(a,b,c){return this.register(a, +void 0===c?1:c,b.low,b.high)}},{key:"register",value:function(a,b,c,e,g){var d=this.renderLayers,k=this.values,f=this.nextPickID;this.nextPickID+=void 0===b?1:b;b=d.length;d[b]=a;a=3*b;k[a]=f;k[a+1]=void 0===c?0:c;k[a+2]=void 0===e?0:e;this.pickData[b]=void 0===g?null:g;return f}},{key:"setMouseState",value:function(a,b){for(var c=this.renderLayers,d=this.values,g=0,l=c.length-1;g<l;){var k=Math.ceil(g+(l-g)/2);d[3*k]>b?l=k-1:g=k}c=a.pickedRenderLayer=c[g];l=3*g;b=a.pickedOffset=b-d[l];k=a.pickedValue; +k.low=d[l+1];k.high=d[l+2];a.pickedAnnotationId=void 0;a.pickedAnnotationLayer=void 0;null!==c&&c.updateMouseState(a,k,b,this.pickData[g])}}]);return a}()},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&& +b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return r});var n=a(102);h=a(147);var d=a(79),b=a(22),c=a(2),e=a(61),g=a(148),l=a(258),k=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),t= +function v(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return v(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(259);a(45);var m=c.s.create(),r=function(a){function f(a,k,h){if(!(this instanceof f))throw new TypeError("Cannot call a class as a function");var t=q(this,(f.__proto__||Object.getPrototypeOf(f)).call(this,a,k,h.visibility));t.viewer=h;t.mouseX=0;t.mouseY= +0;t.mouseStateUpdater=t.updateMouseState.bind(t);t.inputEventMap=h.inputEventMap;k.classList.add("neuroglancer-rendered-data-panel");k.classList.add("neuroglancer-panel");k.classList.add("neuroglancer-noselect");t.registerDisposer(new d.a(k));t.registerDisposer(new e.b(k,t.inputEventMap));t.registerDisposer(new g.a(k,t.inputEventMap));t.registerEventListener(k,"mousemove",t.onMousemove.bind(t));t.registerEventListener(k,"mouseleave",t.onMouseout.bind(t));Object(b.c)(k,"snap",function(){t.navigationState.pose.snap()}); +Object(b.c)(k,"zoom-in",function(){t.navigationState.zoomBy(.5)});Object(b.c)(k,"zoom-out",function(){t.navigationState.zoomBy(2)});Object(b.c)(k,"highlight",function(){t.viewer.layerManager.invokeAction("highlight")});for(a={axis:0};3>a.axis;a={axis:a.axis},++a.axis){h=c.a[a.axis];for(var r={},p=$jscomp.makeIterator([-1,1]),v=p.next();!v.done;r={sign:r.sign,tempOffset:r.tempOffset},v=p.next())r.sign=v.value,v=0>r.sign?"-":"+",Object(b.c)(k,"rotate-relative-"+h+v,function(a,b){return function(){t.navigationState.pose.rotateRelative(c.e[a.axis], +.1*b.sign)}}(a,r)),r.tempOffset=c.s.create(),Object(b.c)(k,""+h+v,function(a,b){return function(){var c=t.navigationState,d=a.tempOffset;d[0]=0;d[1]=0;d[2]=0;d[b.axis]=a.sign;c.pose.translateVoxelsRelative(d)}}(r,a))}Object(b.c)(k,"zoom-via-wheel",function(a){a=a.detail;t.onMousemove(a);t.zoomByMouse(Object(l.a)(a))});a={};h=$jscomp.makeIterator([1,10]);for(r=h.next();!r.done;a={amount:a.amount},r=h.next())a.amount=r.value,Object(b.c)(k,"z+"+a.amount+"-via-wheel",function(a){return function(b){var c= +b.detail;b=t.navigationState;c=0!==c.deltaY?c.deltaY:c.deltaX;m[0]=0;m[1]=0;m[2]=(0<c?-1:1)*a.amount;b.pose.translateVoxelsRelative(m)}}(a));Object(b.c)(k,"move-to-mouse-position",function(){var a=t.viewer.mouseState;if(a.updateUnconditionally()){var b=t.navigationState.pose.position;c.s.copy(b.spatialCoordinates,a.position);b.changed.dispatch()}});Object(b.c)(k,"snap",function(){return t.navigationState.pose.snap()});Object(b.c)(k,"select-annotation",function(){var a=t.viewer;a=Object(n.a)(a.mouseState, a.layerManager);if(void 0!==a){var b=a.layer.layer;null!==b&&(t.viewer.selectedLayer.layer=a.layer,t.viewer.selectedLayer.visible=!0,b.tabs.value="annotations",b.selectedAnnotation.value={id:a.id,partIndex:a.partIndex})}});return t}p(f,a);k(f,[{key:"onMouseout",value:function(a){a=this.viewer.mouseState;a.updater=void 0;a.setActive(!1)}},{key:"onMousemove",value:function(a){var b=this.element;a.target===b&&(this.mouseX=a.offsetX-b.clientLeft,this.mouseY=a.offsetY-b.clientTop,b=this.viewer.mouseState, b.pageX=a.pageX,b.pageY=a.pageY,b.updater=this.mouseStateUpdater,b.triggerUpdate())}},{key:"disposed",value:function(){var a=this.viewer.mouseState;a.updater===this.mouseStateUpdater&&(a.updater=void 0,a.setActive(!1));t(f.prototype.__proto__||Object.getPrototypeOf(f.prototype),"disposed",this).call(this)}}]);return f}(h.b)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); -return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"b",function(){return l});a.d(f,"a",function(){return k});h=a(10);var c=a.n(h);h=a(1);var b=a(7),d=a(255),e=function(){function a(a, +return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"b",function(){return l});a.d(f,"a",function(){return k});h=a(10);var d=a.n(h);h=a(1);var b=a(7),c=a(255),e=function(){function a(a, b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),g=function m(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return m(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},l=function(a){function b(a,c,d){q(this, b);var e=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));e.context=a;e.element=c;e.visibility=d;e.gl=a.gl;a.addPanel(e);return e}n(b,a);e(b,[{key:"scheduleRedraw",value:function(){this.visible&&this.context.scheduleRedraw()}},{key:"setGLViewport",value:function(){var a=this.element,b=a.getBoundingClientRect(),c=this.context.canvasRect,d=c.width/this.context.canvas.width*(a.clientLeft+b.left-c.left),e=a.clientWidth,g=a.clientHeight;b=c.height/this.context.canvas.height*(b.top-c.top+a.clientTop)+ g;a=this.gl;a.enable(a.SCISSOR_TEST);b=this.context.canvas.height-b;a.viewport(d,b,e,g);a.scissor(d,b,e,g)}},{key:"disposed",value:function(){this.context.removePanel(this);g(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}},{key:"visible",get:function(){return this.visibility.visible}}]);return b}(h.a),k=function(a){function g(a){q(this,g);var e=p(this,(g.__proto__||Object.getPrototypeOf(g)).call(this));e.container=a;e.canvas=document.createElement("canvas"); -e.updateStarted=new b.a;e.updateFinished=new b.a;e.panels=new Set;e.updatePending=null;e.onResize=e.registerCancellable(c()(function(){e.scheduleRedraw();for(var a=$jscomp.makeIterator(e.panels),b=a.next();!b.done;b=a.next())b.value.onResize()},0));var k=e.canvas;a.style.position="relative";k.style.position="absolute";k.style.top="0px";k.style.left="0px";k.style.width="100%";k.style.height="100%";k.style.zIndex="0";a.appendChild(k);e.gl=Object(d.a)(k);e.registerEventListener(window,"resize",e.onResize.bind(e)); +e.updateStarted=new b.a;e.updateFinished=new b.a;e.panels=new Set;e.updatePending=null;e.onResize=e.registerCancellable(d()(function(){e.scheduleRedraw();for(var a=$jscomp.makeIterator(e.panels),b=a.next();!b.done;b=a.next())b.value.onResize()},0));var k=e.canvas;a.style.position="relative";k.style.position="absolute";k.style.top="0px";k.style.left="0px";k.style.width="100%";k.style.height="100%";k.style.zIndex="0";a.appendChild(k);e.gl=Object(c.a)(k);e.registerEventListener(window,"resize",e.onResize.bind(e)); return e}n(g,a);e(g,[{key:"isReady",value:function(){for(var a=$jscomp.makeIterator(this.panels),b=a.next();!b.done;b=a.next())if(b=b.value,b.visible&&!b.isReady())return!1;return!0}},{key:"makeCanvasOverlayElement",value:function(){var a=document.createElement("div");a.style.position="absolute";a.style.top="0px";a.style.left="0px";a.style.width="100%";a.style.height="100%";a.style.zIndex="2";this.container.appendChild(a);return a}},{key:"disposed",value:function(){null!=this.updatePending&&(cancelAnimationFrame(this.updatePending), this.updatePending=null)}},{key:"addPanel",value:function(a){this.panels.add(a)}},{key:"removePanel",value:function(a){this.panels.delete(a);a.dispose()}},{key:"scheduleRedraw",value:function(){null===this.updatePending&&(this.updatePending=requestAnimationFrame(this.update.bind(this)))}},{key:"draw",value:function(){this.updateStarted.dispatch();var a=this.gl,b=this.canvas;b.width=b.offsetWidth;b.height=b.offsetHeight;this.canvasRect=b.getBoundingClientRect();this.gl.clearColor(0,0,0,0);a.clear(a.COLOR_BUFFER_BIT| a.DEPTH_BUFFER_BIT);b=$jscomp.makeIterator(this.panels);for(var c=b.next();!c.done;c=b.next()){c=c.value;var d=c.element;c.visible&&0!==d.clientWidth&&0!==d.clientHeight&&0!==d.offsetWidth&&0!==d.offsetHeight&&(c.setGLViewport(),c.draw())}a.disable(a.SCISSOR_TEST);this.gl.clearColor(1,1,1,1);this.gl.colorMask(!1,!1,!1,!0);a.clear(a.COLOR_BUFFER_BIT);this.gl.colorMask(!0,!0,!0,!0);this.updateFinished.dispatch()}},{key:"update",value:function(){this.updatePending=null;this.draw()}}]);return g}(h.a)}, function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f, -"a",function(){return b});h=a(1);var n=a(25),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),b=function(a){function b(a,c){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var d=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.target=a;d.eventMap=c;d.registerEventListener(a, -"wheel",function(a){d.dispatch("wheel",a)});d.registerEventListener(a,"click",function(a){d.dispatch("click"+a.button,a)});d.registerEventListener(a,"dblclick",function(a){d.dispatch("dblclick"+a.button,a)});d.registerEventListener(a,"mousedown",function(a){d.dispatch("mousedown"+a.button,a)});d.registerEventListener(a,"mouseup",function(a){d.dispatch("mouseup"+a.button,a)});return d}p(b,a);c(b,[{key:"dispatch",value:function(a,b){Object(n.b)(a,b,this.eventMap)}}]);return b}(h.a)},function(h,f,a){f.a= -function(a,f,h,c){f*=6;var b=Math.floor(f),d=f-b;f=c*(1-h);var e=c*(1-h*d);h=c*(1-h*(1-d));switch(b%6){case 0:a[0]=c;a[1]=h;a[2]=f;break;case 1:a[0]=e;a[1]=c;a[2]=f;break;case 2:a[0]=f;a[1]=c;a[2]=h;break;case 3:a[0]=f;a[1]=e;a[2]=c;break;case 4:a[0]=h;a[1]=f;a[2]=c;break;case 5:a[0]=c,a[1]=f,a[2]=e}return a};f.b=function(a,f,h,c){var b=Math.max(Math.max(f,h),c),d=Math.min(Math.min(f,h),c);a[2]=b;d===b?(a[0]=0,a[1]=0):(d=b-d,a[1]=d/b,a[0]=f===b?(h-c)/d:h===b?2+(c-f)/d:4+(f-h)/d,a[0]/=6,0>a[0]&&(a[0]+= +"a",function(){return b});h=a(1);var n=a(22),d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),b=function(a){function b(a,c){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var d=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.target=a;d.eventMap=c;d.registerEventListener(a, +"wheel",function(a){d.dispatch("wheel",a)});d.registerEventListener(a,"click",function(a){d.dispatch("click"+a.button,a)});d.registerEventListener(a,"dblclick",function(a){d.dispatch("dblclick"+a.button,a)});d.registerEventListener(a,"mousedown",function(a){d.dispatch("mousedown"+a.button,a)});d.registerEventListener(a,"mouseup",function(a){d.dispatch("mouseup"+a.button,a)});return d}p(b,a);d(b,[{key:"dispatch",value:function(a,b){Object(n.b)(a,b,this.eventMap)}}]);return b}(h.a)},function(h,f,a){f.a= +function(a,f,h,d){f*=6;var b=Math.floor(f),c=f-b;f=d*(1-h);var e=d*(1-h*c);h=d*(1-h*(1-c));switch(b%6){case 0:a[0]=d;a[1]=h;a[2]=f;break;case 1:a[0]=e;a[1]=d;a[2]=f;break;case 2:a[0]=f;a[1]=d;a[2]=h;break;case 3:a[0]=f;a[1]=e;a[2]=d;break;case 4:a[0]=h;a[1]=f;a[2]=d;break;case 5:a[0]=d,a[1]=f,a[2]=e}return a};f.b=function(a,f,h,d){var b=Math.max(Math.max(f,h),d),c=Math.min(Math.min(f,h),d);a[2]=b;c===b?(a[0]=0,a[1]=0):(c=b-c,a[1]=c/b,a[0]=f===b?(h-d)/c:h===b?2+(d-f)/c:4+(f-h)/c,a[0]/=6,0>a[0]&&(a[0]+= 1),1<a[0]&&--a[0]);return a}},function(h,f,a){h=new (a(151).a);f.a=h},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&& -b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a){var c,d,e;return function(g,k){if(void 0!==d&&(void 0===c||void 0===g||c.generation!==g.generation))return void 0===c&&e.addConsumer(k),d;c=void 0;e=new b.c;return d=a(g,e).then(function(a){c=a;e=void 0;return a},function(a){e.isCanceled&&(d=e=void 0);throw a;})}}a.d(f,"b",function(){return g});f.c=function(a){var b=0;return c(function(c, -d){return a(d).then(function(a){return{generation:++b,credentials:a}})})};a.d(f,"a",function(){return k});var b=a(32);h=a(1);var d=a(97),e=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),g=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a); +b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function d(a){var c,d,e;return function(g,k){if(void 0!==d&&(void 0===c||void 0===g||c.generation!==g.generation))return void 0===c&&e.addConsumer(k),d;c=void 0;e=new b.c;return d=a(g,e).then(function(a){c=a;e=void 0;return a},function(a){e.isCanceled&&(d=e=void 0);throw a;})}}a.d(f,"b",function(){return g});f.c=function(a){var b=0;return d(function(c, +d){return a(d).then(function(a){return{generation:++b,credentials:a}})})};a.d(f,"a",function(){return k});var b=a(32);h=a(1);var c=a(98),e=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),g=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a); return b}(h.a),l=function(){function a(){q(this,a);this.providers=new Map}e(a,[{key:"register",value:function(a,b){this.providers.set(a,b)}},{key:"getCredentialsProvider",value:function(a,b){var c=this.providers.get(a);if(void 0===c)throw Error("No registered credentials provider: "+JSON.stringify(a));return c(b)}}]);return a}(),k=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,new l))}n(b,a);e(b,[{key:"register",value:function(a,b){this.base.register(a, -b)}}]);return b}(function(a){function b(a){q(this,b);var c=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.base=a;c.memoize=new d.b;return c}n(b,a);e(b,[{key:"getCredentialsProvider",value:function(a,b){var c=this;return this.memoize.get({key:a,parameters:b},function(){return c.registerDisposer(c.base.getCredentialsProvider(a,b).addRef())})}}]);return b}(h.a))},function(h,f,a){a.d(f,"c",function(){return q});f.a="/ocp/ca";f.b="/nd/sd";var q=function n(){if(!(this instanceof n))throw new TypeError("Cannot call a class as a function"); +b)}}]);return b}(function(a){function b(a){q(this,b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.base=a;d.memoize=new c.b;return d}n(b,a);e(b,[{key:"getCredentialsProvider",value:function(a,b){var c=this;return this.memoize.get({key:a,parameters:b},function(){return c.registerDisposer(c.base.getCredentialsProvider(a,b).addRef())})}}]);return b}(h.a))},function(h,f,a){a.d(f,"c",function(){return q});f.a="/ocp/ca";f.b="/nd/sd";var q=function n(){if(!(this instanceof n))throw new TypeError("Cannot call a class as a function"); };q.RPC_ID="ndstore/VolumeChunkSource"},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a, -b):a.__proto__=b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function c(a,b,c){Object(E.t)(a);var d=Object(E.v)(a,"Base",function(a){return new B(a)});switch(d.typeName){case "uint8blk":case "grayscale8":var e=-1!==d.compressionName.indexOf("jpeg");return new M(a,b,d,e?r.c.JPEG:r.c.RAW,c);case "labels64":case "labelblk":return new M(a,b,d,r.c.COMPRESSED_SEGMENTATION,c);case "labelarray":case "labelmap":return new M(a,b,d,r.c.COMPRESSED_SEGMENTATIONARRAY, +b):a.__proto__=b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function d(a,b,c){Object(E.t)(a);var d=Object(E.v)(a,"Base",function(a){return new B(a)});switch(d.typeName){case "uint8blk":case "grayscale8":var e=-1!==d.compressionName.indexOf("jpeg");return new M(a,b,d,e?r.c.JPEG:r.c.RAW,c);case "labels64":case "labelblk":return new M(a,b,d,r.c.COMPRESSED_SEGMENTATION,c);case "labelarray":case "labelmap":return new M(a,b,d,r.c.COMPRESSED_SEGMENTATIONARRAY, c);default:throw Error("DVID data type "+JSON.stringify(d.typeName)+" is not supported.");}}function b(a){try{for(var b=Object(E.u)(a,function(a){return new P(a)}),c=new Map,d=$jscomp.makeIterator(b),e=d.next();!e.done;e=d.next()){var g=$jscomp.makeIterator(e.value),k=g.next().value,l=g.next().value;c.set(k,l);for(var f=$jscomp.makeIterator(l.vnodes),m=f.next();!m.done;m=f.next()){var h=m.value;if(h!==k){var t=new P(l);c.set(h,t)}}}for(var r=$jscomp.makeIterator(c),n=r.next();!n.done;n=r.next()){var u= -$jscomp.makeIterator(n.value),p=u.next().value;u.next().value.uuid=p}return c}catch(wa){throw Error("Failed to parse DVID repositories info: "+wa.message);}}function d(a,b){return a.memoize.getUncounted({type:"dvid:getServerInfo",baseUrls:b},function(){var a=Object(D.d)(Object(D.b)(b,"/api/repos/info","GET"),"json").then(function(a){return new N(a)}),c="repository info for DVID server "+b[0];x.a.forPromise(a,{initialMessage:"Retrieving "+c+".",delay:!0,errorPrefix:"Error retrieving "+c+": "});return a})} +$jscomp.makeIterator(n.value),p=u.next().value;u.next().value.uuid=p}return c}catch(wa){throw Error("Failed to parse DVID repositories info: "+wa.message);}}function c(a,b){return a.memoize.getUncounted({type:"dvid:getServerInfo",baseUrls:b},function(){var a=Object(D.d)(Object(D.b)(b,"/api/repos/info","GET"),"json").then(function(a){return new N(a)}),c="repository info for DVID server "+b[0];x.a.forPromise(a,{initialMessage:"Retrieving "+c+".",delay:!0,errorPrefix:"Error retrieving "+c+": "});return a})} function e(a,b,c,d){return a.memoize.getUncounted({type:"dvid:getInstanceDetails",baseUrls:b,nodeKey:c,name:d.name},function(){var a=Object(D.d)(Object(D.b)(b,"/api/node/"+c+"/"+d.name+"/info","GET"),"json"),e="datainstance info for node "+c+" and instance "+d.name+" "+("on DVID server "+b[0]);x.a.forPromise(a,{initialMessage:"Retrieving "+e+".",delay:!0,errorPrefix:"Error retrieving "+e+": "});return a.then(function(a){a=Object(E.v)(a,"Extended",E.t);d.lowerVoxelBound=Object(E.v)(a,"MinPoint",function(a){return Object(E.d)(z.s.create(), -a)});d.upperVoxelBound=Object(E.v)(a,"MaxPoint",function(a){return Object(E.d)(z.s.create(),a)});return d})})}function g(a,b,c,g){return d(a,b).then(function(d){d=d.getNode(c);if(void 0===d)throw Error("Invalid node: "+JSON.stringify(c)+".");d=d.dataInstances.get(g);if(!(d instanceof M))throw Error("Invalid data instance "+g+".");return e(a,b,c,d)}).then(function(d){return a.memoize.getUncounted({type:"dvid:MultiscaleVolumeChunkSource",baseUrls:b,nodeKey:c,dataInstanceKey:g},function(){return new S(a, -b,c,g,d)})})}function l(a,b){var c=b.match(U);if(null===c)throw Error("Invalid DVID URL: "+JSON.stringify(b)+".");return g(a,[c[1]],c[2],c[3])}function k(a,b){return{offset:0,completions:Object(A.c)(b,a.dataInstances.values(),function(a){return a.name},function(a){return""+a.base.typeName})}}function t(a,b){var c=b.match(/^(?:([^\/]+)(?:\/([^\/]*))?)?$/);if(null===c)throw Error("Invalid DVID URL syntax.");if(void 0===c[2])return{offset:0,completions:Object(A.c)(b,a.repositories.values(),function(a){return a.uuid+ -"/"},function(a){return a.alias+": "+a.description})};b=c[1];a=a.getNode(b);return Object(A.a)(b.length+1,k(a,c[2]))}function m(a,b){a=a.match(/^((?:http|https):\/\/[^\/]+)\/(.*)$/);if(null===a)return Promise.reject(null);var c=a[1],e=a[2];return d(b,[c]).then(function(a){return Object(A.a)(c.length+1,t(a,e))})}Object.defineProperty(f,"__esModule",{value:!0});a.d(f,"getVolume",function(){return l});a.d(f,"volumeCompleter",function(){return m});a.d(f,"DataInstanceBaseInfo",function(){return B});a.d(f, -"DataInstanceInfo",function(){return F});a.d(f,"VolumeDataInstanceInfo",function(){return M});f.parseDataInstance=c;a.d(f,"RepositoryInfo",function(){return P});f.parseRepositoriesInfo=b;a.d(f,"ServerInfo",function(){return N});f.getServerInfo=d;f.getDataInstanceDetails=e;a.d(f,"MultiscaleVolumeChunkSource",function(){return S});f.getShardedVolume=g;f.completeInstanceName=k;f.completeNodeAndInstance=t;a.d(f,"DVIDDataSource",function(){return Z});h=a(23);f=a(46);var r=a(272),u=a(54),v=a(103),w=a(26), -y=a(33),x=a(31),A=a(61),z=a(2),D=a(62),E=a(4),G=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),C=new Map;C.set("uint8",w.a.UINT8);C.set("uint32",w.a.UINT32);C.set("uint64",w.a.UINT64);var B=function(){function a(b){n(this,a);this.obj=b;Object(E.t)(b);Object(E.v)(b,"TypeName",E.A)}G(a,[{key:"typeName",get:function(){return this.obj.TypeName}}, -{key:"compressionName",get:function(){return this.obj.Compression}}]);return a}(),F=function Q(a,b,c){n(this,Q);this.obj=a;this.name=b;this.base=c},L=function(a){function b(){n(this,b);return q(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}p(b,a);return b}(Object(h.f)(y.b,r.d)),I=function(a){function b(){n(this,b);return q(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}p(b,a);return b}(Object(h.f)(v.d,r.b)),O=function(a){function b(){n(this,b);return q(this, +a)});d.upperVoxelBound=Object(E.v)(a,"MaxPoint",function(a){return Object(E.d)(z.s.create(),a)});return d})})}function g(a,b,d,g){return c(a,b).then(function(c){c=c.getNode(d);if(void 0===c)throw Error("Invalid node: "+JSON.stringify(d)+".");c=c.dataInstances.get(g);if(!(c instanceof M))throw Error("Invalid data instance "+g+".");return e(a,b,d,c)}).then(function(c){return a.memoize.getUncounted({type:"dvid:MultiscaleVolumeChunkSource",baseUrls:b,nodeKey:d,dataInstanceKey:g},function(){return new S(a, +b,d,g,c)})})}function l(a,b){var c=b.match(U);if(null===c)throw Error("Invalid DVID URL: "+JSON.stringify(b)+".");return g(a,[c[1]],c[2],c[3])}function k(a,b){return{offset:0,completions:Object(A.c)(b,a.dataInstances.values(),function(a){return a.name},function(a){return""+a.base.typeName})}}function t(a,b){var c=b.match(/^(?:([^\/]+)(?:\/([^\/]*))?)?$/);if(null===c)throw Error("Invalid DVID URL syntax.");if(void 0===c[2])return{offset:0,completions:Object(A.c)(b,a.repositories.values(),function(a){return a.uuid+ +"/"},function(a){return a.alias+": "+a.description})};b=c[1];a=a.getNode(b);return Object(A.a)(b.length+1,k(a,c[2]))}function m(a,b){a=a.match(/^((?:http|https):\/\/[^\/]+)\/(.*)$/);if(null===a)return Promise.reject(null);var d=a[1],e=a[2];return c(b,[d]).then(function(a){return Object(A.a)(d.length+1,t(a,e))})}Object.defineProperty(f,"__esModule",{value:!0});a.d(f,"getVolume",function(){return l});a.d(f,"volumeCompleter",function(){return m});a.d(f,"DataInstanceBaseInfo",function(){return B});a.d(f, +"DataInstanceInfo",function(){return F});a.d(f,"VolumeDataInstanceInfo",function(){return M});f.parseDataInstance=d;a.d(f,"RepositoryInfo",function(){return P});f.parseRepositoriesInfo=b;a.d(f,"ServerInfo",function(){return N});f.getServerInfo=c;f.getDataInstanceDetails=e;a.d(f,"MultiscaleVolumeChunkSource",function(){return S});f.getShardedVolume=g;f.completeInstanceName=k;f.completeNodeAndInstance=t;a.d(f,"DVIDDataSource",function(){return Z});h=a(24);f=a(46);var r=a(272),u=a(54),v=a(104),w=a(26), +y=a(33),x=a(31),A=a(62),z=a(2),D=a(63),E=a(4),G=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),C=new Map;C.set("uint8",w.a.UINT8);C.set("uint32",w.a.UINT32);C.set("uint64",w.a.UINT64);var B=function(){function a(b){n(this,a);this.obj=b;Object(E.t)(b);Object(E.v)(b,"TypeName",E.A)}G(a,[{key:"typeName",get:function(){return this.obj.TypeName}}, +{key:"compressionName",get:function(){return this.obj.Compression}}]);return a}(),F=function Q(a,b,c){n(this,Q);this.obj=a;this.name=b;this.base=c},L=function(a){function b(){n(this,b);return q(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}p(b,a);return b}(Object(h.f)(y.b,r.d)),J=function(a){function b(){n(this,b);return q(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}p(b,a);return b}(Object(h.f)(v.d,r.b)),O=function(a){function b(){n(this,b);return q(this, (b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}p(b,a);return b}(Object(h.f)(u.c,r.a)),M=function(a){function b(a,c,d,e,g){n(this,b);d=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,c,d));d.encoding=e;a=Object(E.v)(a,"Extended",E.t);var k=Object(E.v)(a,"Values",function(a){return Object(E.a)(a,E.t)});if(1>k.length)throw Error("Expected Extended.Values property to have length >= 1, but received: ${JSON.stringify(extendedValues)}.");d.numLevels=1;g=new Set(g);if(e===r.c.COMPRESSED_SEGMENTATIONARRAY)e= Object(E.v)(a,"MaxDownresLevel",E.z),d.numLevels=e+1;else for(;g.has(c+"_"+d.numLevels.toString());)d.numLevels+=1;d.meshSrc="";g.has(c+"_meshes")&&(d.meshSrc=c+"_meshes");d.skeletonSrc="";""!==d.meshSrc&&g.has(c+"_skeletons")&&(d.skeletonSrc=c+"_skeletons");d.dataType=Object(E.v)(k[0],"DataType",function(a){return Object(E.s)(a,C)});d.voxelSize=Object(E.v)(a,"VoxelSize",function(a){return Object(E.c)(z.s.create(),a,E.o)});d.numChannels=1;return d}p(b,a);G(b,[{key:"getSources",value:function(a,b, c){for(var d=this.encoding,e=[],g={},k=0;k<this.numLevels;g={volParameters:g.volParameters},++k){for(var l=z.s.scale(z.s.create(),this.voxelSize,Math.pow(2,k)),f=z.s.create(),m=z.s.create(),h=0;3>h;++h){var t=Math.floor(this.voxelSize[h]/l[h]*this.lowerVoxelBound[h]);f[h]=t-t%64;t=Math.ceil(this.voxelSize[h]/l[h]*(this.upperVoxelBound[h]+1));m[h]=t;0!==t%64&&(m[h]+=64-t%64)}h=b.dataInstanceKey;d!==r.c.COMPRESSED_SEGMENTATIONARRAY&&0<k&&(h+="_"+k.toString());g.volParameters={baseUrls:b.baseUrls,nodeKey:b.nodeKey, dataInstanceKey:h,dataScale:k.toString(),encoding:d};l=w.b.getDefaults({voxelSize:l,dataType:this.dataType,numChannels:this.numChannels,transform:z.k.fromTranslation(z.k.create(),z.s.multiply(z.s.create(),f,l)),baseVoxelOffset:f,upperVoxelBound:z.s.subtract(z.s.create(),m,f),volumeType:this.volumeType,volumeSourceOptions:c,compressedSegmentationBlockSize:d===r.c.COMPRESSED_SEGMENTATION||d===r.c.COMPRESSED_SEGMENTATIONARRAY?z.s.fromValues(8,8,8):void 0}).map(function(b){return function(c){return a.getChunkSource(L, -{spec:c,parameters:b.volParameters})}}(g));e.push(l)}return e}},{key:"getMeshSource",value:function(a,b){return""!==this.meshSrc?a.getChunkSource(O,{parameters:{baseUrls:b.baseUrls,nodeKey:b.nodeKey,dataInstanceKey:this.meshSrc}}):null}},{key:"getSkeletonSource",value:function(a,b){return""!==this.skeletonSrc?a.getChunkSource(I,{parameters:{baseUrls:b.baseUrls,nodeKey:b.nodeKey,dataInstanceKey:this.skeletonSrc}}):null}},{key:"volumeType",get:function(){return this.encoding===r.c.COMPRESSED_SEGMENTATION|| -this.encoding===r.c.COMPRESSED_SEGMENTATIONARRAY?w.c.SEGMENTATION:w.c.IMAGE}}]);return b}(F),P=function aa(a){n(this,aa);this.errors=[];this.dataInstances=new Map;this.vnodes=new Set;if(a instanceof aa)this.alias=a.alias,this.description=a.description,this.errors=a.errors,this.dataInstances=a.dataInstances;else{Object(E.t)(a);this.alias=Object(E.v)(a,"Alias",E.A);this.description=Object(E.v)(a,"Description",E.A);for(var b=Object(E.v)(a,"DataInstances",E.t),d=Object.keys(b),e=$jscomp.makeIterator(d), -g=e.next();!g.done;g=e.next()){g=g.value;try{this.dataInstances.set(g,c(b[g],g,d))}catch(Ka){g="Failed to parse data instance "+JSON.stringify(g)+": "+Ka.message,console.log(g),this.errors.push(g)}}a=Object(E.v)(a,"DAG",E.t);a=Object(E.v)(a,"Nodes",E.t);a=$jscomp.makeIterator(Object.keys(a));for(g=a.next();!g.done;g=a.next())this.vnodes.add(g.value)}},N=function(){function a(c){n(this,a);this.repositories=b(c)}G(a,[{key:"getNode",value:function(a){for(var b=[],c=$jscomp.makeIterator(this.repositories.keys()), +{spec:c,parameters:b.volParameters})}}(g));e.push(l)}return e}},{key:"getMeshSource",value:function(a,b){return""!==this.meshSrc?a.getChunkSource(O,{parameters:{baseUrls:b.baseUrls,nodeKey:b.nodeKey,dataInstanceKey:this.meshSrc}}):null}},{key:"getSkeletonSource",value:function(a,b){return""!==this.skeletonSrc?a.getChunkSource(J,{parameters:{baseUrls:b.baseUrls,nodeKey:b.nodeKey,dataInstanceKey:this.skeletonSrc}}):null}},{key:"volumeType",get:function(){return this.encoding===r.c.COMPRESSED_SEGMENTATION|| +this.encoding===r.c.COMPRESSED_SEGMENTATIONARRAY?w.c.SEGMENTATION:w.c.IMAGE}}]);return b}(F),P=function aa(a){n(this,aa);this.errors=[];this.dataInstances=new Map;this.vnodes=new Set;if(a instanceof aa)this.alias=a.alias,this.description=a.description,this.errors=a.errors,this.dataInstances=a.dataInstances;else{Object(E.t)(a);this.alias=Object(E.v)(a,"Alias",E.A);this.description=Object(E.v)(a,"Description",E.A);for(var b=Object(E.v)(a,"DataInstances",E.t),c=Object.keys(b),e=$jscomp.makeIterator(c), +g=e.next();!g.done;g=e.next()){g=g.value;try{this.dataInstances.set(g,d(b[g],g,c))}catch(Ka){g="Failed to parse data instance "+JSON.stringify(g)+": "+Ka.message,console.log(g),this.errors.push(g)}}a=Object(E.v)(a,"DAG",E.t);a=Object(E.v)(a,"Nodes",E.t);a=$jscomp.makeIterator(Object.keys(a));for(g=a.next();!g.done;g=a.next())this.vnodes.add(g.value)}},N=function(){function a(c){n(this,a);this.repositories=b(c)}G(a,[{key:"getNode",value:function(a){for(var b=[],c=$jscomp.makeIterator(this.repositories.keys()), d=c.next();!d.done;d=c.next())d=d.value,d.startsWith(a)&&b.push(d);if(1!==b.length)throw Error("Node key "+JSON.stringify(a)+" matches "+JSON.stringify(b)+" nodes.");return this.repositories.get(b[0])}}]);return a}(),S=function(){function a(b,c,d,e,g){n(this,a);this.chunkManager=b;this.baseUrls=c;this.nodeKey=d;this.dataInstanceKey=e;this.info=g}G(a,[{key:"getSources",value:function(a){return this.info.getSources(this.chunkManager,{baseUrls:this.baseUrls,nodeKey:this.nodeKey,dataInstanceKey:this.dataInstanceKey}, a)}},{key:"getMeshSource",value:function(){var a=this.info.getMeshSource(this.chunkManager,{baseUrls:this.baseUrls,nodeKey:this.nodeKey,dataInstanceKey:this.dataInstanceKey});return null===a?this.info.getSkeletonSource(this.chunkManager,{baseUrls:this.baseUrls,nodeKey:this.nodeKey,dataInstanceKey:this.dataInstanceKey}):a}},{key:"dataType",get:function(){return this.info.dataType}},{key:"numChannels",get:function(){return this.info.numChannels}},{key:"volumeType",get:function(){return this.info.volumeType}}]); return a}(),U=/^((?:http|https):\/\/[^\/]+)\/([^\/]+)\/([^\/]+)$/,Z=function(a){function b(){n(this,b);return q(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}p(b,a);G(b,[{key:"getVolume",value:function(a,b){return l(a,b)}},{key:"volumeCompleter",value:function(a,b){return m(a,b)}},{key:"description",get:function(){return"DVID"}}]);return b}(f.a)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); -return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a){var c=Object(F.a)(a,F.t);if(1>c.length)throw Error("No stacks found for owner object.");a=new Map;var k=Object(F.v)(c[0], -"stackId",d);c=$jscomp.makeIterator(c);for(var f=c.next();!f.done;f=c.next()){var m=f.value;f=Object(F.v)(m,"stackId",b);a:{var h=m;Object(F.t)(h);var t=Object(F.v)(h,"state",F.A);m=[];var r=C.s.create(),n=C.s.create();if(P.has(t)){r=t=Object(F.v)(h,"stats",F.t);Object(F.t)(r);r=Object(F.v)(r,"stackBounds",F.t);n=C.s.create();n[0]=Object(F.v)(r,"minX",F.p);n[1]=Object(F.v)(r,"minY",F.p);n[2]=Object(F.v)(r,"minZ",F.p);r=n;n=t;Object(F.t)(n);n=Object(F.v)(n,"stackBounds",F.t);var u=C.s.create();u[0]= +return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function d(a){var d=Object(F.a)(a,F.t);if(1>d.length)throw Error("No stacks found for owner object.");a=new Map;var k=Object(F.v)(d[0], +"stackId",c);d=$jscomp.makeIterator(d);for(var f=d.next();!f.done;f=d.next()){var m=f.value;f=Object(F.v)(m,"stackId",b);a:{var h=m;Object(F.t)(h);var t=Object(F.v)(h,"state",F.A);m=[];var r=C.s.create(),n=C.s.create();if(P.has(t)){r=t=Object(F.v)(h,"stats",F.t);Object(F.t)(r);r=Object(F.v)(r,"stackBounds",F.t);n=C.s.create();n[0]=Object(F.v)(r,"minX",F.p);n[1]=Object(F.v)(r,"minY",F.p);n[2]=Object(F.v)(r,"minZ",F.p);r=n;n=t;Object(F.t)(n);n=Object(F.v)(n,"stackBounds",F.t);var u=C.s.create();u[0]= Object(F.v)(n,"maxX",F.p)+1;u[1]=Object(F.v)(n,"maxY",F.p)+1;u[2]=Object(F.v)(n,"maxZ",F.p)+1;n=u;t.hasOwnProperty("channelNames")&&(m=e(t))}else if(!N.has(t)){m=void 0;break a}t=Object(F.v)(h,"currentVersion",g);h=Object(F.v)(h,"stackId",l);m={lowerVoxelBound:r,upperVoxelBound:n,voxelResolution:t,project:h,channels:m}}void 0!==m&&(h=m.project,r=a.get(h),void 0===r&&(r=new Map,a.set(h,{stacks:r}),r=a.get(h)),r.stacks.set(f,m))}return{owner:k,projects:a}}function b(a){Object(F.t)(a);return Object(F.v)(a, -"stack",F.A)}function d(a){Object(F.t)(a);return Object(F.v)(a,"owner",F.A)}function e(a){Object(F.t)(a);return Object(F.v)(a,"channelNames",function(a){return Object(F.a)(a,F.A)})}function g(a){Object(F.t)(a);var b=C.s.create();try{b[0]=Object(F.v)(a,"stackResolutionX",F.p),b[1]=Object(F.v)(a,"stackResolutionY",F.p),b[2]=Object(F.v)(a,"stackResolutionZ",F.p)}catch(ka){b[0]=1,b[1]=1,b[2]=1}return b}function l(a){Object(F.t)(a);return Object(F.v)(a,"project",F.A)}function k(a,b){for(var c=0,d=0;2> -d;d++)c<a.upperVoxelBound[d]&&(c=a.upperVoxelBound[d]);if(b>=c)return 1;for(a=0;c>b;)c/=2,a++;return a}function t(a,b,d){return a.memoize.getUncounted({type:"render:getOwnerInfo",hostnames:b,owner:d},function(){return Object(B.d)(Object(B.b)(b,"/render-ws/v1/owner/"+d+"/stacks"),"json").then(c)})}function m(a,b,c){var d=c.match(U);if(null===d)throw Error("Invalid volume path "+JSON.stringify(c));var e=d[1],g=d[2],k=d[3],l=d[4],f=Object(F.e)(d[5]||"");return a.memoize.getUncounted({type:"render:MultiscaleVolumeChunkSource", +"stack",F.A)}function c(a){Object(F.t)(a);return Object(F.v)(a,"owner",F.A)}function e(a){Object(F.t)(a);return Object(F.v)(a,"channelNames",function(a){return Object(F.a)(a,F.A)})}function g(a){Object(F.t)(a);var b=C.s.create();try{b[0]=Object(F.v)(a,"stackResolutionX",F.p),b[1]=Object(F.v)(a,"stackResolutionY",F.p),b[2]=Object(F.v)(a,"stackResolutionZ",F.p)}catch(ka){b[0]=1,b[1]=1,b[2]=1}return b}function l(a){Object(F.t)(a);return Object(F.v)(a,"project",F.A)}function k(a,b){for(var c=0,d=0;2> +d;d++)c<a.upperVoxelBound[d]&&(c=a.upperVoxelBound[d]);if(b>=c)return 1;for(a=0;c>b;)c/=2,a++;return a}function t(a,b,c){return a.memoize.getUncounted({type:"render:getOwnerInfo",hostnames:b,owner:c},function(){return Object(B.d)(Object(B.b)(b,"/render-ws/v1/owner/"+c+"/stacks"),"json").then(d)})}function m(a,b,c){var d=c.match(U);if(null===d)throw Error("Invalid volume path "+JSON.stringify(c));var e=d[1],g=d[2],k=d[3],l=d[4],f=Object(F.e)(d[5]||"");return a.memoize.getUncounted({type:"render:MultiscaleVolumeChunkSource", hostnames:b,path:c},function(){return t(a,b,e).then(function(c){return new S(a,b,c,k,g,l,f)})})}function r(a,b){var c=b.match(Z);if(null===c)throw Error("Invalid render volume path: "+JSON.stringify(b));b=c[1].split(",");return m(a,b,c[2])}function u(a,b,c){var d=c.match(/^(?:([^\/]+)(?:\/([^\/]*))?(?:\/([^\/]*))?(\/.*?)?)?$/);if(null===d||void 0===d[2])return Promise.reject(null);if(void 0===d[3]){var e=d[2]||"";return t(a,b,d[1]).then(function(a){a=Object(G.c)(e,a.projects,function(a){return a[0]+ "/"},function(){});return{offset:d[1].length+1,completions:a}})}if(void 0===d[4]){var g=d[3]||"";return t(a,b,d[1]).then(function(a){a=a.projects.get(d[2]);if(void 0===a)return Promise.reject(null);a=Object(G.c)(g,a.stacks,function(a){return a[0]+"/"},function(a){return"("+a[1].project+")"});return{offset:d[1].length+d[2].length+2,completions:a}})}var k=d[4].substr(1)||"";return t(a,b,d[1]).then(function(a){a=a.projects.get(d[2]);if(void 0===a)return Promise.reject(null);a=a.stacks.get(d[3]);if(void 0=== a)return Promise.reject(null);a=a.channels;if(0===a.length)return Promise.reject(null);a=Object(G.c)(k,a,function(a){return a},function(){});return{offset:d[1].length+d[2].length+d[3].length+3,completions:a}})}function v(a,b){var c=a.match(Z);if(null===c)return Promise.reject(null);a=c[1].split(",");return u(b,a,c[2]).then(function(a){return Object(G.a)(c[1].length+1,a)})}function w(a,b){var c=b.match(Z);if(null===c)throw Error("Invalid render point path: "+JSON.stringify(b));return y(a,[c[1]],c[2])} function y(a,b,c){var d=c.match(U);if(null===d)throw Error("Invalid point path "+JSON.stringify(c));var e=d[1],g=d[2],k=d[3],l=Object(F.e)(d[4]||"");return a.memoize.getUncounted({type:"render:MultiscaleVectorGraphicsChunkSource",hostnames:b,path:c},function(){return t(a,b,e).then(function(c){return new H(a,b,c,k,g,l)})})}Object.defineProperty(f,"__esModule",{value:!0});a.d(f,"getVolume",function(){return r});a.d(f,"volumeCompleter",function(){return v});a.d(f,"MultiscaleVolumeChunkSource",function(){return S}); -f.computeStackHierarchy=k;f.getOwnerInfo=t;f.getShardedVolume=m;f.stackAndProjectCompleter=u;a.d(f,"MultiscaleVectorGraphicsChunkSource",function(){return H});f.getPointMatches=w;f.getShardedPointMatches=y;a.d(f,"RenderDataSource",function(){return Q});h=a(23);f=a(46);var x=a(274),A=a(155),z=a(156),D=a(26),E=a(33),G=a(61),C=a(2),B=a(62),F=a(4),L=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a, -d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),I=new Set(["jpg"]),O=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);return b}(Object(h.f)(E.b,x.b)),M=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);return b}(Object(h.f)(z.b,x.a)),P=new Set(["COMPLETE","READ_ONLY"]),N=new Set(["LOADING"]),S=function(){function a(b,c,d,e,g,k,l){q(this, +f.computeStackHierarchy=k;f.getOwnerInfo=t;f.getShardedVolume=m;f.stackAndProjectCompleter=u;a.d(f,"MultiscaleVectorGraphicsChunkSource",function(){return H});f.getPointMatches=w;f.getShardedPointMatches=y;a.d(f,"RenderDataSource",function(){return Q});h=a(24);f=a(46);var x=a(274),A=a(155),z=a(156),D=a(26),E=a(33),G=a(62),C=a(2),B=a(63),F=a(4),L=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a, +d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),J=new Set(["jpg"]),O=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);return b}(Object(h.f)(E.b,x.b)),M=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);return b}(Object(h.f)(z.b,x.a)),P=new Set(["COMPLETE","READ_ONLY"]),N=new Set(["LOADING"]),S=function(){function a(b,c,d,e,g,k,l){q(this, a);this.chunkManager=b;this.baseUrls=c;this.ownerInfo=d;this.project=g;this.parameters=l;b=d.projects.get(g);if(void 0===b)throw Error("Specified project "+JSON.stringify(g)+" does not exist for "+("specified owner "+JSON.stringify(d.owner)));if(void 0===e){e=Array.from(b.stacks.keys());if(1!==e.length)throw Error("Dataset contains multiple stacks: "+JSON.stringify(e));e=e[0]}d=b.stacks.get(e);if(void 0===d)throw Error("Specified stack "+JSON.stringify(e)+" is not one of the supported stacks: "+JSON.stringify(Array.from(b.stacks.keys()))); this.stack=e;this.stackInfo=d;void 0!==k&&0<k.length&&(this.channel=k);this.minIntensity=Object(F.x)(l.minIntensity);this.maxIntensity=Object(F.x)(l.maxIntensity);this.maxTileSpecsToRender=Object(F.x)(l.maxTileSpecsToRender);this.filter=Object(F.w)(l.filter);this.minX=Object(F.x)(l.minX);this.minY=Object(F.x)(l.minY);this.minZ=Object(F.x)(l.minZ);this.maxX=Object(F.x)(l.maxX);this.maxY=Object(F.x)(l.maxY);this.maxZ=Object(F.x)(l.maxZ);void 0!==this.minX&&(d.lowerVoxelBound[0]=this.minX);void 0!== -this.minY&&(d.lowerVoxelBound[1]=this.minY);void 0!==this.minZ&&(d.lowerVoxelBound[2]=this.minZ);void 0!==this.maxX&&(d.upperVoxelBound[0]=this.maxX);void 0!==this.maxY&&(d.upperVoxelBound[1]=this.maxY);void 0!==this.maxZ&&(d.upperVoxelBound[2]=this.maxZ);k=Object(F.y)(l.encoding);if(void 0===k)k="jpg";else if(!I.has(k))throw Error("Invalid encoding: "+JSON.stringify(k)+".");this.encoding=k;this.numLevels=Object(F.x)(l.numlevels);this.dims=C.s.create();l=Object(F.x)(l.tilesize);void 0===l&&(l=1024); +this.minY&&(d.lowerVoxelBound[1]=this.minY);void 0!==this.minZ&&(d.lowerVoxelBound[2]=this.minZ);void 0!==this.maxX&&(d.upperVoxelBound[0]=this.maxX);void 0!==this.maxY&&(d.upperVoxelBound[1]=this.maxY);void 0!==this.maxZ&&(d.upperVoxelBound[2]=this.maxZ);k=Object(F.y)(l.encoding);if(void 0===k)k="jpg";else if(!J.has(k))throw Error("Invalid encoding: "+JSON.stringify(k)+".");this.encoding=k;this.numLevels=Object(F.x)(l.numlevels);this.dims=C.s.create();l=Object(F.x)(l.tilesize);void 0===l&&(l=1024); this.dims[0]=l;this.dims[1]=l;this.dims[2]=1}L(a,[{key:"getSources",value:function(a){var b=[],c=this.numLevels;void 0===c&&(c=k(this.stackInfo,this.dims[0]));for(var d=C.s.create(),e=C.s.create(),g=0;3>g;g++)d[g]=this.stackInfo.lowerVoxelBound[g]*this.stackInfo.voxelResolution[g],e[g]=this.stackInfo.upperVoxelBound[g]*this.stackInfo.voxelResolution[g];for(g=0;g<c;g++){for(var l=C.s.clone(this.stackInfo.voxelResolution),f=C.s.fromValues(1,1,1),m=0;2>m;++m)l[m]*=Math.pow(2,g),f[m]=this.dims[m];m=C.s.create(); for(var h=C.s.create(),t=0;3>t;t++)m[t]=Math.floor(this.stackInfo.voxelResolution[t]/l[t]*this.stackInfo.lowerVoxelBound[t]),h[t]=Math.ceil(this.stackInfo.voxelResolution[t]/l[t]*this.stackInfo.upperVoxelBound[t]);l=D.b.make({voxelSize:l,chunkDataSize:f,numChannels:this.numChannels,dataType:this.dataType,lowerClipBound:d,upperClipBound:e,lowerVoxelBound:m,upperVoxelBound:h,volumeSourceOptions:a});l=this.chunkManager.getChunkSource(O,{spec:l,parameters:{baseUrls:this.baseUrls,owner:this.ownerInfo.owner, project:this.stackInfo.project,stack:this.stack,channel:this.channel,minIntensity:this.minIntensity,maxIntensity:this.maxIntensity,maxTileSpecsToRender:this.maxTileSpecsToRender,filter:this.filter,dims:this.dims[0]+"_"+this.dims[1],level:g,encoding:this.encoding}});b.push([l])}return b}},{key:"getMeshSource",value:function(){return null}},{key:"dataType",get:function(){return D.a.UINT8}},{key:"numChannels",get:function(){return 3}},{key:"volumeType",get:function(){return D.c.IMAGE}}]);return a}(), @@ -1346,82 +1346,82 @@ U=/^([^\/?]+)(?:\/([^\/?]+))?(?:\/([^\/?]+))(?:\/([^\/?]*))?(?:\?(.*))?$/,Z=/^(( JSON.stringify(e));e=e[0]}d=b.stacks.get(e);if(void 0===d)throw Error("Specified stack "+JSON.stringify(e)+" is not one of the supported stacks: "+JSON.stringify(Array.from(b.stacks.keys())));this.stack=e;this.stackInfo=d;d=Object(F.y)(k.matchCollection);void 0===d&&(d=e);this.matchCollection=d;e=Object(F.x)(k.zoffset);void 0===e&&(e=1);this.zoffset=e;this.dims=C.s.create();k=Object(F.x)(k.tilesize);void 0===k&&(k=1024);this.dims[0]=k;this.dims[1]=k;this.dims[2]=1}L(a,[{key:"getSources",value:function(a){var b= this.stackInfo.voxelResolution,c=C.s.subtract(C.s.create(),this.stackInfo.upperVoxelBound,this.stackInfo.lowerVoxelBound);C.s.multiply(c,c,b);c[2]=b[2];a=A.a.make({voxelSize:b,chunkSize:c,lowerChunkBound:C.s.fromValues(0,0,this.stackInfo.lowerVoxelBound[2]),upperChunkBound:C.s.fromValues(1,1,this.stackInfo.upperVoxelBound[2]),vectorGraphicsSourceOptions:a});return[[this.chunkManager.getChunkSource(M,{spec:a,parameters:{baseUrls:this.baseUrls,owner:this.ownerInfo.owner,project:this.stackInfo.project, stack:this.stack,encoding:"points",matchCollection:this.matchCollection,zoffset:this.zoffset}})]]}}]);return a}(),Q=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);L(b,[{key:"getVolume",value:function(a,b){return r(a,b)}},{key:"volumeCompleter",value:function(a,b){return v(a,b)}},{key:"getVectorGraphicsSource",value:function(a,b){return w(a,b)}},{key:"description",get:function(){return"Render"}}]);return b}(f.a)},function(h,f, -a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"b",function(){return b});a.d(f,"a",function(){return d});var p=a(39),n=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable= -!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),c=function g(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return g(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},b;(function(a){a[a.LINE=0]="LINE";a[a.POINT=1]="POINT"})(b||(b={}));var d=function(a){function b(a){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function"); -a=(b.__proto__||Object.getPrototypeOf(b)).call(this,a);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!a||"object"!==typeof a&&"function"!==typeof a?this:a}q(b,a);n(b,[{key:"toObject",value:function(){return c(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"toObject",this).call(this)}}],[{key:"make",value:function(a){return new b(Object.assign({},a,{transform:Object(p.k)(a.transform,a.vectorGraphicsSourceOptions)}))}},{key:"fromObject", +a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"b",function(){return b});a.d(f,"a",function(){return c});var p=a(39),n=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable= +!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),d=function g(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return g(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},b;(function(a){a[a.LINE=0]="LINE";a[a.POINT=1]="POINT"})(b||(b={}));var c=function(a){function b(a){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function"); +a=(b.__proto__||Object.getPrototypeOf(b)).call(this,a);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!a||"object"!==typeof a&&"function"!==typeof a?this:a}q(b,a);n(b,[{key:"toObject",value:function(){return d(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"toObject",this).call(this)}}],[{key:"make",value:function(a){return new b(Object.assign({},a,{transform:Object(p.k)(a.transform,a.vectorGraphicsSourceOptions)}))}},{key:"fromObject", value:function(a){return new b(a)}}]);return b}(p.i)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype, -{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return g});a.d(f,"b",function(){return k});h=a(44);f=a(75);var c=a(20),b=a(55),d=function m(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return m(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},e=function(){function a(a, +{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return g});a.d(f,"b",function(){return k});h=a(44);f=a(76);var d=a(20),b=a(55),c=function m(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return m(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},e=function(){function a(a, b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),g=function(a){function c(a,d){d=void 0===d?{}:d;d=void 0===d.sourceOptions?{}:d.sourceOptions;q(this,c);var e=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this,a.chunkManager,a.getSources(d)));e.shader=void 0;e.rpcId=null;e.shaderGetter=e.registerDisposer(new b.a(e.gl,function(a){return e.defineShader(a)}, function(){return e.getShaderKey()}));return e}n(c,a);e(c,[{key:"defineShader",value:function(a){a.addFragmentCode("\nvoid emit(vec4 color) {\n v4f_fragColor = color;\n}\nvoid emitRGBA(vec4 rgba) {\n emit(vec4(rgba.rgb, rgba.a * uOpacity));\n}\nvoid emitRGB(vec3 rgb) {\n emit(vec4(rgb, uOpacity));\n}\nvoid emitGrayscale(float value) {\n emit(vec4(value, value, value, uOpacity));\n}\nvoid emitTransparent() {\n emit(vec4(0.0, 0.0, 0.0, 0.0));\n}\n")}},{key:"beginSlice",value:function(a){a=this.shaderGetter.get(); -if(void 0!==a)return a.bind(),a}}]);return c}(f.a),l=function(a){function b(a,c){q(this,b);a=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,c));a.vertexPositions=c.vertexPositions;a.numPoints=Math.floor(a.vertexPositions.length/3);return a}n(b,a);e(b,[{key:"copyToGPU",value:function(a){d(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"copyToGPU",this).call(this,a);this.vertexBuffer=c.a.fromData(a,this.vertexPositions,a.ARRAY_BUFFER,a.STATIC_DRAW)}},{key:"freeGPUMemory",value:function(a){d(b.prototype.__proto__|| +if(void 0!==a)return a.bind(),a}}]);return c}(f.a),l=function(a){function b(a,c){q(this,b);a=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,c));a.vertexPositions=c.vertexPositions;a.numPoints=Math.floor(a.vertexPositions.length/3);return a}n(b,a);e(b,[{key:"copyToGPU",value:function(a){c(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"copyToGPU",this).call(this,a);this.vertexBuffer=d.a.fromData(a,this.vertexPositions,a.ARRAY_BUFFER,a.STATIC_DRAW)}},{key:"freeGPUMemory",value:function(a){c(b.prototype.__proto__|| Object.getPrototypeOf(b.prototype),"freeGPUMemory",this).call(this,a);this.vertexBuffer.dispose()}}]);return b}(h.b),k=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);e(b,[{key:"getChunk",value:function(a){return new l(this,a)}},{key:"vectorGraphicsCoordinatesInVoxels",get:function(){return!0}}]);return b}(h.c)},function(h,f,a){function q(a,c){if("function"!==typeof c&&null!==c)throw new TypeError("Super expression must either be null or a function, not "+ -typeof c);a.prototype=Object.create(c&&c.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});c&&(Object.setPrototypeOf?Object.setPrototypeOf(a,c):a.__proto__=c)}Object.defineProperty(f,"__esModule",{value:!0});a.d(f,"OpenConnectomeDataSource",function(){return c});var p=a(152),n=["http://openconnecto.me","http://www.openconnecto.me"],c=function(a){function b(){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var a=(b.__proto__||Object.getPrototypeOf(b)).call(this, -"NDstore server hosted at openconnecto.me",n,p.a);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!a||"object"!==typeof a&&"function"!==typeof a?this:a}q(b,a);return b}(a(105).SingleServerDataSource)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&& -"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b){return a.getChunkSource(x,{parameters:b})}function b(a,b,c){return a.memoize.getUncounted({type:"precomputed:MultiscaleVolumeChunkSource",baseUrls:b, -path:c},function(){return Object(u.d)(Object(u.b)(b,c+"/info"),"json").then(function(d){return new z(a,b,c,d)})})}function d(a,b){var d=$jscomp.makeIterator(Object(u.c)(b));b=d.next().value;d=d.next().value;return c(a,{baseUrls:b,path:d,lod:0})}function e(a,c){var d=$jscomp.makeIterator(Object(u.c)(c));c=d.next().value;d=d.next().value;return b(a,c,d)}Object.defineProperty(f,"__esModule",{value:!0});a.d(f,"getMeshSource",function(){return d});a.d(f,"getVolume",function(){return e});a.d(f,"MultiscaleVolumeChunkSource", -function(){return z});f.getShardedMeshSource=c;f.getShardedVolume=b;a.d(f,"PrecomputedDataSource",function(){return D});var g=a(28);h=a(23);f=a(46);var l=a(277),k=a(54),t=a(26),m=a(33),r=a(2),u=a(62),v=a(4),w=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),y=function(a){function b(){q(this,b);return p(this, +typeof c);a.prototype=Object.create(c&&c.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});c&&(Object.setPrototypeOf?Object.setPrototypeOf(a,c):a.__proto__=c)}Object.defineProperty(f,"__esModule",{value:!0});a.d(f,"OpenConnectomeDataSource",function(){return d});var p=a(152),n=["http://openconnecto.me","http://www.openconnecto.me"],d=function(a){function b(){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var a=(b.__proto__||Object.getPrototypeOf(b)).call(this, +"NDstore server hosted at openconnecto.me",n,p.a);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!a||"object"!==typeof a&&"function"!==typeof a?this:a}q(b,a);return b}(a(106).SingleServerDataSource)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&& +"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function d(a,b){return a.getChunkSource(x,{parameters:b})}function b(a,b,c){return a.memoize.getUncounted({type:"precomputed:MultiscaleVolumeChunkSource",baseUrls:b, +path:c},function(){return Object(u.d)(Object(u.b)(b,c+"/info"),"json").then(function(d){return new z(a,b,c,d)})})}function c(a,b){var c=$jscomp.makeIterator(Object(u.c)(b));b=c.next().value;c=c.next().value;return d(a,{baseUrls:b,path:c,lod:0})}function e(a,c){var d=$jscomp.makeIterator(Object(u.c)(c));c=d.next().value;d=d.next().value;return b(a,c,d)}Object.defineProperty(f,"__esModule",{value:!0});a.d(f,"getMeshSource",function(){return c});a.d(f,"getVolume",function(){return e});a.d(f,"MultiscaleVolumeChunkSource", +function(){return z});f.getShardedMeshSource=d;f.getShardedVolume=b;a.d(f,"PrecomputedDataSource",function(){return D});var g=a(28);h=a(24);f=a(46);var l=a(277),k=a(54),t=a(26),m=a(33),r=a(2),u=a(63),v=a(4),w=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),y=function(a){function b(){q(this,b);return p(this, (b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);return b}(Object(h.f)(m.b,l.c)),x=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);return b}(Object(h.f)(k.c,l.a)),A=function G(a){q(this,G);Object(v.t)(a);this.resolution=Object(v.v)(a,"resolution",function(a){return Object(v.c)(r.s.create(),a,v.o)});this.voxelOffset=Object(v.v)(a,"voxel_offset",function(a){return Object(v.d)(r.s.create(),a)});this.size=Object(v.v)(a, "size",function(a){return Object(v.c)(r.s.create(),a,v.z)});this.chunkSizes=Object(v.v)(a,"chunk_sizes",function(a){return Object(v.a)(a,function(a){return Object(v.c)(r.s.create(),a,v.z)})});if(0===this.chunkSizes.length)throw Error("No chunk sizes specified.");(this.encoding=Object(v.v)(a,"encoding",function(a){return Object(v.m)(a,l.b)}))===l.b.COMPRESSED_SEGMENTATION&&(this.compressedSegmentationBlockSize=Object(v.v)(a,"compressed_segmentation_block_size",function(a){return Object(v.c)(r.s.create(), a,v.z)}));this.key=Object(v.v)(a,"key",v.A)},z=function(){function a(b,c,d,e){q(this,a);this.chunkManager=b;this.baseUrls=c;this.path=d;Object(v.t)(e);this.dataType=Object(v.v)(e,"data_type",function(a){return Object(v.m)(a,t.a)});this.numChannels=Object(v.v)(e,"num_channels",v.z);this.volumeType=Object(v.v)(e,"type",function(a){return Object(v.m)(a,t.c)});this.mesh=Object(v.v)(e,"mesh",v.y);this.scales=Object(v.v)(e,"scales",function(a){return Object(v.a)(a,function(a){return new A(a)})})}w(a,[{key:"getMeshSource", -value:function(){var a=this.mesh;return void 0===a?null:c(this.chunkManager,{baseUrls:this.baseUrls,path:this.path+"/"+a,lod:0})}},{key:"getSources",value:function(a){var b=this;return this.scales.map(function(c){return t.b.getDefaults({voxelSize:c.resolution,dataType:b.dataType,numChannels:b.numChannels,transform:r.k.fromTranslation(r.k.create(),r.s.multiply(r.s.create(),c.resolution,c.voxelOffset)),upperVoxelBound:c.size,volumeType:b.volumeType,chunkDataSizes:c.chunkSizes,baseVoxelOffset:c.voxelOffset, +value:function(){var a=this.mesh;return void 0===a?null:d(this.chunkManager,{baseUrls:this.baseUrls,path:this.path+"/"+a,lod:0})}},{key:"getSources",value:function(a){var b=this;return this.scales.map(function(c){return t.b.getDefaults({voxelSize:c.resolution,dataType:b.dataType,numChannels:b.numChannels,transform:r.k.fromTranslation(r.k.create(),r.s.multiply(r.s.create(),c.resolution,c.voxelOffset)),upperVoxelBound:c.size,volumeType:b.volumeType,chunkDataSizes:c.chunkSizes,baseVoxelOffset:c.voxelOffset, compressedSegmentationBlockSize:c.compressedSegmentationBlockSize,volumeSourceOptions:a}).map(function(a){return b.chunkManager.getChunkSource(y,{spec:a,parameters:{baseUrls:b.baseUrls,path:b.path+"/"+c.key,encoding:c.encoding}})})})}},{key:"getStaticAnnotations",value:function(){var a=this.scales[0],b=new g.b(r.k.fromScaling(r.k.create(),a.resolution));b.readonly=!0;b.add(Object(g.i)(a.voxelOffset,r.s.add(r.s.create(),a.voxelOffset,a.size)));return b}}]);return a}(),D=function(a){function b(){q(this, -b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);w(b,[{key:"getVolume",value:function(a,b){return e(a,b)}},{key:"getMeshSource",value:function(a,b){return d(a,b)}},{key:"description",get:function(){return"Precomputed file-backed data source"}}]);return b}(f.a)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); -return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b,c){return a.rpc.promiseInvoke(d.a,{chunkManager:a.addCounterpartRef(),url:b},c)}function b(a,b){return a.memoize.getUncounted({type:"nifti/getVolume", -url:b},function(){return c(a,b,l.e).then(function(c){return new r(a,b,c)})})}Object.defineProperty(f,"__esModule",{value:!0});a.d(f,"getVolume",function(){return b});a.d(f,"MultiscaleVolumeChunkSource",function(){return r});a.d(f,"NiftiDataSource",function(){return u});h=a(23);f=a(46);var d=a(279),e=a(26),g=a(33),l=a(32),k=a(2),t=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key, -d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),m=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);return b}(Object(h.f)(g.b,d.b)),r=function(){function a(b,c,d){q(this,a);this.chunkManager=b;this.url=c;this.info=d}t(a,[{key:"getSources",value:function(a){var b=this.info;a=e.b.withDefaultCompression({volumeType:b.volumeType,chunkDataSize:b.volumeSize,dataType:b.dataType,voxelSize:b.voxelSize,numChannels:b.numChannels, +b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);w(b,[{key:"getVolume",value:function(a,b){return e(a,b)}},{key:"getMeshSource",value:function(a,b){return c(a,b)}},{key:"description",get:function(){return"Precomputed file-backed data source"}}]);return b}(f.a)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); +return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function d(a,b,d){return a.rpc.promiseInvoke(c.a,{chunkManager:a.addCounterpartRef(),url:b},d)}function b(a,b){return a.memoize.getUncounted({type:"nifti/getVolume", +url:b},function(){return d(a,b,l.e).then(function(c){return new r(a,b,c)})})}Object.defineProperty(f,"__esModule",{value:!0});a.d(f,"getVolume",function(){return b});a.d(f,"MultiscaleVolumeChunkSource",function(){return r});a.d(f,"NiftiDataSource",function(){return u});h=a(24);f=a(46);var c=a(279),e=a(26),g=a(33),l=a(32),k=a(2),t=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key, +d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),m=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);return b}(Object(h.f)(g.b,c.b)),r=function(){function a(b,c,d){q(this,a);this.chunkManager=b;this.url=c;this.info=d}t(a,[{key:"getSources",value:function(a){var b=this.info;a=e.b.withDefaultCompression({volumeType:b.volumeType,chunkDataSize:b.volumeSize,dataType:b.dataType,voxelSize:b.voxelSize,numChannels:b.numChannels, upperVoxelBound:b.volumeSize,transform:Object(k.q)(k.k.create(),b.qoffset,b.quatern,k.g,b.qfac),volumeSourceOptions:a});return[[this.chunkManager.getChunkSource(m,{spec:a,parameters:{url:this.url}})]]}},{key:"getMeshSource",value:function(){return null}},{key:"numChannels",get:function(){return this.info.numChannels}},{key:"dataType",get:function(){return this.info.dataType}},{key:"volumeType",get:function(){return this.info.volumeType}}]);return a}(),u=function(a){function c(){q(this,c);return p(this, (c.__proto__||Object.getPrototypeOf(c)).apply(this,arguments))}n(c,a);t(c,[{key:"getVolume",value:function(a,c){return b(a,c)}},{key:"description",get:function(){return"Single NIfTI file"}}]);return c}(f.a)},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+ -typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a){return Object(e.b)(void 0===a?"void main() {\n emitGrayscale(toNormalized(getDataValue()));\n}\n":a)}f.c=n;a.d(f,"b",function(){return t});h=a(161);var c=a(56),b=a(162),d=a(4),e=a(55),g=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0; -"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),l=function r(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return r(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};f.a="//NEUROGLANCER_IMAGE_RENDERLAYER_FRAGMENT_MAIN_START";var k=a(104),t=function(a){function e(a,d){d=void 0===d?{}:d;if(!(this instanceof -e))throw new TypeError("Cannot call a class as a function");var g=q(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,a,d)),k=d;a=void 0===k.opacity?Object(c.a)(.5):k.opacity;d=void 0===k.blendMode?Object(b.c)():k.blendMode;k=void 0===k.fragmentMain?n():k.fragmentMain;g.fragmentMain=k;g.opacity=a;g.blendMode=d;g.registerDisposer(a.changed.add(function(){g.redrawNeeded.dispatch()}));g.registerDisposer(k.changed.add(function(){g.shaderGetter.invalidateShader();g.redrawNeeded.dispatch()}));return g} +typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a){return Object(e.b)(void 0===a?"void main() {\n emitGrayscale(toNormalized(getDataValue()));\n}\n":a)}f.c=n;a.d(f,"b",function(){return t});h=a(161);var d=a(56),b=a(162),c=a(4),e=a(55),g=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0; +"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),l=function r(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return r(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};f.a="//NEUROGLANCER_IMAGE_RENDERLAYER_FRAGMENT_MAIN_START";var k=a(105),t=function(a){function e(a,c){c=void 0===c?{}:c;if(!(this instanceof +e))throw new TypeError("Cannot call a class as a function");var g=q(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,a,c)),k=c;a=void 0===k.opacity?Object(d.a)(.5):k.opacity;c=void 0===k.blendMode?Object(b.c)():k.blendMode;k=void 0===k.fragmentMain?n():k.fragmentMain;g.fragmentMain=k;g.opacity=a;g.blendMode=c;g.registerDisposer(a.changed.add(function(){g.redrawNeeded.dispatch()}));g.registerDisposer(k.changed.add(function(){g.shaderGetter.invalidateShader();g.redrawNeeded.dispatch()}));return g} p(e,a);g(e,[{key:"getShaderKey",value:function(){return"volume.ImageRenderLayer:"+JSON.stringify(this.fragmentMain.value)}},{key:"defineShader",value:function(a){l(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"defineShader",this).call(this,a);a.addUniform("highp float","uOpacity");a.addFragmentCode("\nvoid emitRGBA(vec4 rgba) {\n emit(vec4(rgba.rgb, rgba.a * uOpacity));\n}\nvoid emitRGB(vec3 rgb) {\n emit(vec4(rgb, uOpacity));\n}\nvoid emitGrayscale(float value) {\n emit(vec4(value, value, value, uOpacity));\n}\nvoid emitTransparent() {\n emit(vec4(0.0, 0.0, 0.0, 0.0));\n}\n"); -a.addFragmentCode(k);a.setFragmentMainFunction("//NEUROGLANCER_IMAGE_RENDERLAYER_FRAGMENT_MAIN_START\n"+this.fragmentMain.value)}},{key:"beginSlice",value:function(a){a=l(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"beginSlice",this).call(this,a);if(void 0!==a)return this.gl.uniform1f(a.uniform("uOpacity"),this.opacity.value),a}},{key:"setGLBlendMode",value:function(a,c){var e=Object(d.m)(this.blendMode.value,b.b);if(e===b.b.ADDITIVE||0<c)a.enable(a.BLEND),b.a.get(e)(a)}}]);return e}(h.a)}, +a.addFragmentCode(k);a.setFragmentMainFunction("//NEUROGLANCER_IMAGE_RENDERLAYER_FRAGMENT_MAIN_START\n"+this.fragmentMain.value)}},{key:"beginSlice",value:function(a){a=l(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"beginSlice",this).call(this,a);if(void 0!==a)return this.gl.uniform1f(a.uniform("uOpacity"),this.opacity.value),a}},{key:"setGLBlendMode",value:function(a,d){var e=Object(c.m)(this.blendMode.value,b.b);if(e===b.b.ADDITIVE||0<d)a.enable(a.BLEND),b.a.get(e)(a)}}]);return e}(h.a)}, function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0, -configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return u});var c=a(30),b=a(39);h=a(142);f=a(75);var d=a(2),e=a(55),g=a(21),l=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),k=function w(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a, -b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return w(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},t=d.k.create(),m=d.s.create(),r=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);l(b,[{key:"defineShader",value:function(a){k(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"defineShader",this).call(this,a);a.addAttribute("highp float","aVertexIndexFloat");a.addUniform("highp vec3", +configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return u});var d=a(30),b=a(39);h=a(142);f=a(76);var c=a(2),e=a(55),g=a(21),l=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),k=function w(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a, +b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return w(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},t=c.k.create(),m=c.s.create(),r=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);l(b,[{key:"defineShader",value:function(a){k(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"defineShader",this).call(this,a);a.addAttribute("highp float","aVertexIndexFloat");a.addUniform("highp vec3", "uTranslation");a.addUniform("highp mat4","uProjectionMatrix");a.addUniform("highp vec3","uChunkDataSize");a.addUniform("highp vec3","uVoxelSize");a.addUniform("highp vec3","uLowerClipBound");a.addUniform("highp vec3","uUpperClipBound");a.addVarying("highp vec3","vChunkPosition");a.setVertexMain("\nvec3 chunkSize = uChunkDataSize * uVoxelSize;\nvec3 position = getBoundingBoxPlaneIntersectionVertexPosition(chunkSize, uTranslation, uLowerClipBound, uUpperClipBound, int(aVertexIndexFloat));\ngl_Position = uProjectionMatrix * vec4(position, 1.0);\nvChunkPosition = (position - uTranslation) / uVoxelSize +\n 0.001 * abs(uPlaneNormal);\n"); -a.addFragmentCode("\nvec3 getPositionWithinChunk () {\n return floor(min(vChunkPosition, uChunkDataSize - 1.0));\n}\n")}},{key:"computeVerticesDebug",value:function(a,b,c,e,g,k,l,f){a=d.s.multiply(d.s.create(),a,b);for(var m=d.s.create(),h=d.s.create(),t=d.s.fromValues(Math.abs(k[0]),Math.abs(k[1]),Math.abs(k[2])),r=0;6>r;++r){var n=this.computeVertexPositionDebug(a,c,e,g,k,l,r);if(void 0===n){console.log("no intersection found");break}d.s.transformMat4(m,n,f);d.s.sub(h,n,l);d.s.divide(h,h,b);d.s.scaleAndAdd(h, -h,t,.001);console.log("vertex "+r+", at "+m+", vChunkPosition = "+h)}}},{key:"beginSlice",value:function(a,b){a=b.attribute("aVertexIndexFloat");this.data.outputVertexIndices.bindToVertexAttrib(a,1)}},{key:"endSlice",value:function(a,b){b=b.attribute("aVertexIndexFloat");a.disableVertexAttribArray(b)}},{key:"beginSource",value:function(a,b,c,e,g,k){this.setViewportPlane(b,c.viewportAxes[2],c.centerDataPosition,k.invTransform);a.uniformMatrix4fv(b.uniform("uProjectionMatrix"),!1,d.k.multiply(t,e,k.transform)); +a.addFragmentCode("\nvec3 getPositionWithinChunk () {\n return floor(min(vChunkPosition, uChunkDataSize - 1.0));\n}\n")}},{key:"computeVerticesDebug",value:function(a,b,d,e,g,k,l,f){a=c.s.multiply(c.s.create(),a,b);for(var m=c.s.create(),h=c.s.create(),t=c.s.fromValues(Math.abs(k[0]),Math.abs(k[1]),Math.abs(k[2])),r=0;6>r;++r){var n=this.computeVertexPositionDebug(a,d,e,g,k,l,r);if(void 0===n){console.log("no intersection found");break}c.s.transformMat4(m,n,f);c.s.sub(h,n,l);c.s.divide(h,h,b);c.s.scaleAndAdd(h, +h,t,.001);console.log("vertex "+r+", at "+m+", vChunkPosition = "+h)}}},{key:"beginSlice",value:function(a,b){a=b.attribute("aVertexIndexFloat");this.data.outputVertexIndices.bindToVertexAttrib(a,1)}},{key:"endSlice",value:function(a,b){b=b.attribute("aVertexIndexFloat");a.disableVertexAttribArray(b)}},{key:"beginSource",value:function(a,b,d,e,g,k){this.setViewportPlane(b,d.viewportAxes[2],d.centerDataPosition,k.invTransform);a.uniformMatrix4fv(b.uniform("uProjectionMatrix"),!1,c.k.multiply(t,e,k.transform)); a.uniform3fv(b.uniform("uVoxelSize"),g.voxelSize);a.uniform3fv(b.uniform("uLowerClipBound"),g.lowerClipBound);a.uniform3fv(b.uniform("uUpperClipBound"),g.upperClipBound)}},{key:"setupChunkDataSize",value:function(a,b,c){a.uniform3fv(b.uniform("uChunkDataSize"),c)}},{key:"drawChunk",value:function(a,b,c){a.uniform3fv(b.uniform("uTranslation"),c);a.drawArrays(a.TRIANGLE_FAN,0,6)}}],[{key:"get",value:function(a){return a.memoize.get("volume.VolumeSliceVertexComputationManager",function(){return new b(a)})}}]); -return b}(h.a),u=function(a){function k(a,c){c=void 0===c?{}:c;q(this,k);var g=c,l=void 0===g.sourceOptions?{}:g.sourceOptions;g=g.shaderError;var f=p(this,(k.__proto__||Object.getPrototypeOf(k)).call(this,a.chunkManager,a.getSources(l),c));a=f.gl;f.shaderGetter=f.registerDisposer(new e.a(a,function(a){return f.defineShader(a)},function(){return f.getShaderKey()+"/"+f.chunkFormat.shaderKey},g));f.vertexComputationManager=r.get(a);c=Object(b.m)(f)[0][0];a=c.chunkLayout;c=c.source.spec;l=f.boundingBox= -new d.b(d.s.fromValues(Infinity,Infinity,Infinity),d.s.fromValues(-Infinity,-Infinity,-Infinity));g=d.s.create();for(var h=0;8>h;++h){for(var t=0;3>t;++t)m[t]=h&1<<t?c.upperClipBound[t]:c.lowerClipBound[t];a.localSpatialToGlobal(g,m);d.s.min(l.lower,l.lower,g);d.s.max(l.upper,l.upper,g)}return f}n(k,a);l(k,[{key:"getValueAt",value:function(a){for(var c=$jscomp.makeIterator(Object(b.m)(this)),d=c.next();!d.done;d=c.next()){d=$jscomp.makeIterator(d.value);for(var e=d.next();!e.done;e=d.next())if(e= +return b}(h.a),u=function(a){function k(a,d){d=void 0===d?{}:d;q(this,k);var g=d,l=void 0===g.sourceOptions?{}:g.sourceOptions;g=g.shaderError;var f=p(this,(k.__proto__||Object.getPrototypeOf(k)).call(this,a.chunkManager,a.getSources(l),d));a=f.gl;f.shaderGetter=f.registerDisposer(new e.a(a,function(a){return f.defineShader(a)},function(){return f.getShaderKey()+"/"+f.chunkFormat.shaderKey},g));f.vertexComputationManager=r.get(a);d=Object(b.m)(f)[0][0];a=d.chunkLayout;d=d.source.spec;l=f.boundingBox= +new c.b(c.s.fromValues(Infinity,Infinity,Infinity),c.s.fromValues(-Infinity,-Infinity,-Infinity));g=c.s.create();for(var h=0;8>h;++h){for(var t=0;3>t;++t)m[t]=h&1<<t?d.upperClipBound[t]:d.lowerClipBound[t];a.localSpatialToGlobal(g,m);c.s.min(l.lower,l.lower,g);c.s.max(l.upper,l.upper,g)}return f}n(k,a);l(k,[{key:"getValueAt",value:function(a){for(var c=$jscomp.makeIterator(Object(b.m)(this)),d=c.next();!d.done;d=c.next()){d=$jscomp.makeIterator(d.value);for(var e=d.next();!e.done;e=d.next())if(e= e.value,e=e.source.getValueAt(a,e.chunkLayout),null!=e)return e}return null}},{key:"getShaderKey",value:function(){return this.chunkFormat.shaderKey}},{key:"defineShader",value:function(a){this.vertexComputationManager.defineShader(a);a.addOutputBuffer("vec4","v4f_fragData0",0);a.addFragmentCode("\nvoid emit(vec4 color) {\n v4f_fragData0 = color;\n}\n");this.chunkFormat.defineShader(a);a.addFragmentCode("\n"+Object(g.a)(this.dataType)+" getDataValue() { return getDataValue(0); }\n")}},{key:"beginSlice", -value:function(a){a=this.gl;var b=this.shaderGetter.get();if(void 0!==b)return b.bind(),this.vertexComputationManager.beginSlice(a,b),b}},{key:"endSlice",value:function(a){this.vertexComputationManager.endSlice(this.gl,a)}},{key:"draw",value:function(a){var b=a.visibleLayers.get(this);if(0!==b.length){var e=this.gl,g=this.beginSlice(a);if(void 0!==g){var k=d.s.create(),l=this.vertexComputationManager,f=this.chunkFormat;f.beginDrawing(e,g);var m={};b=$jscomp.makeIterator(b);for(var h=b.next();!h.done;m= -{chunkDataSize:m.chunkDataSize},h=b.next()){h=h.value;var t=h.chunkLayout,r=h.source;h=r.chunks;var n=t.size;m.chunkDataSize=void 0;var p=a.visibleChunks.get(t);if(p){l.beginSource(e,g,a,a.dataToDevice,r.spec,t);t=r.chunkFormat;t.beginSource(e,g);r=function(a){return function(b){a.chunkDataSize=b;l.setupChunkDataSize(e,g,a.chunkDataSize)}}(m);p=$jscomp.makeIterator(p);for(var u=p.next();!u.done;u=p.next())if((u=h.get(u.value))&&u.state===c.d.GPU_MEMORY){var q=u.chunkDataSize;q!==m.chunkDataSize&& -r(q);d.s.multiply(k,n,u.chunkGridPosition);t.bindChunk(e,g,u);l.drawChunk(e,g,k)}}}f.endDrawing(e,g);this.endSlice(g)}}}},{key:"dataType",get:function(){return this.sources[0][0].spec.dataType}},{key:"chunkFormat",get:function(){return this.sources[0][0].chunkFormat}}]);return k}(f.a)},function(h,f,a){function q(a){if(Object(n.m)(a,c))return Object(n.A)(a);throw Error();}a.d(f,"b",function(){return c});f.c=function(a){return new p.c(void 0===a?"default":a,q)};var p=a(9),n=a(4),c;(function(a){a[a.DEFAULT= -0]="DEFAULT";a[a.ADDITIVE=1]="ADDITIVE"})(c||(c={}));h=new Map;f.a=h;h.set(c.DEFAULT,function(a){a.blendFunc(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA)});h.set(c.ADDITIVE,function(a){a.blendFunc(a.SRC_ALPHA,a.ONE)})},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a, +value:function(a){a=this.gl;var b=this.shaderGetter.get();if(void 0!==b)return b.bind(),this.vertexComputationManager.beginSlice(a,b),b}},{key:"endSlice",value:function(a){this.vertexComputationManager.endSlice(this.gl,a)}},{key:"draw",value:function(a){var b=a.visibleLayers.get(this);if(0!==b.length){var e=this.gl,g=this.beginSlice(a);if(void 0!==g){var k=c.s.create(),l=this.vertexComputationManager,f=this.chunkFormat;f.beginDrawing(e,g);var m={};b=$jscomp.makeIterator(b);for(var h=b.next();!h.done;m= +{chunkDataSize:m.chunkDataSize},h=b.next()){h=h.value;var t=h.chunkLayout,r=h.source;h=r.chunks;var n=t.size;m.chunkDataSize=void 0;var p=a.visibleChunks.get(t);if(p){l.beginSource(e,g,a,a.dataToDevice,r.spec,t);t=r.chunkFormat;t.beginSource(e,g);r=function(a){return function(b){a.chunkDataSize=b;l.setupChunkDataSize(e,g,a.chunkDataSize)}}(m);p=$jscomp.makeIterator(p);for(var u=p.next();!u.done;u=p.next())if((u=h.get(u.value))&&u.state===d.d.GPU_MEMORY){var q=u.chunkDataSize;q!==m.chunkDataSize&& +r(q);c.s.multiply(k,n,u.chunkGridPosition);t.bindChunk(e,g,u);l.drawChunk(e,g,k)}}}f.endDrawing(e,g);this.endSlice(g)}}}},{key:"dataType",get:function(){return this.sources[0][0].spec.dataType}},{key:"chunkFormat",get:function(){return this.sources[0][0].chunkFormat}}]);return k}(f.a)},function(h,f,a){function q(a){if(Object(n.m)(a,d))return Object(n.A)(a);throw Error();}a.d(f,"b",function(){return d});f.c=function(a){return new p.c(void 0===a?"default":a,q)};var p=a(9),n=a(4),d;(function(a){a[a.DEFAULT= +0]="DEFAULT";a[a.ADDITIVE=1]="ADDITIVE"})(d||(d={}));h=new Map;f.a=h;h.set(d.DEFAULT,function(a){a.blendFunc(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA)});h.set(d.ADDITIVE,function(a){a.blendFunc(a.SRC_ALPHA,a.ONE)})},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a, b):a.__proto__=b)}function p(a){return function(a){function e(){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");var a=(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!a||"object"!==typeof a&&"function"!==typeof a?this:a}q(e,a);l(e,[{key:"restoreState",value:function(a){var l=this;k(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"restoreState", -this).call(this,a);a=this.volumePath=Object(g.v)(a,"source",g.y);void 0!==a&&(this.multiscaleSource=Object(b.d)(this.manager.dataSourceProvider,this.manager.chunkManager,a,this.volumeOptions)).then(function(a){l.wasDisposed||(a=a.getStaticAnnotations&&a.getStaticAnnotations(),void 0!==a&&(l.annotationLayerState.value=new n.b(Object.assign({transform:l.transform,source:a,role:c.g.DEFAULT_ANNOTATION},Object(d.b)(l)))))})}},{key:"toJSON",value:function(){var a=k(e.prototype.__proto__||Object.getPrototypeOf(e.prototype), -"toJSON",this).call(this);a.source=this.volumePath;return a}}]);return e}(a)}f.a=function(a){return p(Object(d.a)(Object(e.a)(a)))};var n=a(72),c=a(18),b=a(27),d=a(107),e=a(110),g=a(4),l=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),k=function m(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a, +this).call(this,a);a=this.volumePath=Object(g.v)(a,"source",g.y);void 0!==a&&(this.multiscaleSource=Object(b.d)(this.manager.dataSourceProvider,this.manager.chunkManager,a,this.volumeOptions)).then(function(a){l.wasDisposed||(a=a.getStaticAnnotations&&a.getStaticAnnotations(),void 0!==a&&(l.annotationLayerState.value=new n.b(Object.assign({transform:l.transform,source:a,role:d.g.DEFAULT_ANNOTATION},Object(c.b)(l)))))})}},{key:"toJSON",value:function(){var a=k(e.prototype.__proto__||Object.getPrototypeOf(e.prototype), +"toJSON",this).call(this);a.source=this.volumePath;return a}}]);return e}(a)}f.a=function(a){return p(Object(c.a)(Object(e.a)(a)))};var n=a(73),d=a(18),b=a(27),c=a(108),e=a(111),g=a(4),l=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),k=function m(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a, b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return m(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}}},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function p(a){if(void 0=== -a[3]||1===a[3]){for(var c="#",d=0;3>d;++d)c+=Object(b.c)(Math.min(255,Math.max(0,Math.round(255*a[d]))));return c}c="rgba(";for(d=0;3>d;++d)0!==d&&(c+=", "),c+=Math.min(255,Math.max(0,Math.round(255*a[d])));return c+=", "+Object(n.a)(a[3])+")"}a.d(f,"a",function(){return e});h=a(9);var n=a(165),c=a(2),b=a(166),d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b, -c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),e=function(a){function b(a){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var d=(b.__proto__||Object.getPrototypeOf(b)).call(this,c.s.clone(a));if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");d=!d||"object"!==typeof d&&"function"!==typeof d?this:d;d.defaultValue=a;return d}q(b,a);d(b,[{key:"toString",value:function(){return p(this.value)}},{key:"toJSON",value:function(){if(!c.s.equals(this.value, -this.defaultValue))return p(this.value)}},{key:"reset",value:function(){this.value=c.s.clone(this.defaultValue)}},{key:"restoreState",value:function(a){if(void 0===a)this.reset();else{var b=this.value;try{if("string"!==typeof a)throw Error("Expected string, but received "+JSON.stringify(a)+".");var d=document.createElement("canvas").getContext("2d");d.fillStyle=a;var e=d.fillStyle,g=e.match(/^rgba\(([0-9]+), ([0-9]+), ([0-9]+), (0(?:\.[0-9]+)?)\)$/);if(null!==g)var k=[parseInt(g[1],10),parseInt(g[2], -10),parseInt(g[3],10),parseFloat(g[4])];else{var l=e.match(/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/);if(null!==l)k=[parseInt(l[1],16),parseInt(l[2],16),parseInt(l[3],16),1];else throw Error("Invalid serialized color: "+JSON.stringify(e)+".");}a=k;var f=c.u.fromValues(a[0]/255,a[1]/255,a[2]/255,a[3])}catch(x){throw Error("Failed to parse color specification: "+x.message);}f=f.subarray(0,3);c.s.equals(b,f)||(this.value=f)}}}]);return b}(h.f)},function(h,f,a){f.a=function(a){a=q[0]=a;for(var f=0;9> -f;++f){var c=a.toFixed(f);q[0]=parseFloat(c);if(q[0]===a)return c}return a.toString()};var q=new Float32Array(1)},function(h,f,a){function q(a){return("0"+a.toString(16)).slice(-2)}f.c=q;f.b=function(a){return Array.prototype.map.call(a,q).join("")};f.a=function(a){if(!/^(?:[0-9a-fA-F]{2})*$/.test(a))throw Error("Invalid hex-encoded string");for(var f=a.length/2,c=new Uint8Array(f),b=0;b<f;++b)c[b]=parseInt(a.substr(2*b,2),16);return c}},function(h,f,a){function q(a){var b=Object(n.d)(a);return(a/ -b.lengthInNanometers).toPrecision(3)+"\u202f"+b.unit}f.c=function(a){return"("+Math.floor(a[0])+", "+Math.floor(a[1])+", "+Math.floor(a[2])+")"};f.b=function(a){for(var b="",c=0;3>c;++c)0!==c&&(b+=" \u00d7 "),b+=Math.round(Math.abs(a[c]));return b};f.d=q;f.a=function(a,b,d){for(var c="",g=p.s.create(),l=0;3>l;++l){p.s.set(g,0,0,0);g[l]=b[l]-a[l];var k=Object(p.p)(g,g,d);k=p.s.length(k);0!==l&&(c+=" \u00d7 ");c+=q(k)}a=Math.abs(Object(p.l)(p.s.subtract(g,b,a)));d=p.i.determinant(p.i.fromMat4(p.i.create(), -d));c+=" [";d*=a;a=Object(n.e)(d);d=(d/Math.pow(a.lengthInNanometers,3)).toPrecision(6)+"\u202f"+a.unit+"\u00b3";return c+d+"]"};var p=a(2),n=a(53)},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype, -{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return g});h=a(1);var n=a(8),c=a(7),b=a(14),d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),e=function k(a,b,c){null===a&&(a=Function.prototype);var d= +a[3]||1===a[3]){for(var c="#",d=0;3>d;++d)c+=Object(b.c)(Math.min(255,Math.max(0,Math.round(255*a[d]))));return c}c="rgba(";for(d=0;3>d;++d)0!==d&&(c+=", "),c+=Math.min(255,Math.max(0,Math.round(255*a[d])));return c+=", "+Object(n.a)(a[3])+")"}a.d(f,"a",function(){return e});h=a(9);var n=a(165),d=a(2),b=a(166),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b, +c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),e=function(a){function b(a){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var c=(b.__proto__||Object.getPrototypeOf(b)).call(this,d.s.clone(a));if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");c=!c||"object"!==typeof c&&"function"!==typeof c?this:c;c.defaultValue=a;return c}q(b,a);c(b,[{key:"toString",value:function(){return p(this.value)}},{key:"toJSON",value:function(){if(!d.s.equals(this.value, +this.defaultValue))return p(this.value)}},{key:"reset",value:function(){this.value=d.s.clone(this.defaultValue)}},{key:"restoreState",value:function(a){if(void 0===a)this.reset();else{var b=this.value;try{if("string"!==typeof a)throw Error("Expected string, but received "+JSON.stringify(a)+".");var c=document.createElement("canvas").getContext("2d");c.fillStyle=a;var e=c.fillStyle,g=e.match(/^rgba\(([0-9]+), ([0-9]+), ([0-9]+), (0(?:\.[0-9]+)?)\)$/);if(null!==g)var k=[parseInt(g[1],10),parseInt(g[2], +10),parseInt(g[3],10),parseFloat(g[4])];else{var l=e.match(/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/);if(null!==l)k=[parseInt(l[1],16),parseInt(l[2],16),parseInt(l[3],16),1];else throw Error("Invalid serialized color: "+JSON.stringify(e)+".");}a=k;var f=d.u.fromValues(a[0]/255,a[1]/255,a[2]/255,a[3])}catch(x){throw Error("Failed to parse color specification: "+x.message);}f=f.subarray(0,3);d.s.equals(b,f)||(this.value=f)}}}]);return b}(h.f)},function(h,f,a){f.a=function(a){a=q[0]=a;for(var f=0;9> +f;++f){var d=a.toFixed(f);q[0]=parseFloat(d);if(q[0]===a)return d}return a.toString()};var q=new Float32Array(1)},function(h,f,a){function q(a){return("0"+a.toString(16)).slice(-2)}f.c=q;f.b=function(a){return Array.prototype.map.call(a,q).join("")};f.a=function(a){if(!/^(?:[0-9a-fA-F]{2})*$/.test(a))throw Error("Invalid hex-encoded string");for(var f=a.length/2,d=new Uint8Array(f),b=0;b<f;++b)d[b]=parseInt(a.substr(2*b,2),16);return d}},function(h,f,a){function q(a){var b=Object(n.d)(a);return(a/ +b.lengthInNanometers).toPrecision(3)+"\u202f"+b.unit}f.c=function(a){return"("+Math.floor(a[0])+", "+Math.floor(a[1])+", "+Math.floor(a[2])+")"};f.b=function(a){for(var b="",c=0;3>c;++c)0!==c&&(b+=" \u00d7 "),b+=Math.round(Math.abs(a[c]));return b};f.d=q;f.a=function(a,b,c){for(var d="",g=p.s.create(),l=0;3>l;++l){p.s.set(g,0,0,0);g[l]=b[l]-a[l];var k=Object(p.p)(g,g,c);k=p.s.length(k);0!==l&&(d+=" \u00d7 ");d+=q(k)}a=Math.abs(Object(p.l)(p.s.subtract(g,b,a)));c=p.i.determinant(p.i.fromMat4(p.i.create(), +c));d+=" [";c*=a;a=Object(n.e)(c);c=(c/Math.pow(a.lengthInNanometers,3)).toPrecision(6)+"\u202f"+a.unit+"\u00b3";return d+c+"]"};var p=a(2),n=a(53)},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype, +{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return g});h=a(1);var n=a(8),d=a(7),b=a(14),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),e=function k(a,b,c){null===a&&(a=Function.prototype);var d= Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return k(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(45);a(288);var g=function(a){function g(){if(!(this instanceof g))throw new TypeError("Cannot call a class as a function");var a=q(this,(g.__proto__||Object.getPrototypeOf(g)).call(this));a.element=document.createElement("form");a.label=document.createElement("label");a.input=document.createElement("input");a.valuesEntered= -new c.b;var b=a.element,d=a.label,e=a.input;b.className="uint64-entry neuroglancer-noselect";b.appendChild(d);d.appendChild(e);a.registerEventListener(b,"submit",function(b){b.preventDefault();b=a.validateInput();void 0!==b&&(a.input.value="",a.input.classList.remove("valid-input","invalid-input"),a.valuesEntered.dispatch(b))});a.registerEventListener(b,"input",function(){""===a.input.value?a.input.classList.remove("valid-input","invalid-input"):a.validateInput()?a.input.classList.remove("invalid-input"): -a.input.classList.add("invalid-input")});return a}p(g,a);d(g,[{key:"validateInput",value:function(){var a=this.input.value;a=a.replace(/[\s,\(\)\[\]\{\};]+/g," ");a=a.trim();var c=a.split(" ");if(0!==c.length){a=[];c=$jscomp.makeIterator(c);for(var d=c.next();!d.done;d=c.next()){d=d.value;var e=new b.a;if(!e.tryParseString(d))return;a.push(e)}return a}}},{key:"disposed",value:function(){Object(n.b)(this.element);e(g.prototype.__proto__||Object.getPrototypeOf(g.prototype),"disposed",this).call(this)}}]); -return g}(h.a)},function(h,f){},function(h,f){},function(h,f){},function(h,f){},function(h,f,a){f.a=function(a){return new q.c(void 0===a?1:a,p.n)};var q=a(9),p=a(4)},function(h,f,a){f.a=function(a){a=void 0===a?q.s.create():a;return new b(a,a)};var q=a(2),p=a(4),n=a(7),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d); -return b}}(),b=function(){function a(b,c){if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");this.value_=b;this.defaultValue=c;this.changed=new n.a}c(a,[{key:"toJSON",value:function(){if(this.value_!==this.defaultValue)return this.value_.toString()}},{key:"restoreState",value:function(a){try{this.value=Object(p.k)(a.split(","))}catch(g){this.value=this.defaultValue}}},{key:"reset",value:function(){this.value=this.defaultValue}},{key:"value",get:function(){return this.value_}, +new d.b;var b=a.element,c=a.label,e=a.input;b.className="uint64-entry neuroglancer-noselect";b.appendChild(c);c.appendChild(e);a.registerEventListener(b,"submit",function(b){b.preventDefault();b=a.validateInput();void 0!==b&&(a.input.value="",a.input.classList.remove("valid-input","invalid-input"),a.valuesEntered.dispatch(b))});a.registerEventListener(b,"input",function(){""===a.input.value?a.input.classList.remove("valid-input","invalid-input"):a.validateInput()?a.input.classList.remove("invalid-input"): +a.input.classList.add("invalid-input")});return a}p(g,a);c(g,[{key:"validateInput",value:function(){var a=this.input.value;a=a.replace(/[\s,\(\)\[\]\{\};]+/g," ");a=a.trim();var c=a.split(" ");if(0!==c.length){a=[];c=$jscomp.makeIterator(c);for(var d=c.next();!d.done;d=c.next()){d=d.value;var e=new b.a;if(!e.tryParseString(d))return;a.push(e)}return a}}},{key:"disposed",value:function(){Object(n.b)(this.element);e(g.prototype.__proto__||Object.getPrototypeOf(g.prototype),"disposed",this).call(this)}}]); +return g}(h.a)},function(h,f){},function(h,f){},function(h,f){},function(h,f){},function(h,f,a){f.a=function(a){return new q.c(void 0===a?1:a,p.n)};var q=a(9),p=a(4)},function(h,f,a){f.a=function(a){a=void 0===a?q.s.create():a;return new b(a,a)};var q=a(2),p=a(4),n=a(7),d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d); +return b}}(),b=function(){function a(b,c){if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");this.value_=b;this.defaultValue=c;this.changed=new n.a}d(a,[{key:"toJSON",value:function(){if(this.value_!==this.defaultValue)return this.value_.toString()}},{key:"restoreState",value:function(a){try{this.value=Object(p.k)(a.split(","))}catch(g){this.value=this.defaultValue}}},{key:"reset",value:function(){this.value=this.defaultValue}},{key:"value",get:function(){return this.value_}, set:function(a){a!==this.value_&&(this.value_=a,this.changed.dispatch())}}]);return a}()},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}); -b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}a.d(f,"a",function(){return r});var c=a(65),b=a(114),d=a(112),e=a(63);h=a(161);var g=a(21),l=function v(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return v(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},k= -function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),t=new Float32Array(8),m=function(){function a(b){n(this,a);this.disjointSets=b;this.generation=Number.NaN;this.hashMap=new c.a}k(a,[{key:"update",value:function(){var a=this.disjointSets,b=a.generation;if(this.generation!==b){this.generation=b;b=this.hashMap; -b.clear();a=$jscomp.makeIterator(a.mappings());for(var c=a.next();!c.done;c=a.next()){var d=$jscomp.makeIterator(c.value);c=d.next().value;d=d.next().value;b.set(c,d)}}}}]);return a}(),r=function(a){function c(a,g){n(this,c);var k=q(this,(c.__proto__||Object.getPrototypeOf(c)).call(this,a,{sourceOptions:g.volumeSourceOptions,transform:g.objectToDataTransform}));k.displayState=g;k.segmentColorShaderManager=new d.b("segmentColorHash");k.hashTableManager=new b.c("visibleSegments");k.gpuHashTable=b.a.get(k.gl, +b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}a.d(f,"a",function(){return r});var d=a(66),b=a(115),c=a(113),e=a(64);h=a(161);var g=a(21),l=function v(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return v(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},k= +function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),t=new Float32Array(8),m=function(){function a(b){n(this,a);this.disjointSets=b;this.generation=Number.NaN;this.hashMap=new d.a}k(a,[{key:"update",value:function(){var a=this.disjointSets,b=a.generation;if(this.generation!==b){this.generation=b;b=this.hashMap; +b.clear();a=$jscomp.makeIterator(a.mappings());for(var c=a.next();!c.done;c=a.next()){var d=$jscomp.makeIterator(c.value);c=d.next().value;d=d.next().value;b.set(c,d)}}}}]);return a}(),r=function(a){function d(a,g){n(this,d);var k=q(this,(d.__proto__||Object.getPrototypeOf(d)).call(this,a,{sourceOptions:g.volumeSourceOptions,transform:g.objectToDataTransform}));k.displayState=g;k.segmentColorShaderManager=new c.b("segmentColorHash");k.hashTableManager=new b.c("visibleSegments");k.gpuHashTable=b.a.get(k.gl, k.displayState.visibleSegments.hashTable);k.hashTableManagerHighlighted=new b.c("highlightedSegments");k.gpuHashTableHighlighted=b.a.get(k.gl,k.displayState.highlightedSegments.hashTable);k.equivalencesShaderManager=new b.b("equivalences");k.equivalencesHashMap=new m(k.displayState.segmentEquivalences.disjointSets);k.gpuEquivalencesHashTable=b.a.get(k.gl,k.equivalencesHashMap.hashMap);Object(e.g)(g,k);k.registerDisposer(g.selectedAlpha.changed.add(function(){k.redrawNeeded.dispatch()}));k.registerDisposer(g.hideSegmentZero.changed.add(function(){k.redrawNeeded.dispatch(); -k.shaderGetter.invalidateShader()}));k.hasEquivalences=0!==k.displayState.segmentEquivalences.size;g.segmentEquivalences.changed.add(function(){var a=0!==k.displayState.segmentEquivalences.size;a!==k.hasEquivalences&&(k.hasEquivalences=a,k.shaderGetter.invalidateShader())});k.registerDisposer(g.notSelectedAlpha.changed.add(function(){k.redrawNeeded.dispatch()}));return k}p(c,a);k(c,[{key:"getShaderKey",value:function(){return"sliceview.SegmentationRenderLayer/"+this.hasEquivalences+"/"+this.displayState.hideSegmentZero.value}}, -{key:"defineShader",value:function(a){l(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"defineShader",this).call(this,a);this.hashTableManager.defineShader(a);this.hashTableManagerHighlighted.defineShader(a);a.addFragmentCode("\nuint64_t getUint64DataValue() {\n return toUint64(getDataValue());\n}\n");this.hasEquivalences?(this.equivalencesShaderManager.defineShader(a),a.addFragmentCode("\nuint64_t getMappedObjectId() {\n uint64_t value = getUint64DataValue();\n uint64_t mappedValue;\n if ("+ +k.shaderGetter.invalidateShader()}));k.hasEquivalences=0!==k.displayState.segmentEquivalences.size;g.segmentEquivalences.changed.add(function(){var a=0!==k.displayState.segmentEquivalences.size;a!==k.hasEquivalences&&(k.hasEquivalences=a,k.shaderGetter.invalidateShader())});k.registerDisposer(g.notSelectedAlpha.changed.add(function(){k.redrawNeeded.dispatch()}));return k}p(d,a);k(d,[{key:"getShaderKey",value:function(){return"sliceview.SegmentationRenderLayer/"+this.hasEquivalences+"/"+this.displayState.hideSegmentZero.value}}, +{key:"defineShader",value:function(a){l(d.prototype.__proto__||Object.getPrototypeOf(d.prototype),"defineShader",this).call(this,a);this.hashTableManager.defineShader(a);this.hashTableManagerHighlighted.defineShader(a);a.addFragmentCode("\nuint64_t getUint64DataValue() {\n return toUint64(getDataValue());\n}\n");this.hasEquivalences?(this.equivalencesShaderManager.defineShader(a),a.addFragmentCode("\nuint64_t getMappedObjectId() {\n uint64_t value = getUint64DataValue();\n uint64_t mappedValue;\n if ("+ this.equivalencesShaderManager.getFunctionName+"(value, mappedValue)) {\n return mappedValue;\n }\n return value;\n}\n")):a.addFragmentCode("\nuint64_t getMappedObjectId() {\n return getUint64DataValue();\n}\n");this.segmentColorShaderManager.defineShader(a);a.addUniform("highp vec4","uSelectedSegment",2);a.addUniform("highp float","uShowAllSegments");a.addUniform("highp float","uSelectedAlpha");a.addUniform("highp float","uNotSelectedAlpha");a.addUniform("highp float","uSaturation");a.addFragmentCode(g.q); var b="\n uint64_t value = getMappedObjectId();\n\n float alpha = uSelectedAlpha;\n float saturation = uSaturation;\n";this.displayState.hideSegmentZero.value&&(b+="\n if (value.low == vec4(0,0,0,0) && value.high == vec4(0,0,0,0)) {\n emit(vec4(vec4(0, 0, 0, 0)));\n return;\n }\n");b+="\n bool has = uShowAllSegments > 0.0 ? true : "+this.hashTableManager.hasFunctionName+"(value);\n if (uSelectedSegment[0] == unnormalizeUint8(value.low) &&\n uSelectedSegment[1] == unnormalizeUint8(value.high)) {\n saturation = has ? 0.5 : 0.75;\n } else if (!has) {\n alpha = uNotSelectedAlpha;\n }\n vec3 rgb = segmentColorHash(value);\n "; -b+="\n if("+this.hashTableManagerHighlighted.hasFunctionName+"(value)) {\n rgb = vec3(0.2,0.2,2.0);\n saturation = 1.0;\n };\n";a.setFragmentMain(b+"\n emit(vec4(mix(vec3(1.0,1.0,1.0), rgb, saturation), alpha));\n")}},{key:"beginSlice",value:function(a){a=l(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"beginSlice",this).call(this,a);if(void 0!==a){var b=this.gl,d=this.displayState,e=this.displayState,g=e.segmentSelectionState;e=e.visibleSegments;if(g.hasSelectedSegment){var k= +b+="\n if("+this.hashTableManagerHighlighted.hasFunctionName+"(value)) {\n rgb = vec3(0.2,0.2,2.0);\n saturation = 1.0;\n };\n";a.setFragmentMain(b+"\n emit(vec4(mix(vec3(1.0,1.0,1.0), rgb, saturation), alpha));\n")}},{key:"beginSlice",value:function(a){a=l(d.prototype.__proto__||Object.getPrototypeOf(d.prototype),"beginSlice",this).call(this,a);if(void 0!==a){var b=this.gl,c=this.displayState,e=this.displayState,g=e.segmentSelectionState;e=e.visibleSegments;if(g.hasSelectedSegment){var k= g.selectedSegment;g=k.low;k=k.high;for(var f=0;4>f;++f)t[f]=g>>8*f&255,t[4+f]=k>>8*f&255}else t.fill(0);b.uniform1f(a.uniform("uSelectedAlpha"),this.displayState.selectedAlpha.value);b.uniform1f(a.uniform("uSaturation"),this.displayState.saturation.value);b.uniform1f(a.uniform("uNotSelectedAlpha"),this.displayState.notSelectedAlpha.value);b.uniform4fv(a.uniform("uSelectedSegment"),t);b.uniform1f(a.uniform("uShowAllSegments"),e.hashTable.size?0:1);this.hashTableManager.enable(b,a,this.gpuHashTable); -this.hashTableManagerHighlighted.enable(b,a,this.gpuHashTableHighlighted);this.hasEquivalences&&(this.equivalencesHashMap.update(),this.equivalencesShaderManager.enable(b,a,this.gpuEquivalencesHashTable));this.segmentColorShaderManager.enable(b,a,d.segmentColorHash);return a}}},{key:"endSlice",value:function(a){var b=this.gl;this.hashTableManager.disable(b,a);this.hashTableManagerHighlighted.disable(b,a);l(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"endSlice",this).call(this,a)}}]); -return c}(h.a)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1, -writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a){return a.split(/[^a-zA-Z0-9]+/).filter(function(a){return a}).join("_")}function b(a){var b=new Set,d=[];a=$jscomp.makeIterator(a);for(var e=a.next();!e.done;e=a.next()){e=c(e.value);for(var g="",k=0;b.has(e+g);)g=""+ ++k;d.push(e+g)}return d}function d(a){return new v.a({fragmentMain:a.displayState.fragmentMain,shaderError:a.displayState.shaderError,fragmentMainStartLine:k.a})}function e(a){return new z(a.displayState.attributeNames, -function(){return a.meshSource&&a.meshSource.info.vertexAttributes})}Object.defineProperty(f,"__esModule",{value:!0});a.d(f,"SingleMeshUserLayer",function(){return A});h=a(10);var g=a.n(h);h=a(18);f=a(27);var l=a(47),k=a(115),t=a(110),m=a(1),r=a(8),u=a(4),v=a(111),w=a(40),y=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b, +this.hashTableManagerHighlighted.enable(b,a,this.gpuHashTableHighlighted);this.hasEquivalences&&(this.equivalencesHashMap.update(),this.equivalencesShaderManager.enable(b,a,this.gpuEquivalencesHashTable));this.segmentColorShaderManager.enable(b,a,c.segmentColorHash);return a}}},{key:"endSlice",value:function(a){var b=this.gl;this.hashTableManager.disable(b,a);this.hashTableManagerHighlighted.disable(b,a);l(d.prototype.__proto__||Object.getPrototypeOf(d.prototype),"endSlice",this).call(this,a)}}]); +return d}(h.a)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1, +writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function d(a){return a.split(/[^a-zA-Z0-9]+/).filter(function(a){return a}).join("_")}function b(a){var b=new Set,c=[];a=$jscomp.makeIterator(a);for(var e=a.next();!e.done;e=a.next()){e=d(e.value);for(var g="",k=0;b.has(e+g);)g=""+ ++k;c.push(e+g)}return c}function c(a){return new v.a({fragmentMain:a.displayState.fragmentMain,shaderError:a.displayState.shaderError,fragmentMainStartLine:k.a})}function e(a){return new z(a.displayState.attributeNames, +function(){return a.meshSource&&a.meshSource.info.vertexAttributes})}Object.defineProperty(f,"__esModule",{value:!0});a.d(f,"SingleMeshUserLayer",function(){return A});h=a(10);var g=a.n(h);h=a(18);f=a(27);var l=a(47),k=a(116),t=a(111),m=a(1),r=a(8),u=a(4),v=a(112),w=a(40),y=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b, d);return b}}(),x=function C(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return C(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(304);var A=function(a){function c(a,d){q(this,c);var e=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this,a,d));e.manager=a;e.displayState=new k.b;e.displayState.objectToDataTransform=e.transform;e.parameters={meshSourceUrl:Object(u.v)(d, "source",u.A),attributeSourceUrls:Object(u.v)(d,"vertexAttributeSources",function(a){return void 0!==a?Object(u.a)(a,u.A):[]})};e.displayState.fragmentMain.restoreState(d.shader);e.userSpecifiedAttributeNames=Object(u.v)(d,"vertexAttributeNames",function(a){if(void 0!==a)return Object(u.a)(a,function(a){if(a=Object(u.y)(a))return a})});Object(k.f)(a.chunkManager,e.parameters).then(function(a){if(!e.wasDisposed){e.meshSource=a;var c=e.defaultAttributeNames=b(a.info.vertexAttributes.map(function(a){return a.name})), d=e.userSpecifiedAttributeNames;void 0!==d&&d.length===c.length?(c=d,e.userSpecifiedAttributeNames=void 0):c=Array.from(c);e.displayState.attributeNames.value=c;e.addRenderLayer(new k.c(a,e.displayState));e.isReady=!0}});e.registerDisposer(e.displayState.fragmentMain.changed.add(function(){e.specificationChanged.dispatch()}));e.registerDisposer(e.displayState.attributeNames.changed.add(function(){e.specificationChanged.dispatch()}));e.tabs.add("rendering",{label:"Rendering",order:-100,getter:function(){return new D(e)}}); @@ -1429,96 +1429,96 @@ e.tabs.default="rendering";return e}n(c,a);y(c,[{key:"toJSON",value:function(){v k=0;k<g;++k)if(d[k]!==b[k]){e=!1;break}b=e?void 0:Array.from(d)}a.vertexAttributeNames=b;return a}}]);return c}(Object(t.a)(h.i)),z=function(a){function b(a,c){q(this,b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.attributeNames=a;d.getAttributeInfo=c;d.element=document.createElement("div");d.debouncedValueUpdater=g()(function(){d.updateAttributeNames()},500);d.element.className="neuroglancer-single-mesh-attribute-widget";d.updateInputElements();d.registerDisposer(a.changed.add(function(){d.updateInputElements()})); return d}n(b,a);y(b,[{key:"updateInputElements",value:function(){var a=this.attributeNames,b=this.attributeNameElements;if(void 0===b){var c=this.getAttributeInfo();if(void 0===c)return;b=this.attributeNameElements=[];for(var d=void 0,e=a.value.length,g=this.element,l=0;l<e;++l){var f=c[l],m=f.source;if(m!==d&&void 0!==m){d=m;var h=document.createElement("div");h.className="neuroglancer-single-mesh-source-header";h.textContent=m;g.appendChild(h)}m=document.createElement("div");m.className="neuroglancer-single-mesh-attribute"; h=document.createElement("input");h.title=f.name;this.registerEventListener(h,"input",this.debouncedValueUpdater);h.type="text";m.textContent=Object(k.e)(f);m.appendChild(h);if(void 0!==f.min&&void 0!==f.max){var t=document.createElement("span");t.className="neuroglancer-single-mesh-attribute-range";t.textContent="["+f.min.toPrecision(6)+", "+f.max.toPrecision(6)+"]";m.appendChild(t)}b[l]=h;g.appendChild(m)}}a.value.forEach(function(a,c){b[c].value=a||""})}},{key:"disposed",value:function(){Object(r.b)(this.element)}}, -{key:"updateAttributeNames",value:function(){var a=this.attributeNames.value,b=this.attributeNameElements,c=!1;a.forEach(function(d,e){var g=b[e].value;g||(g=void 0);g!==d&&(c=!0,a[e]=g)});c&&this.attributeNames.changed.dispatch()}}]);return b}(m.a),D=function(a){function b(a){q(this,b);var c=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.layer=a;c.attributeWidget=c.registerDisposer(e(c.layer));c.codeWidget=c.registerDisposer(d(c.layer));a=c.element;a.classList.add("neuroglancer-single-mesh-dropdown"); +{key:"updateAttributeNames",value:function(){var a=this.attributeNames.value,b=this.attributeNameElements,c=!1;a.forEach(function(d,e){var g=b[e].value;g||(g=void 0);g!==d&&(c=!0,a[e]=g)});c&&this.attributeNames.changed.dispatch()}}]);return b}(m.a),D=function(a){function b(a){q(this,b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.layer=a;d.attributeWidget=d.registerDisposer(e(d.layer));d.codeWidget=d.registerDisposer(c(d.layer));a=d.element;a.classList.add("neuroglancer-single-mesh-dropdown"); var g=document.createElement("div");g.className="neuroglancer-single-mesh-dropdown-top-row";var k=document.createElement("div");k.style.flex="1";var l=document.createElement("a"),f=document.createElement("button");f.type="button";f.textContent="?";f.className="help-link";l.appendChild(f);l.title="Documentation on single mesh layer rendering";l.target="_blank";l.href="https://github.com/google/neuroglancer/blob/master/src/neuroglancer/sliceview/image_layer_rendering.md";f=document.createElement("button"); -f.innerHTML="□";f.className="maximize-button";f.title="Show larger editor view";c.registerEventListener(f,"click",function(){new E(c.layer)});g.appendChild(k);g.appendChild(f);g.appendChild(l);a.appendChild(g);a.appendChild(c.attributeWidget.element);a.appendChild(c.codeWidget.element);c.codeWidget.textEditor.refresh();c.visibility.changed.add(function(){c.visible&&c.codeWidget.textEditor.refresh()});return c}n(b,a);return b}(w.b),E=function(a){function b(a){q(this,b);var c=p(this,(b.__proto__|| -Object.getPrototypeOf(b)).call(this));c.layer=a;c.attributeWidget=c.registerDisposer(e(c.layer));c.codeWidget=c.registerDisposer(d(c.layer));c.content.classList.add("neuroglancer-single-mesh-layer-shader-overlay");c.content.appendChild(c.attributeWidget.element);c.content.appendChild(c.codeWidget.element);c.codeWidget.textEditor.refresh();return c}n(b,a);return b}(l.a);Object(f.e)("mesh",A)},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+ +f.innerHTML="□";f.className="maximize-button";f.title="Show larger editor view";d.registerEventListener(f,"click",function(){new E(d.layer)});g.appendChild(k);g.appendChild(f);g.appendChild(l);a.appendChild(g);a.appendChild(d.attributeWidget.element);a.appendChild(d.codeWidget.element);d.codeWidget.textEditor.refresh();d.visibility.changed.add(function(){d.visible&&d.codeWidget.textEditor.refresh()});return d}n(b,a);return b}(w.b),E=function(a){function b(a){q(this,b);var d=p(this,(b.__proto__|| +Object.getPrototypeOf(b)).call(this));d.layer=a;d.attributeWidget=d.registerDisposer(e(d.layer));d.codeWidget=d.registerDisposer(c(d.layer));d.content.classList.add("neuroglancer-single-mesh-layer-shader-overlay");d.content.appendChild(d.attributeWidget.element);d.content.appendChild(d.codeWidget.element);d.codeWidget.textEditor.refresh();return d}n(b,a);return b}(l.a);Object(f.e)("mesh",A)},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+ typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}a.d(f,"d",function(){return n});f.c="single_mesh/SingleMeshLayer";f.a="single_mesh/getSingleMeshInfo";f.b="";var n=function(a){function b(){p(this,b);var a=(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return!a||"object"!==typeof a&&"function"!==typeof a?this:a}q(b,a);return b}(function b(){p(this,b)});n.RPC_ID="single_mesh/SingleMeshSource"},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype, -{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a){return encodeURI(a).replace(/[!'()*;,]/g,function(a){return"%"+a.charCodeAt(0).toString(16).toUpperCase()})}a.d(f,"a",function(){return l});h=a(10);var c=a.n(h),b=a(9);h=a(1);var d=a(4),e=a(66),g=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a, -d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),l=function(a){function k(a,d){d=void 0===d?200:d;if(!(this instanceof k))throw new TypeError("Cannot call a class as a function");var e=q(this,(k.__proto__||Object.getPrototypeOf(k)).call(this));e.root=a;e.parseError=new b.f(void 0);e.registerEventListener(window,"hashchange",function(){return e.updateFromUrlHash()});var g=c()(function(){return e.setUrlHash()},d);e.registerDisposer(a.changed.add(g));e.registerDisposer(function(){return g.cancel()}); +{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a){return encodeURI(a).replace(/[!'()*;,]/g,function(a){return"%"+a.charCodeAt(0).toString(16).toUpperCase()})}a.d(f,"a",function(){return l});h=a(10);var d=a.n(h),b=a(9);h=a(1);var c=a(4),e=a(67),g=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a, +d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),l=function(a){function k(a,c){c=void 0===c?200:c;if(!(this instanceof k))throw new TypeError("Cannot call a class as a function");var e=q(this,(k.__proto__||Object.getPrototypeOf(k)).call(this));e.root=a;e.parseError=new b.f(void 0);e.registerEventListener(window,"hashchange",function(){return e.updateFromUrlHash()});var g=d()(function(){return e.setUrlHash()},c);e.registerDisposer(a.changed.add(g));e.registerDisposer(function(){return g.cancel()}); return e}p(k,a);g(k,[{key:"setUrlHash",value:function(){var a=Object(e.b)(this.root);a.generation!==this.prevStateGeneration&&(this.prevStateGeneration=a.generation,a=n(JSON.stringify(a.value)),a!==this.prevStateString&&(this.prevStateString=a,"{}"===decodeURIComponent(a)?history.replaceState(null,"","#"):history.replaceState(null,"","#!"+a)))}},{key:"updateFromUrlHash",value:function(){try{var a=location.href.replace(/^[^#]+/,"");if(""===a||"#"===a||"#!"===a)a="#!{}";if(a.startsWith("#!+")){a=a.slice(3); -a=decodeURIComponent(a);var b=Object(d.h)(a);Object(d.t)(b);this.root.restoreState(b);this.prevStateString=void 0}else if(a.startsWith("#!")){a=a.slice(2);a=decodeURIComponent(a);if(a===this.prevStateString)return;this.prevStateString=a;this.root.reset();var c=Object(d.h)(a);Object(d.t)(c);this.root.restoreState(c)}else throw Error('URL hash is expected to be of the form "#!{...}" or "#!+{...}".');this.parseError.value=void 0}catch(v){this.parseError.value=v}}}]);return k}(h.a)},function(h,f,a){var q= -a(2);a.d(f,"g",function(){return q.s});a.d(f,"h",function(){return q.u});a.d(f,"e",function(){return q.n});var p=a(310);a.d(f,"b",function(){return p.b});a.d(f,"a",function(){return p.a});var n=a(191);a.d(f,"d",function(){return n.b});var c=a(121);a.d(f,"c",function(){return c.c});a.d(f,"f",function(){return c.d})},function(h,f,a){f.a=function(a){if(!window.getSelection().isCollapsed)return!0;a=a.target.tagName;return"TEXTAREA"===a||"INPUT"===a?!0:!1};f.b=function(a,f){f=void 0===f?"text/plain":f; -var c=!1,b=Object(q.c)(document,"copy",function(b){b.clipboardData.setData(f,a);c=!0;b.stopPropagation();b.preventDefault()},!0);try{document.execCommand("copy")}finally{b()}return c};var q=a(1)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!== -typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return g});a.d(f,"b",function(){return l});h=a(33);a=a(1);var c=function t(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a), -null!==a)return t(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},b=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();$jscomp.initSymbol();var d=Symbol("SingleTextureVolumeChunk.textureUnit");$jscomp.initSymbol();var e=Symbol("SingleTextureVolumeChunk.textureLayout"),g= -function(a){function c(a){q(this,c);var b=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));b.shaderKey=a;return b}n(c,a);b(c,[{key:"defineShader",value:function(a){a.addTextureSampler2D("uVolumeChunkSampler",d)}},{key:"beginDrawing",value:function(a,b){var c=b.textureUnit(d);a.activeTexture(a.TEXTURE0+c);b[e]=null}},{key:"endDrawing",value:function(a,b){a.bindTexture(a.TEXTURE_2D,null);b[e]=null}},{key:"bindChunk",value:function(a,b,c){var d=c.textureLayout;b[e]!==d&&(b[e]=d,this.setupTextureLayout(a, -b,d));a.bindTexture(a.TEXTURE_2D,c.texture)}},{key:"beginSource",value:function(a,b){}}]);return c}(a.a),l=function(a){function d(a,b){q(this,d);a=p(this,(d.__proto__||Object.getPrototypeOf(d)).call(this,a,b));a.texture=null;a.data=b.data;return a}n(d,a);b(d,[{key:"copyToGPU",value:function(a){c(d.prototype.__proto__||Object.getPrototypeOf(d.prototype),"copyToGPU",this).call(this,a);var b=this.texture=a.createTexture();a.bindTexture(a.TEXTURE_2D,b);this.setTextureData(a);a.bindTexture(a.TEXTURE_2D, -null)}},{key:"freeGPUMemory",value:function(a){c(d.prototype.__proto__||Object.getPrototypeOf(d.prototype),"freeGPUMemory",this).call(this,a);a.deleteTexture(this.texture);this.texture=null;this.textureLayout.dispose();this.textureLayout=null}}]);return d}(h.a)},function(h,f,a){f.a=function(a,f,h,c,b,d){for(var e=0,g=0,l=1,k=1,t=0;3>t;++t){var m=b[t],r=c[t],n=m%r;e+=Math.floor(m/r)*l;l*=Math.ceil(h[t]/r);g+=n*k;k*=r}c=f+2*e;h=a[c];c=a[c+1];b=h&16777215;h=h>>24&255;0<h&&(b+=d*(a[(f+c&16777215)+Math.floor(g* -h/32)]>>g*h%32&(1<<h)-1));return b}},function(h,f,a){f.b=function(a,f){return function(h){h.style.flex=a;f(h)}};f.a=function(a,f){return function(h){h.style.display="flex";h.style.flexDirection=a;for(var c=$jscomp.makeIterator(f),b=c.next();!b.done;b=c.next()){b=b.value;var d=h.ownerDocument.createElement("div");h.appendChild(d);b(d)}}}},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype= -Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return b});h=a(1);var p=a(7),n=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),c=function e(a,b,c){null===a&&(a=Function.prototype); -var g=Object.getOwnPropertyDescriptor(a,b);if(void 0===g){if(a=Object.getPrototypeOf(a),null!==a)return e(a,b,c)}else{if("value"in g)return g.value;b=g.get;return void 0===b?void 0:b.call(c)}},b=function(a){function b(a,c,e){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var g=(b.__proto__||Object.getPrototypeOf(b)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");g=!g||"object"!==typeof g&&"function"!==typeof g? -this:g;g.register=a;g.unregister=c;g.changed=new p.a;void 0===e?g.map=new Map:(g.map=new Map(e),g.map.forEach(g.register));return g}q(b,a);$jscomp.initSymbol();$jscomp.initSymbolIterator();n(b,[{key:"set",value:function(a,b){var c=this.map,e=c.get(a);void 0!==e&&this.unregister(e,a);c.set(a,b);this.register(b,a);this.changed.dispatch();return this}},{key:"delete",value:function(a){var b=this.map.get(a);return void 0!==b?(this.unregister(b,a),this.changed.dispatch(),!0):!1}},{key:"has",value:function(a){return this.map.has(a)}}, -{key:Symbol.iterator,value:function(){$jscomp.initSymbol();$jscomp.initSymbolIterator();return this.map[Symbol.iterator]()}},{key:"clear",value:function(){var a=this.map;0<a.size&&(a.forEach(this.unregister),a.clear(),this.changed.dispatch())}},{key:"values",value:function(){return this.map.values()}},{key:"keys",value:function(){return this.map.keys()}},{key:"disposed",value:function(){this.map.forEach(this.unregister);this.map.clear();c(b.prototype.__proto__||Object.getPrototypeOf(b.prototype), -"disposed",this).call(this)}},{key:"size",get:function(){return this.map.size}}]);return b}(h.a)},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0, -configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return k});var n=a(27);h=a(47);var c=a(26),b=a(32),d=a(186),e=a(326),g=a(331),l=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();a(332);var k=function(a){function k(a,b){if(!(this instanceof k))throw new TypeError("Cannot call a class as a function"); -var c=q(this,(k.__proto__||Object.getPrototypeOf(k)).call(this));c.manager=a;c.existingLayer=b;c.statusElement=document.createElement("div");c.submitElement=document.createElement("button");c.namePromptElement=document.createElement("label");c.nameInputElement=document.createElement("input");c.volumeCancellationSource=void 0;c.sourceValid=!1;c.nameValid=!0;var l=c.content;l.classList.add("add-layer-overlay");var f=document.createElement("form");f.className="source-form";c.registerEventListener(f, -"submit",function(a){a.preventDefault();c.validateSource(!0)});var m=document.createElement("label");m.textContent="Source:";a=c.sourceInput=c.registerDisposer(new e.a({completer:function(a,b){return c.manager.dataSourceProvider.volumeCompleter(a,c.manager.chunkManager,b).then(function(a){return{completions:a.completions,makeElement:e.b,offset:a.offset,showSingleResult:!0}})},delay:0}));a.element.classList.add("add-layer-source");a.inputElement.addEventListener("blur",function(){c.validateSource(!1)}); -c.submitElement.disabled=!0;a.inputChanged.add(function(){var a=c.volumeCancellationSource;void 0!==a&&(a.cancel(),c.volumeCancellationSource=void 0);c.sourceValid=!1;c.submitElement.disabled=!0;c.statusElement.textContent=""});f.appendChild(m);f.appendChild(a.element);Object(d.a)(m,a.inputElement);m=Object(g.a)();f.appendChild(m);l.appendChild(f);var h=c.statusElement,t=c.namePromptElement,r=c.nameInputElement;f=c.submitElement;h.className="dialog-status";m=document.createElement("form");m.className= -"name-form";t.textContent="Name:";r.className="add-layer-name";r.autocomplete="off";r.spellcheck=!1;r.type="text";c.registerEventListener(r,"input",function(){c.validateName()});f.type="submit";Object(d.a)(t,r);m.appendChild(t);m.appendChild(r);m.appendChild(f);l.appendChild(m);l.appendChild(h);void 0!==b?(void 0!==b.sourceUrl?(a.value=b.sourceUrl,c.validateSource()):c.sourceValid=!0,a.disabled=!0,r.value=b.name,c.validateName(),f.textContent="Save",r.focus()):(b=c.manager.layerManager.managedLayers, -0<b.length&&(b=b[b.length-1],b instanceof n.b&&(b=b.sourceUrl,void 0!==b&&(l=c.manager.dataSourceProvider.findSourceGroup(b),a.value=b.substring(0,l),a.inputElement.setSelectionRange(0,l)))),a.inputElement.focus(),f.textContent="Add Layer");c.registerEventListener(m,"submit",function(a){a.preventDefault();c.submit()});return c}p(k,a);l(k,[{key:"isNameValid",value:function(){var a=this.nameInputElement.value;if(""===a)return!1;a=this.manager.layerManager.getLayerByName(a);return void 0===a||a===this.existingLayer}}, -{key:"submit",value:function(){this.sourceValid&&this.isNameValid()&&(this.existingLayer?(this.existingLayer.name=this.nameInputElement.value,this.manager.layerManager.layersChanged.dispatch()):this.manager.add(this.manager.getLayer(this.nameInputElement.value,this.sourceInput.value)),this.dispose())}},{key:"validateName",value:function(){var a=this.nameInputElement;(this.nameValid=this.isNameValid())?(a.classList.add("valid-input"),a.classList.remove("invalid-input")):(a.classList.remove("valid-input"), -a.classList.add("invalid-input"));this.validityChanged()}},{key:"validityChanged",value:function(){this.submitElement.disabled=!(this.nameValid&&this.sourceValid)}},{key:"validateSource",value:function(a){var d=this;a=void 0===a?!1:a;var e=this.sourceInput.value;if(""!==e){try{var g=this.manager.dataSourceProvider.suggestLayerName(e),k=this.nameInputElement;if(""===this.nameInputElement.value){var l=this.manager.layerManager.getUniqueLayerName(g);k.value=l;k.setSelectionRange(0,l.length);this.validateName()}a&& -k.focus()}catch(z){this.setError(z.message);return}this.setInfo("Validating volume source...");var f=this.volumeCancellationSource=new b.b;this.manager.dataSourceProvider.getVolume(this.manager.chunkManager,e,void 0,f).then(function(a){f.isCanceled||(d.volumeCancellationSource=void 0,d.sourceValid=!0,d.setInfo(c.c[a.volumeType].toLowerCase()+": "+(a.numChannels+"-channel "+c.a[a.dataType].toLowerCase())),d.validityChanged())}).catch(function(a){f.isCanceled||(d.volumeCancellationSource=void 0,d.setError(a.message))})}}}, -{key:"setInfo",value:function(a){this.statusElement.className="dialog-status dialog-status-info";this.statusElement.textContent=a}},{key:"setError",value:function(a){this.statusElement.className="dialog-status dialog-status-error";this.statusElement.textContent=a}}]);return k}(h.a)},function(h,f,a){f.a=function(a,f){""===f.id&&(f.id="unique-id-for-association-"+q++);a.setAttribute("for",f.id)};var q=0},function(h,f,a){f.a=function(a){var f=-1;return Object.assign(function(){-1===f&&(f=requestAnimationFrame(function(){f= --1;a()}))},{flush:function(){-1!==f&&(f=-1,a())},cancel:function(){-1!==f&&(cancelAnimationFrame(f),f=-1)}})}},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function p(a,b){var c=document.documentElement.scrollTop+Math.min(document.documentElement.clientHeight- -a.offsetHeight,b.clientY);a.style.left=document.documentElement.scrollLeft+Math.min(document.documentElement.clientWidth-a.offsetWidth,b.clientX)+"px";a.style.top=c+"px";a.style.visibility=null}a.d(f,"a",function(){return e});var n=a(1),c=a(8),b=a(7),d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();a(338); -var e=function(a){function e(a){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");var c=(e.__proto__||Object.getPrototypeOf(e)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");c=!c||"object"!==typeof c&&"function"!==typeof c?this:c;c.element=document.createElement("div");c.parentDisposers=new Map;c.disabledValue=!1;c.opened=new b.a;c.closed=new b.a;var d=c.element;d.className="neuroglancer-context-menu";d.style.visibility= -"hidden";d.tabIndex=-1;document.body.appendChild(d);void 0!==a&&c.registerParent(a);return c}q(e,a);d(e,[{key:"registerParent",value:function(a){var b=this,c=this.parentDisposers;c.has(a)||c.set(a,Object(n.c)(a,"contextmenu",function(a){b.show(a);a.stopPropagation();a.preventDefault()}))}},{key:"show",value:function(a){var b=this;if(!this.disabledValue){this.hide();var c=this.element,d=Object(n.c)(document,"mousedown",function(a){a.target instanceof Node&&!c.contains(a.target)&&b.hide()},!0),e=Object(n.c)(document, -"keydown",function(a){"Escape"===a.code&&b.hide()},!0);c.style.display=null;c.style.visibility="hidden";this.opened.dispatch();p(c,a);this.menuDisposer=function(){e();d();c.style.display="none"}}}},{key:"unregisterParent",value:function(a){var b=this.parentDisposers,c=b.get(a);void 0!==c&&(c(),b.delete(a))}},{key:"disposed",value:function(){for(var a=this.parentDisposers,b=$jscomp.makeIterator(a.values()),d=b.next();!d.done;d=b.next())d=d.value,d();a.clear();Object(c.b)(this.element)}},{key:"hide", -value:function(){void 0!==this.menuDisposer&&(this.menuDisposer(),this.menuDisposer=void 0,this.closed.dispatch())}},{key:"disabled",get:function(){return this.disabledValue},set:function(a){this.disabledValue!==a&&(this.disabledValue=a)&&this.hide()}},{key:"open",get:function(){return void 0!==this.menuDisposer}}]);return e}(n.a)},function(h,f,a){f.a=function(a,c){var b=Object(q.c)(a,"drop",function(a){a.preventDefault();if(-1!==a.dataTransfer.types.indexOf(p.d)){var b=JSON.parse(a.dataTransfer.getData(p.d)); -c.restoreState(b);a.stopPropagation()}}),d=Object(q.c)(a,"dragover",function(a){-1!==a.dataTransfer.types.indexOf(p.d)&&(a.dataTransfer.dropEffect="link",a.preventDefault(),a.stopPropagation())});return function(){d();b()}};var q=a(1),p=a(120)},function(h,f,a){(function(a){function f(b,e,g,l){function d(a){var c=f(b,e);if(!c||c.to.line-c.from.line<m)return null;for(var d=b.findMarksAt(c.from),g=0;g<d.length;++g)if(d[g].__isFold&&"fold"!==l){if(!a)return null;c.cleared=!0;d[g].clear()}return c}if(g&& -g.call){var f=g;g=null}else f=c(b,g,"rangeFinder");"number"==typeof e&&(e=a.Pos(e,0));var m=c(b,g,"minFoldSize"),r=d(!0);if(c(b,g,"scanUp"))for(;!r&&e.line>b.firstLine();)e=a.Pos(e.line-1,0),r=d(!1);if(r&&!r.cleared&&"unfold"!==l){var n=h(b,g);a.on(n,"mousedown",function(b){p.clear();a.e_preventDefault(b)});var p=b.markText(r.from,r.to,{replacedWith:n,clearOnEnter:c(b,g,"clearOnEnter"),__isFold:!0});p.on("clear",function(c,d){a.signal(b,"unfold",b,c,d)});a.signal(b,"fold",b,r.from,r.to)}}function h(a, -b){a=c(a,b,"widget");"string"==typeof a?(b=document.createTextNode(a),a=document.createElement("span"),a.appendChild(b),a.className="CodeMirror-foldmarker"):a&&(a=a.cloneNode(!0));return a}function c(a,c,g){return c&&void 0!==c[g]?c[g]:(a=a.options.foldOptions)&&void 0!==a[g]?a[g]:b[g]}a.newFoldFunction=function(a,b){return function(c,d){f(c,d,{rangeFinder:a,widget:b})}};a.defineExtension("foldCode",function(a,b,c){f(this,a,b,c)});a.defineExtension("isFolded",function(a){a=this.findMarksAt(a);for(var b= -0;b<a.length;++b)if(a[b].__isFold)return!0});a.commands.toggleFold=function(a){a.foldCode(a.getCursor())};a.commands.fold=function(a){a.foldCode(a.getCursor(),null,"fold")};a.commands.unfold=function(a){a.foldCode(a.getCursor(),null,"unfold")};a.commands.foldAll=function(b){b.operation(function(){for(var c=b.firstLine(),d=b.lastLine();c<=d;c++)b.foldCode(a.Pos(c,0),null,"fold")})};a.commands.unfoldAll=function(b){b.operation(function(){for(var c=b.firstLine(),d=b.lastLine();c<=d;c++)b.foldCode(a.Pos(c, -0),null,"unfold")})};a.registerHelper("fold","combine",function(){var a=Array.prototype.slice.call(arguments,0);return function(b,c){for(var d=0;d<a.length;++d){var e=a[d](b,c);if(e)return e}}});a.registerHelper("fold","auto",function(a,b){for(var c=a.getHelpers(b,"fold"),d=0;d<c.length;d++){var e=c[d](a,b);if(e)return e}});var b={rangeFinder:a.fold.auto,widget:"\u2194",minFoldSize:0,scanUp:!1,clearOnEnter:!0};a.defineOption("foldOptions",null);a.defineExtension("foldOption",function(a,b){return c(this, -a,b)})})(a(48))},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__= -b)}a.d(f,"a",function(){return w});var n=a(2),c=a(80),b=a(25),d=a(117),e=a(360),g=a(29),l=a(192),k=a(35),t=a(9),m=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),r=function x(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!== -a)return x(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},u=n.s.create(),v=n.k.create();f.b="perpspectiveRenderEvent";var w=function(a){function f(a,g,m,h){if(!(this instanceof f))throw new TypeError("Cannot call a class as a function");var r=q(this,(f.__proto__||Object.getPrototypeOf(f)).call(this,a,g,m));r.config=h;r.planarSlices=new Set;r.transparentPlaneRenderHelper=r.registerDisposer(e.b.get(r.gl,d.c));r.scaleBarWidget=r.registerDisposer(new l.a);Object(b.c)(g, -"nehuba-translate-via-mouse-drag",function(a){Object(c.a)(a.detail,function(a,b,c){if(r.config.layout.useNehubaPerspective.enableShiftDrag){a=r.width;var d=r.height,e=r.viewer.navigationState.position,g=e.spatialCoordinates;n.s.transformMat4(u,g,r.projectionMat);u[0]=2*b/a;u[1]=-2*c/d;n.s.transformMat4(g,u,r.inverseProjectionMat);e.changed.dispatch()}})});a=h.layout.useNehubaPerspective.removePerspectiveSlicesBackground;r.nehubaSliceViewRenderHelper=r.registerDisposer(e.a.get(r.gl,d.c,a&&a.mode|| -"none"));r.registerDisposer(r.visibility.changed.add(function(){return Array.from(r.sliceViews.keys()).forEach(function(a){return a.visibility.value=r.visibility.value})}));a=r.scaleBarWidget.element;r.registerDisposer(new k.a(Object(t.g)(function(a,b){return a&&b},m.showScaleBar,m.orthographicProjection),a));g.appendChild(a);return r}p(f,a);m(f,[{key:"updateProjectionMatrix",value:function(){r(f.prototype.__proto__||Object.getPrototypeOf(f.prototype),"updateProjectionMatrix",this).call(this);this.config.layout.useNehubaPerspective.centerToOrigin&& -(n.k.translate(this.projectionMat,this.projectionMat,this.navigationState.position.spatialCoordinates),n.k.invert(this.inverseProjectionMat,this.projectionMat))}},{key:"disposed",value:function(){for(var a=$jscomp.makeIterator(this.planarSlices),b=a.next();!b.done;b=a.next())b.value.dispose();this.planarSlices.clear();r(f.prototype.__proto__||Object.getPrototypeOf(f.prototype),"disposed",this).call(this)}},{key:"draw",value:function(){for(var a=$jscomp.makeIterator(this.sliceViews.keys()),b=a.next();!b.done;b= -a.next())b.value.visibility.value=this.config.layout.useNehubaPerspective.disablePerspectiveSlicesPreloading?this.viewer.showSliceViews.value&&this.visibility.visible?g.b.VISIBLE:g.b.IGNORED:this.visibility.value;if(this.navigationState.valid){this.onResize();a=this.width;var c=this.height;if(0!==a&&0!==c){b=this.viewer.showSliceViews.value;for(var e=$jscomp.makeIterator(this.sliceViews),k=e.next();!k.done;k=e.next()){k=$jscomp.makeIterator(k.value);var l=k.next().value;(k.next().value||b)&&l.updateRendering()}e= -$jscomp.makeIterator(this.planarSlices);for(b=e.next();!b.done;b=e.next())b.value.updateRendering();b=this.gl;this.offscreenFramebuffer.bind(a,c);b.disable(b.SCISSOR_TEST);e=this.config.layout.useNehubaPerspective;e=e.perspectiveBackground||e.perspectiveSlicesBackground||this.viewer.crossSectionBackgroundColor.value;this.gl.clearColor(e[0],e[1],e[2],1);b.clear(b.COLOR_BUFFER_BIT|b.DEPTH_BUFFER_BIT);b.enable(b.DEPTH_TEST);e=this.projectionMat;this.updateProjectionMatrix();k=n.s.create();Object(n.p)(k, -n.e[2],this.modelViewMat);n.s.normalize(k,k);l=this.pickIDs;l.clear();e={dataToDevice:e,lightDirection:k,ambientLighting:.2,directionalLighting:.8,pickIDs:l,emitter:d.c,emitColor:!0,emitPickID:!0,alreadyEmittedPickID:!1,viewportWidth:a,viewportHeight:c,extra:{config:this.config,showSliceViewsCheckboxValue:this.viewer.showSliceViews.value,slicesPose:this.viewer.slicesNavigationState.pose,perspectiveNavigationState:this.viewer.navigationState,meshesLoaded:-1,meshFragmentsLoaded:-1,crossSectionBackground:this.viewer.crossSectionBackgroundColor.value}}; -k=this.visibleLayerTracker.getVisibleLayers();for(var f=l=!1,m=$jscomp.makeIterator(k),h=m.next();!h.done;h=m.next())h=h.value,h.isTransparent?l=!0:h.isAnnotation?f=!0:h.draw(e);this.config.layout.useNehubaPerspective.waitForMesh&&!e.extra.meshRendered||this.drawSliceViews(e);if(f){b.enable(WebGL2RenderingContext.BLEND);b.depthFunc(WebGL2RenderingContext.LEQUAL);b.blendFunc(WebGL2RenderingContext.SRC_ALPHA,WebGL2RenderingContext.ONE_MINUS_SRC_ALPHA);b.drawBuffers([b.COLOR_ATTACHMENT0,b.NONE,b.NONE]); -e.emitPickID=!1;f=$jscomp.makeIterator(k);for(h=f.next();!h.done;h=f.next())h=h.value,h.isAnnotation&&h.draw(e);b.depthFunc(WebGL2RenderingContext.LESS);b.disable(WebGL2RenderingContext.BLEND);b.drawBuffers([b.COLOR_ATTACHMENT0,b.COLOR_ATTACHMENT1,b.COLOR_ATTACHMENT2]);e.emitPickID=!0}h=this.config.layout.useNehubaPerspective.disableAxisLinesInPerspective;this.viewer.showAxisLines.value&&!h&&this.drawAxisLines();if(l){b.depthMask(!1);b.enable(WebGL2RenderingContext.BLEND);l=this.transparentConfiguration; -l.bind(a,c);this.gl.clearColor(0,0,0,1);b.clear(WebGL2RenderingContext.COLOR_BUFFER_BIT);e.emitter=d.d;b.blendFuncSeparate(WebGL2RenderingContext.ONE,WebGL2RenderingContext.ONE,WebGL2RenderingContext.ZERO,WebGL2RenderingContext.ONE_MINUS_SRC_ALPHA);e.emitPickID=!1;f=$jscomp.makeIterator(k);for(h=f.next();!h.done;h=f.next())h=h.value,h.isTransparent&&h.draw(e);b.disable(WebGL2RenderingContext.DEPTH_TEST);this.offscreenFramebuffer.bindSingle(d.a.COLOR);b.blendFunc(WebGL2RenderingContext.ONE_MINUS_SRC_ALPHA, -WebGL2RenderingContext.SRC_ALPHA);this.transparencyCopyHelper.draw(l.colorBuffers[0].texture,l.colorBuffers[1].texture);b.depthMask(!0);b.disable(WebGL2RenderingContext.BLEND);b.enable(WebGL2RenderingContext.DEPTH_TEST);this.offscreenFramebuffer.bind(a,c)}b.drawBuffers([b.NONE,b.COLOR_ATTACHMENT1,b.COLOR_ATTACHMENT2]);e.emitter=d.c;e.emitPickID=!0;e.emitColor=!1;b.enable(WebGL2RenderingContext.POLYGON_OFFSET_FILL);b.polygonOffset(-1,-1);c=$jscomp.makeIterator(k);for(h=c.next();!h.done;h=c.next())k= -h.value,e.alreadyEmittedPickID=!k.isTransparent&&!k.isAnnotation,k.draw(e);b.disable(WebGL2RenderingContext.POLYGON_OFFSET_FILL);this.viewer.showScaleBar.value&&this.viewer.orthographicProjection.value&&(c=this.scaleBarWidget.dimensions,c.targetLengthInPixels=Math.min(a/4,100),c.nanometersPerPixel=this.nanometersPerPixel,this.scaleBarWidget.update());this.offscreenFramebuffer.unbind();this.setGLViewport();this.offscreenCopyHelper.draw(this.offscreenFramebuffer.colorBuffers[d.a.COLOR].texture);a=new CustomEvent("perpspectiveRenderEvent", -{bubbles:!0,detail:{meshesLoaded:e.extra.meshesLoaded,meshFragmentsLoaded:e.extra.meshFragmentsLoaded,lastLoadedMeshId:e.extra.lastMeshId}});this.element.dispatchEvent(a)}}}},{key:"drawSliceViews",value:function(a){var b=this.config.layout.useNehubaPerspective,c=this.sliceViewRenderHelper,d=this.nehubaSliceViewRenderHelper,e=this.transparentPlaneRenderHelper,g=a.lightDirection,k=a.ambientLighting,l=a.directionalLighting;a=a.dataToDevice;var f=this.viewer.showSliceViews.value;if(!b.hideImages){var m= -b.removePerspectiveSlicesBackground;c=m?d:c;for(var h=$jscomp.makeIterator(this.sliceViews),t=h.next();!t.done;t=h.next()){var r=$jscomp.makeIterator(t.value);t=r.next().value;if((r.next().value||f)&&0!==t.width&&0!==t.height&&t.hasValidViewport){r=Math.abs(n.s.dot(g,t.viewportAxes[2]));r=k+r*l;var p=v;n.k.identity(p);p[0]=t.width/2;p[5]=-t.height/2;n.k.multiply(p,t.viewportToData,p);n.k.multiply(p,a,p);var q=n.u.create(),u=b.perspectiveSlicesBackground||this.viewer.crossSectionBackgroundColor.value; -q[0]=u[0];q[1]=u[1];q[2]=u[2];q[3]=1;d.setDiscardColor(m&&m.color||q);c.draw(t.offscreenFramebuffer.colorBuffers[0].texture,p,n.u.fromValues(r,r,r,1),q,0,0,1,1)}}}if(b.drawSubstrates&&f)for(d=b.fixedZoomPerspectiveSlices&&b.fixedZoomPerspectiveSlices.sliceViewportSizeMultiplier||1,g=$jscomp.makeIterator(this.sliceViews.keys()),k=g.next();!k.done;k=g.next()){c=k.value;k=v;n.k.identity(k);k[0]=c.width/2/d;k[5]=-c.height/2/d;n.k.multiply(k,c.viewportToData,k);l=n.k.clone(a);m=n.s.clone(this.navigationState.position.spatialCoordinates); -c=n.s.clone(c.viewportAxes[2]);h=this.viewer.slicesNavigationState.pose.orientation.orientation;t=n.n.invert(n.n.create(),h);n.s.transformQuat(c,c,t);n.s.transformQuat(m,m,t);t=n.s.create();for(r=0;3>r;r++)t[r]=0===Math.round(c[r])?-m[r]:0;n.s.transformQuat(t,t,h);n.k.translate(l,l,t);n.k.multiply(k,l,k);l=b.drawSubstrates.color||n.u.fromValues(0,0,1,.2);e.draw(k,l,{factor:3,units:1})}if(b.drawZoomLevels&&f&&(f=b.drawZoomLevels.cutOff)&&this.viewer.slicesNavigationState.zoomFactor.value<f)for(f=$jscomp.makeIterator(this.planarSlices), -k=f.next();!k.done;k=f.next())g=k.value,d=v,n.k.identity(d),d[0]=g.width/2,d[5]=-g.height/2,n.k.multiply(d,g.viewportToData,d),n.k.multiply(d,a,d),g=b.drawZoomLevels.color||n.u.fromValues(1,0,0,.2),e.draw(d,g,{factor:-1,units:1})}},{key:"zoomByMouse",value:function(a){r(f.prototype.__proto__||Object.getPrototypeOf(f.prototype),"zoomByMouse",this).call(this,a);if(a=this.config.layout.useNehubaPerspective.restrictZoomLevel)a.minZoom&&this.navigationState.zoomFactor.value<a.minZoom&&(this.navigationState.zoomFactor.value= -a.minZoom),a.maxZoom&&this.navigationState.zoomFactor.value>a.maxZoom&&(this.navigationState.zoomFactor.value=a.maxZoom)}}]);return f}(d.b)},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return b}); -h=a(1);var p=a(53),n=a(8),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();a(361);var b=function(a){function b(a){a=void 0===a?new p.a:a;if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var c=(b.__proto__||Object.getPrototypeOf(b)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); -c=!c||"object"!==typeof c&&"function"!==typeof c?this:c;c.dimensions=a;c.element=document.createElement("div");c.textNode=document.createTextNode("");c.barElement=document.createElement("div");a=c.element;var d=c.textNode,e=c.barElement;a.className="scale-bar-container";a.appendChild(d);a.appendChild(e);e.className="scale-bar";return c}q(b,a);c(b,[{key:"update",value:function(){var a=this.dimensions;a.update()&&(this.textNode.textContent=a.physicalLength+" "+a.physicalUnit,this.barElement.style.width= -a.lengthInPixels+"px")}},{key:"disposed",value:function(){Object(n.b)(this.element)}}]);return b}(h.a)},function(h,f,a){function q(a){if(!a[m]){a.registerDisposer(a.layerManager.layersChanged.add(function(){for(var b=!1,c=new g.b(g.s.fromValues(Infinity,Infinity,Infinity),g.s.fromValues(-Infinity,-Infinity,-Infinity)),d=$jscomp.makeIterator(a.layerManager.managedLayers),e=d.next();!e.done;e=d.next())if(e=e.value.layer,null!=e){e=$jscomp.makeIterator(e.renderLayers);for(var k=e.next();!k.done;k=e.next())k= -k.value.boundingBox,null!=k&&(g.s.min(c.lower,c.lower,k.lower),g.s.max(c.upper,c.upper,k.upper),b=!0)}b&&(a.navigationState.position[t]=c);b&&(a.navigationState.pose[t]=c);b&&a.navigationState.position.changed.dispatch()}));var b=a.navigationState.position,c=b.changed.dispatch;b.changed.dispatch=function(){var a=b[t];if(a){var d=b.spatialCoordinates;g.s.min(d,d,a.upper);g.s.max(d,d,a.lower)}c()};a[m]=!0}}function p(a){c(a,function(a){a=a.displayState;a.segmentColorHash instanceof k.a||(a.segmentColorHash= -k.a.from(a.segmentColorHash))})}function n(a,b){var c=a.display.onResize;a.display.onResize=function(){if(b.dedebounceUpdates){this.scheduleRedraw();for(var a=$jscomp.makeIterator(this.panels),d=a.next();!d.done;d=a.next())d.value.onResize()}else c.call(this)}}function c(a,c){b(a,c);var d=a.layerManager;d.registerDisposer(d.layersChanged.add(function(){b(a,c)}))}function b(a,b){a.layerManager.managedLayers.map(function(a){return a.layer}).filter(function(a){return!!a}).filter(function(a){return a instanceof -l.SegmentationUserLayer}).map(function(a){return a}).forEach(function(a){b(a)})}function d(a,b){$jscomp.initSymbol();var c=Symbol("customEvent");a.addEventListener("wheel",function(a){if(!a[c]&&b.zoomWithoutCtrl){a.stopImmediatePropagation();a.stopPropagation();a.preventDefault();var d=new Proxy(a,{get:function(a,b){if("ctrlKey"===b)return!a[b];b=a[b];return"function"===typeof b?b.bind(a):b}});d=new WheelEvent(a.type,d);d[c]=!0;a.target.dispatchEvent(d)}},!0)}function e(a,b){a.addEventListener("mousedown", -function(a){b.rightClickWithCtrl&&2===a.button&&!a.ctrlKey&&(a.stopImmediatePropagation(),a.stopPropagation(),a.preventDefault())},!0)}f.a=function(a,b){b.restrictUserNavigation&&q(a);b.globals&&b.globals.useCustomSegmentColors&&p(a);b.globals&&b.globals.useNehubaLayout&&(a.inputEventBindings.sliceView.set("at:shift+mousedown0",{action:"nehuba-rotate-via-mouse-drag",stopPropagation:!0}),b.layout&&b.layout.useNehubaPerspective&&a.inputEventBindings.perspectiveView.set("at:shift+mousedown0",{action:"nehuba-translate-via-mouse-drag", -stopPropagation:!0}));b.dedebounceUpdates&&n(a,b)};f.b=function(a,b){d(a,b);e(a,b)};f.e=q;f.d=function(a){a.displayState.segmentSelectionState.set(null);a.displayState.segmentSelectionState.set=function(){}};f.c=function(a){a.displayState.segmentSelectionState.isSelected=function(){return!1}};var g=a(2),l=a(64),k=a(122);$jscomp.initSymbol();var t=Symbol("bbox");$jscomp.initSymbol();var m=Symbol("hooked")},function(h,f,a){h.exports=a(364)},function(h,f,a){f.isObject=function(a){return null!=a&&"object"=== -typeof a}},function(h,f,a){var q=this&&this.__extends||function(a,f){function c(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(c.prototype=f.prototype,new c)};h=function(a){function f(c){a.call(this);this.errors=c;c=Error.call(this,c?c.length+" errors occurred during unsubscription:\n "+c.map(function(a,c){return c+1+") "+a.toString()}).join("\n "):"");this.name=c.name="UnsubscriptionError";this.stack=c.stack;this.message=c.message}q(f, -a);return f}(Error);f.UnsubscriptionError=h},function(h,f,a){f.empty={closed:!0,next:function(a){},error:function(a){throw a;},complete:function(){}}},function(h,f,a){var q=this&&this.__extends||function(a,f){function c(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(c.prototype=f.prototype,new c)};h=function(a){function f(c,b){a.call(this);this.subject=c;this.subscriber=b;this.closed=!1}q(f,a);f.prototype.unsubscribe=function(){if(!this.closed){this.closed= -!0;var a=this.subject,b=a.observers;this.subject=null;!b||0===b.length||a.isStopped||a.closed||(a=b.indexOf(this.subscriber),-1!==a&&b.splice(a,1))}};return f}(a(11).Subscription);f.SubjectSubscription=h},function(h,f,a){f.isArrayLike=function(a){return a&&"number"===typeof a.length}},function(h,f,a){f.isPromise=function(a){return a&&"function"!==typeof a.subscribe&&"function"===typeof a.then}},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&& -(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(36),n=a(199),c=a(200),b=a(202),d=a(387),e=a(38),g=a(388),l=a(67),k=a(0),t=a(127),m=a(86);h=function(a){function f(b,c){a.call(this,null);this.ish=b;this.scheduler=c}q(f,a);f.create=function(a,h){if(null!=a){if("function"===typeof a[m.observable])return a instanceof k.Observable&&!h?a:new f(a,h);if(p.isArray(a))return new e.ArrayObservable(a,h);if(c.isPromise(a))return new b.PromiseObservable(a,h);if("function"=== -typeof a[l.iterator]||"string"===typeof a)return new d.IteratorObservable(a,h);if(n.isArrayLike(a))return new g.ArrayLikeObservable(a,h)}throw new TypeError((null!==a&&typeof a||a)+" is not observable");};f.prototype._subscribe=function(a){var b=this.ish,c=this.scheduler;return null==c?b[m.observable]().subscribe(a):b[m.observable]().subscribe(new t.ObserveOnSubscriber(a,c,0))};return f}(k.Observable);f.FromObservable=h},function(h,f,a){function q(a){var b=a.value;a=a.subscriber;a.closed||(a.next(b), -a.complete())}function p(a){var b=a.err;a=a.subscriber;a.closed||a.error(b)}var n=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)},c=a(16);h=function(a){function b(b,c){a.call(this);this.promise=b;this.scheduler=c}n(b,a);b.create=function(a,c){return new b(a,c)};b.prototype._subscribe=function(a){var b=this,d=this.promise,e=this.scheduler;if(null==e)this._isScalar? -a.closed||(a.next(this.value),a.complete()):d.then(function(c){b.value=c;b._isScalar=!0;a.closed||(a.next(c),a.complete())},function(b){a.closed||a.error(b)}).then(null,function(a){c.root.setTimeout(function(){throw a;})});else if(this._isScalar){if(!a.closed)return e.schedule(q,0,{value:this.value,subscriber:a})}else d.then(function(c){b.value=c;b._isScalar=!0;a.closed||a.add(e.schedule(q,0,{value:c,subscriber:a}))},function(b){a.closed||a.add(e.schedule(p,0,{err:b,subscriber:a}))}).then(null,function(a){c.root.setTimeout(function(){throw a; -})})};return b}(a(0).Observable);f.PromiseObservable=h},function(h,f,a){function q(){for(var a=[],e=0;e<arguments.length;e++)a[e-0]=arguments[e];e=Number.POSITIVE_INFINITY;var g=null,l=a[a.length-1];b.isScheduler(l)?(g=a.pop(),1<a.length&&"number"===typeof a[a.length-1]&&(e=a.pop())):"number"===typeof l&&(e=a.pop());return null===g&&1===a.length&&a[0]instanceof p.Observable?a[0]:(new n.ArrayObservable(a,g)).lift(new c.MergeAllOperator(e))}var p=a(0),n=a(38),c=a(89),b=a(37);f.merge=function(){for(var a= -[],b=0;b<arguments.length;b++)a[b-0]=arguments[b];return this.lift.call(q.apply(void 0,[this].concat(a)))};f.mergeStatic=q},function(h,f,a){function q(){for(var a=[],b=0;b<arguments.length;b++)a[b-0]=arguments[b];if(1===a.length)if(n.isArray(a[0]))a=a[0];else return a[0];return(new c.ArrayObservable(a)).lift(new d)}var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype, -new c)},n=a(36),c=a(38);h=a(5);var b=a(6);f.race=function(){for(var a=[],b=0;b<arguments.length;b++)a[b-0]=arguments[b];1===a.length&&n.isArray(a[0])&&(a=a[0]);return this.lift.call(q.apply(void 0,[this].concat(a)))};f.raceStatic=q;var d=function(){function a(){}a.prototype.call=function(a,b){return b.subscribe(new e(a))};return a}();f.RaceOperator=d;var e=function(a){function c(b){a.call(this,b);this.hasFirst=!1;this.observables=[];this.subscriptions=[]}p(c,a);c.prototype._next=function(a){this.observables.push(a)}; +a=decodeURIComponent(a);var b=Object(c.h)(a);Object(c.t)(b);this.root.restoreState(b);this.prevStateString=void 0}else if(a.startsWith("#!")){a=a.slice(2);a=decodeURIComponent(a);if(a===this.prevStateString)return;this.prevStateString=a;this.root.reset();var d=Object(c.h)(a);Object(c.t)(d);this.root.restoreState(d)}else throw Error('URL hash is expected to be of the form "#!{...}" or "#!+{...}".');this.parseError.value=void 0}catch(v){this.parseError.value=v}}}]);return k}(h.a)},function(h,f,a){function q(a, +b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return b});h=a(1);var p=a(7),n=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a, +d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),d=function e(a,b,d){null===a&&(a=Function.prototype);var g=Object.getOwnPropertyDescriptor(a,b);if(void 0===g){if(a=Object.getPrototypeOf(a),null!==a)return e(a,b,d)}else{if("value"in g)return g.value;b=g.get;return void 0===b?void 0:b.call(d)}},b=function(a){function b(a,d,e){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var g=(b.__proto__||Object.getPrototypeOf(b)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); +g=!g||"object"!==typeof g&&"function"!==typeof g?this:g;g.register=a;g.unregister=d;g.changed=new p.a;void 0===e?g.map=new Map:(g.map=new Map(e),g.map.forEach(g.register));return g}q(b,a);$jscomp.initSymbol();$jscomp.initSymbolIterator();n(b,[{key:"set",value:function(a,b){var d=this.map,e=d.get(a);void 0!==e&&this.unregister(e,a);d.set(a,b);this.register(b,a);this.changed.dispatch();return this}},{key:"delete",value:function(a){var b=this.map.get(a);return void 0!==b?(this.unregister(b,a),this.changed.dispatch(), +!0):!1}},{key:"has",value:function(a){return this.map.has(a)}},{key:Symbol.iterator,value:function(){$jscomp.initSymbol();$jscomp.initSymbolIterator();return this.map[Symbol.iterator]()}},{key:"clear",value:function(){var a=this.map;0<a.size&&(a.forEach(this.unregister),a.clear(),this.changed.dispatch())}},{key:"values",value:function(){return this.map.values()}},{key:"keys",value:function(){return this.map.keys()}},{key:"disposed",value:function(){this.map.forEach(this.unregister);this.map.clear(); +d(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}},{key:"size",get:function(){return this.map.size}}]);return b}(h.a)},function(h,f,a){var q=a(2);a.d(f,"g",function(){return q.s});a.d(f,"h",function(){return q.u});a.d(f,"e",function(){return q.n});var p=a(312);a.d(f,"b",function(){return p.b});a.d(f,"a",function(){return p.a});var n=a(191);a.d(f,"d",function(){return n.b});var d=a(121);a.d(f,"c",function(){return d.c});a.d(f,"f",function(){return d.d})},function(h, +f,a){f.a=function(a){if(!window.getSelection().isCollapsed)return!0;a=a.target.tagName;return"TEXTAREA"===a||"INPUT"===a?!0:!1};f.b=function(a,f){f=void 0===f?"text/plain":f;var d=!1,b=Object(q.c)(document,"copy",function(b){b.clipboardData.setData(f,a);d=!0;b.stopPropagation();b.preventDefault()},!0);try{document.execCommand("copy")}finally{b()}return d};var q=a(1)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); +return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return g});a.d(f,"b",function(){return l});h=a(33);a=a(1);var d=function t(a,b,c){null===a&&(a=Function.prototype); +var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return t(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},b=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();$jscomp.initSymbol();var c=Symbol("SingleTextureVolumeChunk.textureUnit"); +$jscomp.initSymbol();var e=Symbol("SingleTextureVolumeChunk.textureLayout"),g=function(a){function d(a){q(this,d);var b=p(this,(d.__proto__||Object.getPrototypeOf(d)).call(this));b.shaderKey=a;return b}n(d,a);b(d,[{key:"defineShader",value:function(a){a.addTextureSampler2D("uVolumeChunkSampler",c)}},{key:"beginDrawing",value:function(a,b){var d=b.textureUnit(c);a.activeTexture(a.TEXTURE0+d);b[e]=null}},{key:"endDrawing",value:function(a,b){a.bindTexture(a.TEXTURE_2D,null);b[e]=null}},{key:"bindChunk", +value:function(a,b,c){var d=c.textureLayout;b[e]!==d&&(b[e]=d,this.setupTextureLayout(a,b,d));a.bindTexture(a.TEXTURE_2D,c.texture)}},{key:"beginSource",value:function(a,b){}}]);return d}(a.a),l=function(a){function c(a,b){q(this,c);a=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this,a,b));a.texture=null;a.data=b.data;return a}n(c,a);b(c,[{key:"copyToGPU",value:function(a){d(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"copyToGPU",this).call(this,a);var b=this.texture=a.createTexture(); +a.bindTexture(a.TEXTURE_2D,b);this.setTextureData(a);a.bindTexture(a.TEXTURE_2D,null)}},{key:"freeGPUMemory",value:function(a){d(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"freeGPUMemory",this).call(this,a);a.deleteTexture(this.texture);this.texture=null;this.textureLayout.dispose();this.textureLayout=null}}]);return c}(h.a)},function(h,f,a){f.a=function(a,f,h,d,b,c){for(var e=0,g=0,l=1,k=1,t=0;3>t;++t){var m=b[t],r=d[t],n=m%r;e+=Math.floor(m/r)*l;l*=Math.ceil(h[t]/r);g+=n*k;k*=r}d= +f+2*e;h=a[d];d=a[d+1];b=h&16777215;h=h>>24&255;0<h&&(b+=c*(a[(f+d&16777215)+Math.floor(g*h/32)]>>g*h%32&(1<<h)-1));return b}},function(h,f,a){f.b=function(a,f){return function(h){h.style.flex=a;f(h)}};f.a=function(a,f){return function(h){h.style.display="flex";h.style.flexDirection=a;for(var d=$jscomp.makeIterator(f),b=d.next();!b.done;b=d.next()){b=b.value;var c=h.ownerDocument.createElement("div");h.appendChild(c);b(c)}}}},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); +return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return k});var n=a(27);h=a(47);var d=a(26),b=a(32),c=a(186),e=a(326),g=a(331),l=function(){function a(a,b){for(var c= +0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();a(332);var k=function(a){function k(a,b){if(!(this instanceof k))throw new TypeError("Cannot call a class as a function");var d=q(this,(k.__proto__||Object.getPrototypeOf(k)).call(this));d.manager=a;d.existingLayer=b;d.statusElement=document.createElement("div");d.submitElement=document.createElement("button"); +d.namePromptElement=document.createElement("label");d.nameInputElement=document.createElement("input");d.volumeCancellationSource=void 0;d.sourceValid=!1;d.nameValid=!0;var l=d.content;l.classList.add("add-layer-overlay");var f=document.createElement("form");f.className="source-form";d.registerEventListener(f,"submit",function(a){a.preventDefault();d.validateSource(!0)});var m=document.createElement("label");m.textContent="Source:";a=d.sourceInput=d.registerDisposer(new e.a({completer:function(a, +b){return d.manager.dataSourceProvider.volumeCompleter(a,d.manager.chunkManager,b).then(function(a){return{completions:a.completions,makeElement:e.b,offset:a.offset,showSingleResult:!0}})},delay:0}));a.element.classList.add("add-layer-source");a.inputElement.addEventListener("blur",function(){d.validateSource(!1)});d.submitElement.disabled=!0;a.inputChanged.add(function(){var a=d.volumeCancellationSource;void 0!==a&&(a.cancel(),d.volumeCancellationSource=void 0);d.sourceValid=!1;d.submitElement.disabled= +!0;d.statusElement.textContent=""});f.appendChild(m);f.appendChild(a.element);Object(c.a)(m,a.inputElement);m=Object(g.a)();f.appendChild(m);l.appendChild(f);var h=d.statusElement,t=d.namePromptElement,r=d.nameInputElement;f=d.submitElement;h.className="dialog-status";m=document.createElement("form");m.className="name-form";t.textContent="Name:";r.className="add-layer-name";r.autocomplete="off";r.spellcheck=!1;r.type="text";d.registerEventListener(r,"input",function(){d.validateName()});f.type="submit"; +Object(c.a)(t,r);m.appendChild(t);m.appendChild(r);m.appendChild(f);l.appendChild(m);l.appendChild(h);void 0!==b?(void 0!==b.sourceUrl?(a.value=b.sourceUrl,d.validateSource()):d.sourceValid=!0,a.disabled=!0,r.value=b.name,d.validateName(),f.textContent="Save",r.focus()):(b=d.manager.layerManager.managedLayers,0<b.length&&(b=b[b.length-1],b instanceof n.b&&(b=b.sourceUrl,void 0!==b&&(l=d.manager.dataSourceProvider.findSourceGroup(b),a.value=b.substring(0,l),a.inputElement.setSelectionRange(0,l)))), +a.inputElement.focus(),f.textContent="Add Layer");d.registerEventListener(m,"submit",function(a){a.preventDefault();d.submit()});return d}p(k,a);l(k,[{key:"isNameValid",value:function(){var a=this.nameInputElement.value;if(""===a)return!1;a=this.manager.layerManager.getLayerByName(a);return void 0===a||a===this.existingLayer}},{key:"submit",value:function(){this.sourceValid&&this.isNameValid()&&(this.existingLayer?(this.existingLayer.name=this.nameInputElement.value,this.manager.layerManager.layersChanged.dispatch()): +this.manager.add(this.manager.getLayer(this.nameInputElement.value,this.sourceInput.value)),this.dispose())}},{key:"validateName",value:function(){var a=this.nameInputElement;(this.nameValid=this.isNameValid())?(a.classList.add("valid-input"),a.classList.remove("invalid-input")):(a.classList.remove("valid-input"),a.classList.add("invalid-input"));this.validityChanged()}},{key:"validityChanged",value:function(){this.submitElement.disabled=!(this.nameValid&&this.sourceValid)}},{key:"validateSource", +value:function(a){var c=this;a=void 0===a?!1:a;var e=this.sourceInput.value;if(""!==e){try{var g=this.manager.dataSourceProvider.suggestLayerName(e),k=this.nameInputElement;if(""===this.nameInputElement.value){var l=this.manager.layerManager.getUniqueLayerName(g);k.value=l;k.setSelectionRange(0,l.length);this.validateName()}a&&k.focus()}catch(z){this.setError(z.message);return}this.setInfo("Validating volume source...");var f=this.volumeCancellationSource=new b.b;this.manager.dataSourceProvider.getVolume(this.manager.chunkManager, +e,void 0,f).then(function(a){f.isCanceled||(c.volumeCancellationSource=void 0,c.sourceValid=!0,c.setInfo(d.c[a.volumeType].toLowerCase()+": "+(a.numChannels+"-channel "+d.a[a.dataType].toLowerCase())),c.validityChanged())}).catch(function(a){f.isCanceled||(c.volumeCancellationSource=void 0,c.setError(a.message))})}}},{key:"setInfo",value:function(a){this.statusElement.className="dialog-status dialog-status-info";this.statusElement.textContent=a}},{key:"setError",value:function(a){this.statusElement.className= +"dialog-status dialog-status-error";this.statusElement.textContent=a}}]);return k}(h.a)},function(h,f,a){f.a=function(a,f){""===f.id&&(f.id="unique-id-for-association-"+q++);a.setAttribute("for",f.id)};var q=0},function(h,f,a){f.a=function(a){var f=-1;return Object.assign(function(){-1===f&&(f=requestAnimationFrame(function(){f=-1;a()}))},{flush:function(){-1!==f&&(f=-1,a())},cancel:function(){-1!==f&&(cancelAnimationFrame(f),f=-1)}})}},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!== +b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function p(a,b){var c=document.documentElement.scrollTop+Math.min(document.documentElement.clientHeight-a.offsetHeight,b.clientY);a.style.left=document.documentElement.scrollLeft+Math.min(document.documentElement.clientWidth-a.offsetWidth, +b.clientX)+"px";a.style.top=c+"px";a.style.visibility=null}a.d(f,"a",function(){return e});var n=a(1),d=a(8),b=a(7),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();a(338);var e=function(a){function e(a){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");var c=(e.__proto__|| +Object.getPrototypeOf(e)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");c=!c||"object"!==typeof c&&"function"!==typeof c?this:c;c.element=document.createElement("div");c.parentDisposers=new Map;c.disabledValue=!1;c.opened=new b.a;c.closed=new b.a;var d=c.element;d.className="neuroglancer-context-menu";d.style.visibility="hidden";d.tabIndex=-1;document.body.appendChild(d);void 0!==a&&c.registerParent(a);return c}q(e,a);c(e,[{key:"registerParent", +value:function(a){var b=this,c=this.parentDisposers;c.has(a)||c.set(a,Object(n.c)(a,"contextmenu",function(a){b.show(a);a.stopPropagation();a.preventDefault()}))}},{key:"show",value:function(a){var b=this;if(!this.disabledValue){this.hide();var c=this.element,d=Object(n.c)(document,"mousedown",function(a){a.target instanceof Node&&!c.contains(a.target)&&b.hide()},!0),e=Object(n.c)(document,"keydown",function(a){"Escape"===a.code&&b.hide()},!0);c.style.display=null;c.style.visibility="hidden";this.opened.dispatch(); +p(c,a);this.menuDisposer=function(){e();d();c.style.display="none"}}}},{key:"unregisterParent",value:function(a){var b=this.parentDisposers,c=b.get(a);void 0!==c&&(c(),b.delete(a))}},{key:"disposed",value:function(){for(var a=this.parentDisposers,b=$jscomp.makeIterator(a.values()),c=b.next();!c.done;c=b.next())c=c.value,c();a.clear();Object(d.b)(this.element)}},{key:"hide",value:function(){void 0!==this.menuDisposer&&(this.menuDisposer(),this.menuDisposer=void 0,this.closed.dispatch())}},{key:"disabled", +get:function(){return this.disabledValue},set:function(a){this.disabledValue!==a&&(this.disabledValue=a)&&this.hide()}},{key:"open",get:function(){return void 0!==this.menuDisposer}}]);return e}(n.a)},function(h,f,a){f.a=function(a,d){var b=Object(q.c)(a,"drop",function(a){a.preventDefault();if(-1!==a.dataTransfer.types.indexOf(p.d)){var b=JSON.parse(a.dataTransfer.getData(p.d));d.restoreState(b);a.stopPropagation()}}),c=Object(q.c)(a,"dragover",function(a){-1!==a.dataTransfer.types.indexOf(p.d)&& +(a.dataTransfer.dropEffect="link",a.preventDefault(),a.stopPropagation())});return function(){c();b()}};var q=a(1),p=a(120)},function(h,f,a){(function(a){function f(b,e,g,l){function c(a){var c=f(b,e);if(!c||c.to.line-c.from.line<m)return null;for(var d=b.findMarksAt(c.from),g=0;g<d.length;++g)if(d[g].__isFold&&"fold"!==l){if(!a)return null;c.cleared=!0;d[g].clear()}return c}if(g&&g.call){var f=g;g=null}else f=d(b,g,"rangeFinder");"number"==typeof e&&(e=a.Pos(e,0));var m=d(b,g,"minFoldSize"),r=c(!0); +if(d(b,g,"scanUp"))for(;!r&&e.line>b.firstLine();)e=a.Pos(e.line-1,0),r=c(!1);if(r&&!r.cleared&&"unfold"!==l){var n=h(b,g);a.on(n,"mousedown",function(b){p.clear();a.e_preventDefault(b)});var p=b.markText(r.from,r.to,{replacedWith:n,clearOnEnter:d(b,g,"clearOnEnter"),__isFold:!0});p.on("clear",function(c,d){a.signal(b,"unfold",b,c,d)});a.signal(b,"fold",b,r.from,r.to)}}function h(a,b){a=d(a,b,"widget");"string"==typeof a?(b=document.createTextNode(a),a=document.createElement("span"),a.appendChild(b), +a.className="CodeMirror-foldmarker"):a&&(a=a.cloneNode(!0));return a}function d(a,d,g){return d&&void 0!==d[g]?d[g]:(a=a.options.foldOptions)&&void 0!==a[g]?a[g]:b[g]}a.newFoldFunction=function(a,b){return function(c,d){f(c,d,{rangeFinder:a,widget:b})}};a.defineExtension("foldCode",function(a,b,d){f(this,a,b,d)});a.defineExtension("isFolded",function(a){a=this.findMarksAt(a);for(var b=0;b<a.length;++b)if(a[b].__isFold)return!0});a.commands.toggleFold=function(a){a.foldCode(a.getCursor())};a.commands.fold= +function(a){a.foldCode(a.getCursor(),null,"fold")};a.commands.unfold=function(a){a.foldCode(a.getCursor(),null,"unfold")};a.commands.foldAll=function(b){b.operation(function(){for(var c=b.firstLine(),d=b.lastLine();c<=d;c++)b.foldCode(a.Pos(c,0),null,"fold")})};a.commands.unfoldAll=function(b){b.operation(function(){for(var c=b.firstLine(),d=b.lastLine();c<=d;c++)b.foldCode(a.Pos(c,0),null,"unfold")})};a.registerHelper("fold","combine",function(){var a=Array.prototype.slice.call(arguments,0);return function(b, +c){for(var d=0;d<a.length;++d){var e=a[d](b,c);if(e)return e}}});a.registerHelper("fold","auto",function(a,b){for(var c=a.getHelpers(b,"fold"),d=0;d<c.length;d++){var e=c[d](a,b);if(e)return e}});var b={rangeFinder:a.fold.auto,widget:"\u2194",minFoldSize:0,scanUp:!1,clearOnEnter:!0};a.defineOption("foldOptions",null);a.defineExtension("foldOption",function(a,b){return d(this,a,b)})})(a(48))},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); +return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return w});var n=a(2),d=a(80),b=a(22),c=a(82),e=a(360),g=a(29),l=a(192),k=a(35),t=a(9),m=function(){function a(a, +b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),r=function x(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return x(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},u=n.s.create(),v=n.k.create();f.b="perpspectiveRenderEvent"; +var w=function(a){function f(a,g,m,h){if(!(this instanceof f))throw new TypeError("Cannot call a class as a function");var r=q(this,(f.__proto__||Object.getPrototypeOf(f)).call(this,a,g,m));r.config=h;r.planarSlices=new Set;r.transparentPlaneRenderHelper=r.registerDisposer(e.b.get(r.gl,c.c));r.scaleBarWidget=r.registerDisposer(new l.a);Object(b.c)(g,"nehuba-translate-via-mouse-drag",function(a){Object(d.a)(a.detail,function(a,b,c){if(r.config.layout.useNehubaPerspective.enableShiftDrag){a=r.width; +var d=r.height,e=r.viewer.navigationState.position,g=e.spatialCoordinates;n.s.transformMat4(u,g,r.projectionMat);u[0]=2*b/a;u[1]=-2*c/d;n.s.transformMat4(g,u,r.inverseProjectionMat);e.changed.dispatch()}})});a=h.layout.useNehubaPerspective.removePerspectiveSlicesBackground;r.nehubaSliceViewRenderHelper=r.registerDisposer(e.a.get(r.gl,c.c,a&&a.mode||"none"));r.registerDisposer(r.visibility.changed.add(function(){return Array.from(r.sliceViews.keys()).forEach(function(a){return a.visibility.value=r.visibility.value})})); +a=r.scaleBarWidget.element;r.registerDisposer(new k.a(Object(t.g)(function(a,b){return a&&b},m.showScaleBar,m.orthographicProjection),a));g.appendChild(a);return r}p(f,a);m(f,[{key:"updateProjectionMatrix",value:function(){r(f.prototype.__proto__||Object.getPrototypeOf(f.prototype),"updateProjectionMatrix",this).call(this);this.config.layout.useNehubaPerspective.centerToOrigin&&(n.k.translate(this.projectionMat,this.projectionMat,this.navigationState.position.spatialCoordinates),n.k.invert(this.inverseProjectionMat, +this.projectionMat))}},{key:"disposed",value:function(){for(var a=$jscomp.makeIterator(this.planarSlices),b=a.next();!b.done;b=a.next())b.value.dispose();this.planarSlices.clear();r(f.prototype.__proto__||Object.getPrototypeOf(f.prototype),"disposed",this).call(this)}},{key:"draw",value:function(){for(var a=$jscomp.makeIterator(this.sliceViews.keys()),b=a.next();!b.done;b=a.next())b.value.visibility.value=this.config.layout.useNehubaPerspective.disablePerspectiveSlicesPreloading?this.viewer.showSliceViews.value&& +this.visibility.visible?g.b.VISIBLE:g.b.IGNORED:this.visibility.value;if(this.navigationState.valid){this.onResize();a=this.width;var d=this.height;if(0!==a&&0!==d){b=this.viewer.showSliceViews.value;for(var e=$jscomp.makeIterator(this.sliceViews),k=e.next();!k.done;k=e.next()){k=$jscomp.makeIterator(k.value);var l=k.next().value;(k.next().value||b)&&l.updateRendering()}e=$jscomp.makeIterator(this.planarSlices);for(b=e.next();!b.done;b=e.next())b.value.updateRendering();b=this.gl;this.offscreenFramebuffer.bind(a, +d);b.disable(b.SCISSOR_TEST);e=this.config.layout.useNehubaPerspective;e=e.perspectiveBackground||e.perspectiveSlicesBackground||this.viewer.crossSectionBackgroundColor.value;this.gl.clearColor(e[0],e[1],e[2],1);b.clear(b.COLOR_BUFFER_BIT|b.DEPTH_BUFFER_BIT);b.enable(b.DEPTH_TEST);e=this.projectionMat;this.updateProjectionMatrix();k=n.s.create();Object(n.p)(k,n.e[2],this.modelViewMat);n.s.normalize(k,k);l=this.pickIDs;l.clear();e={dataToDevice:e,lightDirection:k,ambientLighting:.2,directionalLighting:.8, +pickIDs:l,emitter:c.c,emitColor:!0,emitPickID:!0,alreadyEmittedPickID:!1,viewportWidth:a,viewportHeight:d,extra:{config:this.config,showSliceViewsCheckboxValue:this.viewer.showSliceViews.value,slicesPose:this.viewer.slicesNavigationState.pose,perspectiveNavigationState:this.viewer.navigationState,meshesLoaded:-1,meshFragmentsLoaded:-1,crossSectionBackground:this.viewer.crossSectionBackgroundColor.value}};k=this.visibleLayerTracker.getVisibleLayers();for(var f=l=!1,m=$jscomp.makeIterator(k),h=m.next();!h.done;h= +m.next())h=h.value,h.isTransparent?l=!0:h.isAnnotation?f=!0:h.draw(e);this.config.layout.useNehubaPerspective.waitForMesh&&!e.extra.meshRendered||this.drawSliceViews(e);if(f){b.enable(WebGL2RenderingContext.BLEND);b.depthFunc(WebGL2RenderingContext.LEQUAL);b.blendFunc(WebGL2RenderingContext.SRC_ALPHA,WebGL2RenderingContext.ONE_MINUS_SRC_ALPHA);b.drawBuffers([b.COLOR_ATTACHMENT0,b.NONE,b.NONE]);e.emitPickID=!1;f=$jscomp.makeIterator(k);for(h=f.next();!h.done;h=f.next())h=h.value,h.isAnnotation&&h.draw(e); +b.depthFunc(WebGL2RenderingContext.LESS);b.disable(WebGL2RenderingContext.BLEND);b.drawBuffers([b.COLOR_ATTACHMENT0,b.COLOR_ATTACHMENT1,b.COLOR_ATTACHMENT2]);e.emitPickID=!0}h=this.config.layout.useNehubaPerspective.disableAxisLinesInPerspective;this.viewer.showAxisLines.value&&!h&&this.drawAxisLines();if(l){b.depthMask(!1);b.enable(WebGL2RenderingContext.BLEND);l=this.transparentConfiguration;l.bind(a,d);this.gl.clearColor(0,0,0,1);b.clear(WebGL2RenderingContext.COLOR_BUFFER_BIT);e.emitter=c.d;b.blendFuncSeparate(WebGL2RenderingContext.ONE, +WebGL2RenderingContext.ONE,WebGL2RenderingContext.ZERO,WebGL2RenderingContext.ONE_MINUS_SRC_ALPHA);e.emitPickID=!1;f=$jscomp.makeIterator(k);for(h=f.next();!h.done;h=f.next())h=h.value,h.isTransparent&&h.draw(e);b.disable(WebGL2RenderingContext.DEPTH_TEST);this.offscreenFramebuffer.bindSingle(c.a.COLOR);b.blendFunc(WebGL2RenderingContext.ONE_MINUS_SRC_ALPHA,WebGL2RenderingContext.SRC_ALPHA);this.transparencyCopyHelper.draw(l.colorBuffers[0].texture,l.colorBuffers[1].texture);b.depthMask(!0);b.disable(WebGL2RenderingContext.BLEND); +b.enable(WebGL2RenderingContext.DEPTH_TEST);this.offscreenFramebuffer.bind(a,d)}b.drawBuffers([b.NONE,b.COLOR_ATTACHMENT1,b.COLOR_ATTACHMENT2]);e.emitter=c.c;e.emitPickID=!0;e.emitColor=!1;b.enable(WebGL2RenderingContext.POLYGON_OFFSET_FILL);b.polygonOffset(-1,-1);d=$jscomp.makeIterator(k);for(h=d.next();!h.done;h=d.next())k=h.value,e.alreadyEmittedPickID=!k.isTransparent&&!k.isAnnotation,k.draw(e);b.disable(WebGL2RenderingContext.POLYGON_OFFSET_FILL);this.viewer.showScaleBar.value&&this.viewer.orthographicProjection.value&& +(d=this.scaleBarWidget.dimensions,d.targetLengthInPixels=Math.min(a/4,100),d.nanometersPerPixel=this.nanometersPerPixel,this.scaleBarWidget.update());this.offscreenFramebuffer.unbind();this.setGLViewport();this.offscreenCopyHelper.draw(this.offscreenFramebuffer.colorBuffers[c.a.COLOR].texture);a=new CustomEvent("perpspectiveRenderEvent",{bubbles:!0,detail:{meshesLoaded:e.extra.meshesLoaded,meshFragmentsLoaded:e.extra.meshFragmentsLoaded,lastLoadedMeshId:e.extra.lastMeshId}});this.element.dispatchEvent(a)}}}}, +{key:"drawSliceViews",value:function(a){var b=this.config.layout.useNehubaPerspective,c=this.sliceViewRenderHelper,d=this.nehubaSliceViewRenderHelper,e=this.transparentPlaneRenderHelper,g=a.lightDirection,k=a.ambientLighting,l=a.directionalLighting;a=a.dataToDevice;var f=this.viewer.showSliceViews.value;if(!b.hideImages){var m=b.removePerspectiveSlicesBackground;c=m?d:c;for(var h=$jscomp.makeIterator(this.sliceViews),t=h.next();!t.done;t=h.next()){var r=$jscomp.makeIterator(t.value);t=r.next().value; +if((r.next().value||f)&&0!==t.width&&0!==t.height&&t.hasValidViewport){r=Math.abs(n.s.dot(g,t.viewportAxes[2]));r=k+r*l;var p=v;n.k.identity(p);p[0]=t.width/2;p[5]=-t.height/2;n.k.multiply(p,t.viewportToData,p);n.k.multiply(p,a,p);var q=n.u.create(),u=b.perspectiveSlicesBackground||this.viewer.crossSectionBackgroundColor.value;q[0]=u[0];q[1]=u[1];q[2]=u[2];q[3]=1;d.setDiscardColor(m&&m.color||q);c.draw(t.offscreenFramebuffer.colorBuffers[0].texture,p,n.u.fromValues(r,r,r,1),q,0,0,1,1)}}}if(b.drawSubstrates&& +f)for(d=b.fixedZoomPerspectiveSlices&&b.fixedZoomPerspectiveSlices.sliceViewportSizeMultiplier||1,g=$jscomp.makeIterator(this.sliceViews.keys()),k=g.next();!k.done;k=g.next()){c=k.value;k=v;n.k.identity(k);k[0]=c.width/2/d;k[5]=-c.height/2/d;n.k.multiply(k,c.viewportToData,k);l=n.k.clone(a);m=n.s.clone(this.navigationState.position.spatialCoordinates);c=n.s.clone(c.viewportAxes[2]);h=this.viewer.slicesNavigationState.pose.orientation.orientation;t=n.n.invert(n.n.create(),h);n.s.transformQuat(c,c, +t);n.s.transformQuat(m,m,t);t=n.s.create();for(r=0;3>r;r++)t[r]=0===Math.round(c[r])?-m[r]:0;n.s.transformQuat(t,t,h);n.k.translate(l,l,t);n.k.multiply(k,l,k);l=b.drawSubstrates.color||n.u.fromValues(0,0,1,.2);e.draw(k,l,{factor:3,units:1})}if(b.drawZoomLevels&&f&&(f=b.drawZoomLevels.cutOff)&&this.viewer.slicesNavigationState.zoomFactor.value<f)for(f=$jscomp.makeIterator(this.planarSlices),k=f.next();!k.done;k=f.next())g=k.value,d=v,n.k.identity(d),d[0]=g.width/2,d[5]=-g.height/2,n.k.multiply(d,g.viewportToData, +d),n.k.multiply(d,a,d),g=b.drawZoomLevels.color||n.u.fromValues(1,0,0,.2),e.draw(d,g,{factor:-1,units:1})}},{key:"zoomByMouse",value:function(a){r(f.prototype.__proto__||Object.getPrototypeOf(f.prototype),"zoomByMouse",this).call(this,a);if(a=this.config.layout.useNehubaPerspective.restrictZoomLevel)a.minZoom&&this.navigationState.zoomFactor.value<a.minZoom&&(this.navigationState.zoomFactor.value=a.minZoom),a.maxZoom&&this.navigationState.zoomFactor.value>a.maxZoom&&(this.navigationState.zoomFactor.value= +a.maxZoom)}}]);return f}(c.b)},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return b});h=a(1);var p=a(53),n=a(8),d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable= +d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();a(361);var b=function(a){function b(a){a=void 0===a?new p.a:a;if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var c=(b.__proto__||Object.getPrototypeOf(b)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");c=!c||"object"!==typeof c&&"function"!==typeof c? +this:c;c.dimensions=a;c.element=document.createElement("div");c.textNode=document.createTextNode("");c.barElement=document.createElement("div");a=c.element;var d=c.textNode,e=c.barElement;a.className="scale-bar-container";a.appendChild(d);a.appendChild(e);e.className="scale-bar";return c}q(b,a);d(b,[{key:"update",value:function(){var a=this.dimensions;a.update()&&(this.textNode.textContent=a.physicalLength+" "+a.physicalUnit,this.barElement.style.width=a.lengthInPixels+"px")}},{key:"disposed",value:function(){Object(n.b)(this.element)}}]); +return b}(h.a)},function(h,f,a){function q(a){if(!a[m]){a.registerDisposer(a.layerManager.layersChanged.add(function(){for(var b=!1,c=new g.b(g.s.fromValues(Infinity,Infinity,Infinity),g.s.fromValues(-Infinity,-Infinity,-Infinity)),d=$jscomp.makeIterator(a.layerManager.managedLayers),e=d.next();!e.done;e=d.next())if(e=e.value.layer,null!=e){e=$jscomp.makeIterator(e.renderLayers);for(var k=e.next();!k.done;k=e.next())k=k.value.boundingBox,null!=k&&(g.s.min(c.lower,c.lower,k.lower),g.s.max(c.upper, +c.upper,k.upper),b=!0)}b&&(a.navigationState.position[t]=c);b&&(a.navigationState.pose[t]=c);b&&a.navigationState.position.changed.dispatch()}));var b=a.navigationState.position,c=b.changed.dispatch;b.changed.dispatch=function(){var a=b[t];if(a){var d=b.spatialCoordinates;g.s.min(d,d,a.upper);g.s.max(d,d,a.lower)}c()};a[m]=!0}}function p(a){d(a,function(a){a=a.displayState;a.segmentColorHash instanceof k.a||(a.segmentColorHash=k.a.from(a.segmentColorHash))})}function n(a,b){var c=a.display.onResize; +a.display.onResize=function(){if(b.dedebounceUpdates){this.scheduleRedraw();for(var a=$jscomp.makeIterator(this.panels),d=a.next();!d.done;d=a.next())d.value.onResize()}else c.call(this)}}function d(a,c){b(a,c);var d=a.layerManager;d.registerDisposer(d.layersChanged.add(function(){b(a,c)}))}function b(a,b){a.layerManager.managedLayers.map(function(a){return a.layer}).filter(function(a){return!!a}).filter(function(a){return a instanceof l.SegmentationUserLayer}).map(function(a){return a}).forEach(function(a){b(a)})} +function c(a,b){$jscomp.initSymbol();var c=Symbol("customEvent");a.addEventListener("wheel",function(a){if(!a[c]&&b.zoomWithoutCtrl){a.stopImmediatePropagation();a.stopPropagation();a.preventDefault();var d=new Proxy(a,{get:function(a,b){if("ctrlKey"===b)return!a[b];b=a[b];return"function"===typeof b?b.bind(a):b}});d=new WheelEvent(a.type,d);d[c]=!0;a.target.dispatchEvent(d)}},!0)}function e(a,b){a.addEventListener("mousedown",function(a){b.rightClickWithCtrl&&2===a.button&&!a.ctrlKey&&(a.stopImmediatePropagation(), +a.stopPropagation(),a.preventDefault())},!0)}f.a=function(a,b){b.restrictUserNavigation&&q(a);b.globals&&b.globals.useCustomSegmentColors&&p(a);b.globals&&b.globals.useNehubaLayout&&(a.inputEventBindings.sliceView.set("at:shift+mousedown0",{action:"nehuba-rotate-via-mouse-drag",stopPropagation:!0}),b.layout&&b.layout.useNehubaPerspective&&a.inputEventBindings.perspectiveView.set("at:shift+mousedown0",{action:"nehuba-translate-via-mouse-drag",stopPropagation:!0}));b.dedebounceUpdates&&n(a,b)};f.b= +function(a,b){c(a,b);e(a,b)};f.e=q;f.d=function(a){a.displayState.segmentSelectionState.set(null);a.displayState.segmentSelectionState.set=function(){}};f.c=function(a){a.displayState.segmentSelectionState.isSelected=function(){return!1}};var g=a(2),l=a(65),k=a(122);$jscomp.initSymbol();var t=Symbol("bbox");$jscomp.initSymbol();var m=Symbol("hooked")},function(h,f,a){h.exports=a(364)},function(h,f,a){f.isObject=function(a){return null!=a&&"object"===typeof a}},function(h,f,a){var q=this&&this.__extends|| +function(a,f){function d(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(d.prototype=f.prototype,new d)};h=function(a){function f(d){a.call(this);this.errors=d;d=Error.call(this,d?d.length+" errors occurred during unsubscription:\n "+d.map(function(a,c){return c+1+") "+a.toString()}).join("\n "):"");this.name=d.name="UnsubscriptionError";this.stack=d.stack;this.message=d.message}q(f,a);return f}(Error);f.UnsubscriptionError=h},function(h, +f,a){f.empty={closed:!0,next:function(a){},error:function(a){throw a;},complete:function(){}}},function(h,f,a){var q=this&&this.__extends||function(a,f){function d(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(d.prototype=f.prototype,new d)};h=function(a){function f(d,b){a.call(this);this.subject=d;this.subscriber=b;this.closed=!1}q(f,a);f.prototype.unsubscribe=function(){if(!this.closed){this.closed=!0;var a=this.subject,b=a.observers; +this.subject=null;!b||0===b.length||a.isStopped||a.closed||(a=b.indexOf(this.subscriber),-1!==a&&b.splice(a,1))}};return f}(a(11).Subscription);f.SubjectSubscription=h},function(h,f,a){f.isArrayLike=function(a){return a&&"number"===typeof a.length}},function(h,f,a){f.isPromise=function(a){return a&&"function"!==typeof a.subscribe&&"function"===typeof a.then}},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype= +null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(36),n=a(199),d=a(200),b=a(202),c=a(387),e=a(38),g=a(388),l=a(68),k=a(0),t=a(127),m=a(87);h=function(a){function f(b,c){a.call(this,null);this.ish=b;this.scheduler=c}q(f,a);f.create=function(a,h){if(null!=a){if("function"===typeof a[m.observable])return a instanceof k.Observable&&!h?a:new f(a,h);if(p.isArray(a))return new e.ArrayObservable(a,h);if(d.isPromise(a))return new b.PromiseObservable(a,h);if("function"===typeof a[l.iterator]|| +"string"===typeof a)return new c.IteratorObservable(a,h);if(n.isArrayLike(a))return new g.ArrayLikeObservable(a,h)}throw new TypeError((null!==a&&typeof a||a)+" is not observable");};f.prototype._subscribe=function(a){var b=this.ish,c=this.scheduler;return null==c?b[m.observable]().subscribe(a):b[m.observable]().subscribe(new t.ObserveOnSubscriber(a,c,0))};return f}(k.Observable);f.FromObservable=h},function(h,f,a){function q(a){var b=a.value;a=a.subscriber;a.closed||(a.next(b),a.complete())}function p(a){var b= +a.err;a=a.subscriber;a.closed||a.error(b)}var n=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)},d=a(16);h=function(a){function b(b,c){a.call(this);this.promise=b;this.scheduler=c}n(b,a);b.create=function(a,c){return new b(a,c)};b.prototype._subscribe=function(a){var b=this,c=this.promise,e=this.scheduler;if(null==e)this._isScalar?a.closed||(a.next(this.value), +a.complete()):c.then(function(c){b.value=c;b._isScalar=!0;a.closed||(a.next(c),a.complete())},function(b){a.closed||a.error(b)}).then(null,function(a){d.root.setTimeout(function(){throw a;})});else if(this._isScalar){if(!a.closed)return e.schedule(q,0,{value:this.value,subscriber:a})}else c.then(function(c){b.value=c;b._isScalar=!0;a.closed||a.add(e.schedule(q,0,{value:c,subscriber:a}))},function(b){a.closed||a.add(e.schedule(p,0,{err:b,subscriber:a}))}).then(null,function(a){d.root.setTimeout(function(){throw a; +})})};return b}(a(0).Observable);f.PromiseObservable=h},function(h,f,a){function q(){for(var a=[],e=0;e<arguments.length;e++)a[e-0]=arguments[e];e=Number.POSITIVE_INFINITY;var g=null,l=a[a.length-1];b.isScheduler(l)?(g=a.pop(),1<a.length&&"number"===typeof a[a.length-1]&&(e=a.pop())):"number"===typeof l&&(e=a.pop());return null===g&&1===a.length&&a[0]instanceof p.Observable?a[0]:(new n.ArrayObservable(a,g)).lift(new d.MergeAllOperator(e))}var p=a(0),n=a(38),d=a(90),b=a(37);f.merge=function(){for(var a= +[],b=0;b<arguments.length;b++)a[b-0]=arguments[b];return this.lift.call(q.apply(void 0,[this].concat(a)))};f.mergeStatic=q},function(h,f,a){function q(){for(var a=[],b=0;b<arguments.length;b++)a[b-0]=arguments[b];if(1===a.length)if(n.isArray(a[0]))a=a[0];else return a[0];return(new d.ArrayObservable(a)).lift(new c)}var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype, +new c)},n=a(36),d=a(38);h=a(5);var b=a(6);f.race=function(){for(var a=[],b=0;b<arguments.length;b++)a[b-0]=arguments[b];1===a.length&&n.isArray(a[0])&&(a=a[0]);return this.lift.call(q.apply(void 0,[this].concat(a)))};f.raceStatic=q;var c=function(){function a(){}a.prototype.call=function(a,b){return b.subscribe(new e(a))};return a}();f.RaceOperator=c;var e=function(a){function c(b){a.call(this,b);this.hasFirst=!1;this.observables=[];this.subscriptions=[]}p(c,a);c.prototype._next=function(a){this.observables.push(a)}; c.prototype._complete=function(){var a=this.observables,c=a.length;if(0===c)this.destination.complete();else{for(var d=0;d<c&&!this.hasFirst;d++){var e=a[d];e=b.subscribeToResult(this,e,e,d);this.subscriptions&&this.subscriptions.push(e);this.add(e)}this.observables=null}};c.prototype.notifyNext=function(a,b,c,d,e){if(!this.hasFirst){this.hasFirst=!0;for(a=0;a<this.subscriptions.length;a++)a!==c&&(d=this.subscriptions[a],d.unsubscribe(),this.remove(d));this.subscriptions=null}this.destination.next(b)}; -return c}(h.OuterSubscriber);f.RaceSubscriber=e},function(h,f,a){f.noop=function(){}},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(201),n=a(36);h=a(5);var c=a(6);f.onErrorResumeNext=function(){for(var a=[],c=0;c<arguments.length;c++)a[c-0]=arguments[c];1===a.length&&n.isArray(a[0])&&(a=a[0]);return this.lift(new b(a))};f.onErrorResumeNextStatic= -function(){for(var a=[],c=0;c<arguments.length;c++)a[c-0]=arguments[c];1===a.length&&n.isArray(a[0])&&(a=a[0]);c=a.shift();return(new p.FromObservable(c,null)).lift(new b(a))};var b=function(){function a(a){this.nextSources=a}a.prototype.call=function(a,b){return b.subscribe(new d(a,this.nextSources))};return a}(),d=function(a){function b(b,c){a.call(this,b);this.destination=b;this.nextSources=c}q(b,a);b.prototype.notifyError=function(a,b){this.subscribeToNextSource()};b.prototype.notifyComplete= -function(a){this.subscribeToNextSource()};b.prototype._error=function(a){this.subscribeToNextSource()};b.prototype._complete=function(){this.subscribeToNextSource()};b.prototype.subscribeToNextSource=function(){var a=this.nextSources.shift();a?this.add(c.subscribeToResult(this,a)):this.destination.complete()};return b}(h.OuterSubscriber)},function(h,f,a){function q(a,b){void 0===b&&(b=null);return new r({method:"GET",url:a,headers:b})}function p(a,b,c){return new r({method:"POST",url:a,body:b,headers:c})} -function n(a,b){return new r({method:"DELETE",url:a,headers:b})}function c(a,b,c){return new r({method:"PUT",url:a,body:b,headers:c})}function b(a,b,c){return new r({method:"PATCH",url:a,body:b,headers:c})}function d(a,b){return(new r({method:"GET",url:a,responseType:"json",headers:b})).lift(new m.MapOperator(function(a,b){return a.response},null))}var e=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b): -(c.prototype=b.prototype,new c)},g=a(16),l=a(17),k=a(13);h=a(0);var t=a(3),m=a(129);f.ajaxGet=q;f.ajaxPost=p;f.ajaxDelete=n;f.ajaxPut=c;f.ajaxPatch=b;f.ajaxGetJSON=d;var r=function(a){function k(b){a.call(this);var c={async:!0,createXHR:function(){if(this.crossDomain)if(g.root.XMLHttpRequest)var a=new g.root.XMLHttpRequest;else if(g.root.XDomainRequest)a=new g.root.XDomainRequest;else throw Error("CORS is not supported by your browser");else if(g.root.XMLHttpRequest)a=new g.root.XMLHttpRequest;else{var b= +return c}(h.OuterSubscriber);f.RaceSubscriber=e},function(h,f,a){f.noop=function(){}},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(201),n=a(36);h=a(5);var d=a(6);f.onErrorResumeNext=function(){for(var a=[],c=0;c<arguments.length;c++)a[c-0]=arguments[c];1===a.length&&n.isArray(a[0])&&(a=a[0]);return this.lift(new b(a))};f.onErrorResumeNextStatic= +function(){for(var a=[],c=0;c<arguments.length;c++)a[c-0]=arguments[c];1===a.length&&n.isArray(a[0])&&(a=a[0]);c=a.shift();return(new p.FromObservable(c,null)).lift(new b(a))};var b=function(){function a(a){this.nextSources=a}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.nextSources))};return a}(),c=function(a){function b(b,c){a.call(this,b);this.destination=b;this.nextSources=c}q(b,a);b.prototype.notifyError=function(a,b){this.subscribeToNextSource()};b.prototype.notifyComplete= +function(a){this.subscribeToNextSource()};b.prototype._error=function(a){this.subscribeToNextSource()};b.prototype._complete=function(){this.subscribeToNextSource()};b.prototype.subscribeToNextSource=function(){var a=this.nextSources.shift();a?this.add(d.subscribeToResult(this,a)):this.destination.complete()};return b}(h.OuterSubscriber)},function(h,f,a){function q(a,b){void 0===b&&(b=null);return new r({method:"GET",url:a,headers:b})}function p(a,b,c){return new r({method:"POST",url:a,body:b,headers:c})} +function n(a,b){return new r({method:"DELETE",url:a,headers:b})}function d(a,b,c){return new r({method:"PUT",url:a,body:b,headers:c})}function b(a,b,c){return new r({method:"PATCH",url:a,body:b,headers:c})}function c(a,b){return(new r({method:"GET",url:a,responseType:"json",headers:b})).lift(new m.MapOperator(function(a,b){return a.response},null))}var e=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b): +(c.prototype=b.prototype,new c)},g=a(16),l=a(17),k=a(13);h=a(0);var t=a(3),m=a(129);f.ajaxGet=q;f.ajaxPost=p;f.ajaxDelete=n;f.ajaxPut=d;f.ajaxPatch=b;f.ajaxGetJSON=c;var r=function(a){function k(b){a.call(this);var c={async:!0,createXHR:function(){if(this.crossDomain)if(g.root.XMLHttpRequest)var a=new g.root.XMLHttpRequest;else if(g.root.XDomainRequest)a=new g.root.XDomainRequest;else throw Error("CORS is not supported by your browser");else if(g.root.XMLHttpRequest)a=new g.root.XMLHttpRequest;else{var b= void 0;try{for(var c=["Msxml2.XMLHTTP","Microsoft.XMLHTTP","Msxml2.XMLHTTP.4.0"],d=0;3>d;d++)try{b=c[d];new g.root.ActiveXObject(b);break}catch(L){}a=new g.root.ActiveXObject(b)}catch(L){throw Error("XMLHttpRequest is not supported by your browser");}}return a},crossDomain:!1,withCredentials:!1,headers:{},method:"GET",responseType:"json",timeout:0};if("string"===typeof b)c.url=b;else for(var d in b)b.hasOwnProperty(d)&&(c[d]=b[d]);this.request=c}e(k,a);k.prototype._subscribe=function(a){return new u(a, -this.request)};k.create=function(){var a=function(a){return new k(a)};a.get=q;a.post=p;a.delete=n;a.put=c;a.patch=b;a.getJSON=d;return a}();return k}(h.Observable);f.AjaxObservable=r;var u=function(a){function b(b,c){a.call(this,b);this.request=c;this.done=!1;b=c.headers=c.headers||{};c.crossDomain||b["X-Requested-With"]||(b["X-Requested-With"]="XMLHttpRequest");"Content-Type"in b||g.root.FormData&&c.body instanceof g.root.FormData||"undefined"===typeof c.body||(b["Content-Type"]="application/x-www-form-urlencoded; charset=UTF-8"); +this.request)};k.create=function(){var a=function(a){return new k(a)};a.get=q;a.post=p;a.delete=n;a.put=d;a.patch=b;a.getJSON=c;return a}();return k}(h.Observable);f.AjaxObservable=r;var u=function(a){function b(b,c){a.call(this,b);this.request=c;this.done=!1;b=c.headers=c.headers||{};c.crossDomain||b["X-Requested-With"]||(b["X-Requested-With"]="XMLHttpRequest");"Content-Type"in b||g.root.FormData&&c.body instanceof g.root.FormData||"undefined"===typeof c.body||(b["Content-Type"]="application/x-www-form-urlencoded; charset=UTF-8"); c.body=this.serializeBody(c.body,c.headers["Content-Type"]);this.send()}e(b,a);b.prototype.next=function(a){this.done=!0;var b=this.destination;a=new v(a,this.xhr,this.request);b.next(a)};b.prototype.send=function(){var a=this.request,b=this.request,c=b.user,d=b.method,e=b.url,g=b.async,f=b.password,m=b.headers;b=b.body;var h=l.tryCatch(a.createXHR).call(a);if(h===k.errorObject)this.error(k.errorObject.e);else{this.xhr=h;this.setupEvents(h,a);c=c?l.tryCatch(h.open).call(h,d,e,g,c,f):l.tryCatch(h.open).call(h, d,e,g);if(c===k.errorObject)return this.error(k.errorObject.e),null;g&&(h.timeout=a.timeout,h.responseType=a.responseType);"withCredentials"in h&&(h.withCredentials=!!a.withCredentials);this.setHeaders(h,m);c=b?l.tryCatch(h.send).call(h,b):l.tryCatch(h.send).call(h);if(c===k.errorObject)return this.error(k.errorObject.e),null}return h};b.prototype.serializeBody=function(a,b){if(!a||"string"===typeof a||g.root.FormData&&a instanceof g.root.FormData)return a;if(b){var c=b.indexOf(";");-1!==c&&(b=b.substring(0, c))}switch(b){case "application/x-www-form-urlencoded":return Object.keys(a).map(function(b){return encodeURI(b)+"="+encodeURI(a[b])}).join("&");case "application/json":return JSON.stringify(a);default:return a}};b.prototype.setHeaders=function(a,b){for(var c in b)b.hasOwnProperty(c)&&a.setRequestHeader(c,b[c])};b.prototype.setupEvents=function(a,b){function c(a){var b=c.subscriber,d=c.progressSubscriber,e=c.request;d&&d.error(a);b.error(new y(this,e))}function d(a){var b=d.subscriber,c=d.progressSubscriber, @@ -1526,300 +1526,301 @@ e=d.request;if(4===this.readyState){var g=1223===this.status?204:this.status,k=" k:a.upload.onprogress=k;k.progressSubscriber=e}var l=function(a){var b=l.progressSubscriber,c=l.subscriber,d=l.request;b&&b.error(a);c.error(new w("ajax error",this,d))};a.onerror=l;l.request=b;l.subscriber=this;l.progressSubscriber=e}a.onreadystatechange=d;d.subscriber=this;d.progressSubscriber=e;d.request=b};b.prototype.unsubscribe=function(){var b=this.xhr;!this.done&&b&&4!==b.readyState&&"function"===typeof b.abort&&b.abort();a.prototype.unsubscribe.call(this)};return b}(t.Subscriber);f.AjaxSubscriber= u;var v=function(){return function(a,b,c){this.originalEvent=a;this.xhr=b;this.request=c;this.status=b.status;this.responseType=b.responseType||c.responseType;switch(this.responseType){case "json":this.response="response"in b?b.responseType?b.response:JSON.parse(b.response||b.responseText||"null"):JSON.parse(b.responseText||"null");break;case "xml":this.response=b.responseXML;break;default:this.response="response"in b?b.response:b.responseText}}}();f.AjaxResponse=v;var w=function(a){function b(b, c,d){a.call(this,b);this.message=b;this.xhr=c;this.request=d;this.status=c.status}e(b,a);return b}(Error);f.AjaxError=w;var y=function(a){function b(b,c){a.call(this,"ajax timeout",b,c)}e(b,a);return b}(w);f.AjaxTimeoutError=y},function(h,f,a){h=a(441);a=a(442);f.queue=new a.QueueScheduler(h.QueueAction)},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype, -new b)},p=a(6);h=a(5);f.mergeMap=function(a,c,e){void 0===e&&(e=Number.POSITIVE_INFINITY);"number"===typeof c&&(e=c,c=null);return this.lift(new n(a,c,e))};var n=function(){function a(a,b,c){void 0===c&&(c=Number.POSITIVE_INFINITY);this.project=a;this.resultSelector=b;this.concurrent=c}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.project,this.resultSelector,this.concurrent))};return a}();f.MergeMapOperator=n;var c=function(a){function b(b,c,d,k){void 0===k&&(k=Number.POSITIVE_INFINITY); +new b)},p=a(6);h=a(5);f.mergeMap=function(a,c,d){void 0===d&&(d=Number.POSITIVE_INFINITY);"number"===typeof c&&(d=c,c=null);return this.lift(new n(a,c,d))};var n=function(){function a(a,b,d){void 0===d&&(d=Number.POSITIVE_INFINITY);this.project=a;this.resultSelector=b;this.concurrent=d}a.prototype.call=function(a,b){return b.subscribe(new d(a,this.project,this.resultSelector,this.concurrent))};return a}();f.MergeMapOperator=n;var d=function(a){function b(b,c,d,k){void 0===k&&(k=Number.POSITIVE_INFINITY); a.call(this,b);this.project=c;this.resultSelector=d;this.concurrent=k;this.hasCompleted=!1;this.buffer=[];this.index=this.active=0}q(b,a);b.prototype._next=function(a){this.active<this.concurrent?this._tryNext(a):this.buffer.push(a)};b.prototype._tryNext=function(a){var b=this.index++;try{var c=this.project(a,b)}catch(k){this.destination.error(k);return}this.active++;this._innerSub(c,a,b)};b.prototype._innerSub=function(a,b,c){this.add(p.subscribeToResult(this,a,b,c))};b.prototype._complete=function(){this.hasCompleted= !0;0===this.active&&0===this.buffer.length&&this.destination.complete()};b.prototype.notifyNext=function(a,b,c,d,f){this.resultSelector?this._notifyResultSelector(a,b,c,d):this.destination.next(b)};b.prototype._notifyResultSelector=function(a,b,c,d){try{var e=this.resultSelector(a,b,c,d)}catch(m){this.destination.error(m);return}this.destination.next(e)};b.prototype.notifyComplete=function(a){var b=this.buffer;this.remove(a);this.active--;0<b.length?this._next(b.shift()):0===this.active&&this.hasCompleted&& -this.destination.complete()};return b}(h.OuterSubscriber);f.MergeMapSubscriber=c},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(5);var p=a(6);f.mergeMapTo=function(a,c,e){void 0===e&&(e=Number.POSITIVE_INFINITY);"number"===typeof c&&(e=c,c=null);return this.lift(new n(a,c,e))};var n=function(){function a(a,b,c){void 0===c&&(c=Number.POSITIVE_INFINITY); -this.ish=a;this.resultSelector=b;this.concurrent=c}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.ish,this.resultSelector,this.concurrent))};return a}();f.MergeMapToOperator=n;var c=function(a){function b(b,c,d,k){void 0===k&&(k=Number.POSITIVE_INFINITY);a.call(this,b);this.ish=c;this.resultSelector=d;this.concurrent=k;this.hasCompleted=!1;this.buffer=[];this.index=this.active=0}q(b,a);b.prototype._next=function(a){if(this.active<this.concurrent){var b=this.resultSelector,c=this.index++, +this.destination.complete()};return b}(h.OuterSubscriber);f.MergeMapSubscriber=d},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(5);var p=a(6);f.mergeMapTo=function(a,c,d){void 0===d&&(d=Number.POSITIVE_INFINITY);"number"===typeof c&&(d=c,c=null);return this.lift(new n(a,c,d))};var n=function(){function a(a,b,d){void 0===d&&(d=Number.POSITIVE_INFINITY); +this.ish=a;this.resultSelector=b;this.concurrent=d}a.prototype.call=function(a,b){return b.subscribe(new d(a,this.ish,this.resultSelector,this.concurrent))};return a}();f.MergeMapToOperator=n;var d=function(a){function b(b,c,d,k){void 0===k&&(k=Number.POSITIVE_INFINITY);a.call(this,b);this.ish=c;this.resultSelector=d;this.concurrent=k;this.hasCompleted=!1;this.buffer=[];this.index=this.active=0}q(b,a);b.prototype._next=function(a){if(this.active<this.concurrent){var b=this.resultSelector,c=this.index++, d=this.ish,e=this.destination;this.active++;this._innerSub(d,e,b,a,c)}else this.buffer.push(a)};b.prototype._innerSub=function(a,b,c,d,f){this.add(p.subscribeToResult(this,a,d,f))};b.prototype._complete=function(){this.hasCompleted=!0;0===this.active&&0===this.buffer.length&&this.destination.complete()};b.prototype.notifyNext=function(a,b,c,d,f){f=this.destination;this.resultSelector?this.trySelectResult(a,b,c,d):f.next(b)};b.prototype.trySelectResult=function(a,b,c,d){var e=this.resultSelector,g= -this.destination;try{var k=e(a,b,c,d)}catch(u){g.error(u);return}g.next(k)};b.prototype.notifyError=function(a){this.destination.error(a)};b.prototype.notifyComplete=function(a){var b=this.buffer;this.remove(a);this.active--;0<b.length?this._next(b.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()};return b}(h.OuterSubscriber);f.MergeMapToSubscriber=c},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&& -(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);var p=a(17),n=a(13);f.distinctUntilChanged=function(a,b){return this.lift(new c(a,b))};var c=function(){function a(a,b){this.compare=a;this.keySelector=b}a.prototype.call=function(a,c){return c.subscribe(new b(a,this.compare,this.keySelector))};return a}(),b=function(a){function b(b,c,d){a.call(this,b);this.keySelector=d;this.hasKey=!1;"function"===typeof c&&(this.compare=c)}q(b,a);b.prototype.compare=function(a, -b){return a===b};b.prototype._next=function(a){var b=a;if(this.keySelector&&(b=p.tryCatch(this.keySelector)(a),b===n.errorObject))return this.destination.error(n.errorObject.e);var c=!1;if(this.hasKey){if(c=p.tryCatch(this.compare)(this.key,b),c===n.errorObject)return this.destination.error(n.errorObject.e)}else this.hasKey=!0;!1===!!c&&(this.key=b,this.destination.next(a))};return b}(h.Subscriber)},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&& -(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);f.filter=function(a,b){return this.lift(new p(a,b))};var p=function(){function a(a,c){this.predicate=a;this.thisArg=c}a.prototype.call=function(a,c){return c.subscribe(new n(a,this.predicate,this.thisArg))};return a}(),n=function(a){function b(b,c,g){a.call(this,b);this.predicate=c;this.thisArg=g;this.count=0}q(b,a);b.prototype._next=function(a){try{var b=this.predicate.call(this.thisArg,a,this.count++)}catch(g){this.destination.error(g); -return}b&&this.destination.next(a)};return b}(h.Subscriber)},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);f.find=function(a,b){if("function"!==typeof a)throw new TypeError("predicate is not a function");return this.lift(new p(a,this,!1,b))};var p=function(){function a(a,c,e,g){this.predicate=a;this.source=c;this.yieldIndex=e;this.thisArg= -g}a.prototype.call=function(a,c){return c.subscribe(new n(a,this.predicate,this.source,this.yieldIndex,this.thisArg))};return a}();f.FindValueOperator=p;var n=function(a){function b(b,c,g,l,k){a.call(this,b);this.predicate=c;this.source=g;this.yieldIndex=l;this.thisArg=k;this.index=0}q(b,a);b.prototype.notifyComplete=function(a){var b=this.destination;b.next(a);b.complete()};b.prototype._next=function(a){var b=this.predicate,c=this.thisArg,d=this.index++;try{b.call(c||this,a,d,this.source)&&this.notifyComplete(this.yieldIndex? -d:a)}catch(k){this.destination.error(k)}};b.prototype._complete=function(){this.notifyComplete(this.yieldIndex?-1:void 0)};return b}(h.Subscriber);f.FindValueSubscriber=n},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(12);var p=a(0),n=a(3),c=a(11);a=function(a){function e(b,c){a.call(this);this.source=b;this.subjectFactory=c;this._refCount= -0;this._isComplete=!1}q(e,a);e.prototype._subscribe=function(a){return this.getSubject().subscribe(a)};e.prototype.getSubject=function(){var a=this._subject;if(!a||a.isStopped)this._subject=this.subjectFactory();return this._subject};e.prototype.connect=function(){var a=this._connection;a||(this._isComplete=!1,a=this._connection=new c.Subscription,a.add(this.source.subscribe(new b(this.getSubject(),this))),a.closed?(this._connection=null,a=c.Subscription.EMPTY):this._connection=a);return a};e.prototype.refCount= -function(){return this.lift(new d(this))};return e}(p.Observable);f.ConnectableObservable=a;a=a.prototype;f.connectableObservableDescriptor={operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:a._subscribe},_isComplete:{value:a._isComplete,writable:!0},getSubject:{value:a.getSubject},connect:{value:a.connect},refCount:{value:a.refCount}};var b=function(a){function b(b,c){a.call(this,b);this.connectable=c}q(b, -a);b.prototype._error=function(b){this._unsubscribe();a.prototype._error.call(this,b)};b.prototype._complete=function(){this.connectable._isComplete=!0;this._unsubscribe();a.prototype._complete.call(this)};b.prototype._unsubscribe=function(){var a=this.connectable;if(a){this.connectable=null;var b=a._connection;a._refCount=0;a._subject=null;a._connection=null;b&&b.unsubscribe()}};return b}(h.SubjectSubscriber),d=function(){function a(a){this.connectable=a}a.prototype.call=function(a,b){var c=this.connectable; +this.destination;try{var k=e(a,b,c,d)}catch(u){g.error(u);return}g.next(k)};b.prototype.notifyError=function(a){this.destination.error(a)};b.prototype.notifyComplete=function(a){var b=this.buffer;this.remove(a);this.active--;0<b.length?this._next(b.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()};return b}(h.OuterSubscriber);f.MergeMapToSubscriber=d},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&& +(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);var p=a(17),n=a(13);f.distinctUntilChanged=function(a,b){return this.lift(new d(a,b))};var d=function(){function a(a,b){this.compare=a;this.keySelector=b}a.prototype.call=function(a,c){return c.subscribe(new b(a,this.compare,this.keySelector))};return a}(),b=function(a){function b(b,c,d){a.call(this,b);this.keySelector=d;this.hasKey=!1;"function"===typeof c&&(this.compare=c)}q(b,a);b.prototype.compare=function(a, +b){return a===b};b.prototype._next=function(a){var b=a;if(this.keySelector&&(b=p.tryCatch(this.keySelector)(a),b===n.errorObject))return this.destination.error(n.errorObject.e);var c=!1;if(this.hasKey){if(c=p.tryCatch(this.compare)(this.key,b),c===n.errorObject)return this.destination.error(n.errorObject.e)}else this.hasKey=!0;!1===!!c&&(this.key=b,this.destination.next(a))};return b}(h.Subscriber)},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&& +(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);f.filter=function(a,b){return this.lift(new p(a,b))};var p=function(){function a(a,c){this.predicate=a;this.thisArg=c}a.prototype.call=function(a,c){return c.subscribe(new n(a,this.predicate,this.thisArg))};return a}(),n=function(a){function b(b,d,g){a.call(this,b);this.predicate=d;this.thisArg=g;this.count=0}q(b,a);b.prototype._next=function(a){try{var b=this.predicate.call(this.thisArg,a,this.count++)}catch(g){this.destination.error(g); +return}b&&this.destination.next(a)};return b}(h.Subscriber)},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);f.find=function(a,b){if("function"!==typeof a)throw new TypeError("predicate is not a function");return this.lift(new p(a,this,!1,b))};var p=function(){function a(a,c,d,g){this.predicate=a;this.source=c;this.yieldIndex=d;this.thisArg= +g}a.prototype.call=function(a,c){return c.subscribe(new n(a,this.predicate,this.source,this.yieldIndex,this.thisArg))};return a}();f.FindValueOperator=p;var n=function(a){function b(b,d,g,l,k){a.call(this,b);this.predicate=d;this.source=g;this.yieldIndex=l;this.thisArg=k;this.index=0}q(b,a);b.prototype.notifyComplete=function(a){var b=this.destination;b.next(a);b.complete()};b.prototype._next=function(a){var b=this.predicate,c=this.thisArg,d=this.index++;try{b.call(c||this,a,d,this.source)&&this.notifyComplete(this.yieldIndex? +d:a)}catch(k){this.destination.error(k)}};b.prototype._complete=function(){this.notifyComplete(this.yieldIndex?-1:void 0)};return b}(h.Subscriber);f.FindValueSubscriber=n},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(12);var p=a(0),n=a(3),d=a(11);a=function(a){function e(b,c){a.call(this);this.source=b;this.subjectFactory=c;this._refCount= +0;this._isComplete=!1}q(e,a);e.prototype._subscribe=function(a){return this.getSubject().subscribe(a)};e.prototype.getSubject=function(){var a=this._subject;if(!a||a.isStopped)this._subject=this.subjectFactory();return this._subject};e.prototype.connect=function(){var a=this._connection;a||(this._isComplete=!1,a=this._connection=new d.Subscription,a.add(this.source.subscribe(new b(this.getSubject(),this))),a.closed?(this._connection=null,a=d.Subscription.EMPTY):this._connection=a);return a};e.prototype.refCount= +function(){return this.lift(new c(this))};return e}(p.Observable);f.ConnectableObservable=a;a=a.prototype;f.connectableObservableDescriptor={operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:a._subscribe},_isComplete:{value:a._isComplete,writable:!0},getSubject:{value:a.getSubject},connect:{value:a.connect},refCount:{value:a.refCount}};var b=function(a){function b(b,c){a.call(this,b);this.connectable=c}q(b, +a);b.prototype._error=function(b){this._unsubscribe();a.prototype._error.call(this,b)};b.prototype._complete=function(){this.connectable._isComplete=!0;this._unsubscribe();a.prototype._complete.call(this)};b.prototype._unsubscribe=function(){var a=this.connectable;if(a){this.connectable=null;var b=a._connection;a._refCount=0;a._subject=null;a._connection=null;b&&b.unsubscribe()}};return b}(h.SubjectSubscriber),c=function(){function a(a){this.connectable=a}a.prototype.call=function(a,b){var c=this.connectable; c._refCount++;a=new e(a,c);b=b.subscribe(a);a.closed||(a.connection=c.connect());return b};return a}(),e=function(a){function b(b,c){a.call(this,b);this.connectable=c}q(b,a);b.prototype._unsubscribe=function(){var a=this.connectable;if(a){this.connectable=null;var b=a._refCount;0>=b?this.connection=null:(a._refCount=b-1,1<b?this.connection=null:(b=this.connection,a=a._connection,this.connection=null,!a||b&&a!==b||a.unsubscribe()))}else this.connection=null};return b}(n.Subscriber)},function(h,f,a){var q= -this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(12);var p=a(87);a=function(a){function c(b){a.call(this);this._value=b}q(c,a);Object.defineProperty(c.prototype,"value",{get:function(){return this.getValue()},enumerable:!0,configurable:!0});c.prototype._subscribe=function(b){var c=a.prototype._subscribe.call(this,b);c&&!c.closed&&b.next(this._value);return c}; -c.prototype.getValue=function(){if(this.hasError)throw this.thrownError;if(this.closed)throw new p.ObjectUnsubscribedError;return this._value};c.prototype.next=function(b){a.prototype.next.call(this,this._value=b)};return c}(h.Subject);f.BehaviorSubject=a},function(h,f,a){h=a(593);a=a(597);f.asap=new a.AsapScheduler(h.AsapAction)},function(h,f,a){(function(h){function p(a,c){this._id=a;this._clearFn=c}var n="undefined"!==typeof h&&h||"undefined"!==typeof self&&self||window,c=Function.prototype.apply; -f.setTimeout=function(){return new p(c.call(setTimeout,n,arguments),clearTimeout)};f.setInterval=function(){return new p(c.call(setInterval,n,arguments),clearInterval)};f.clearTimeout=f.clearInterval=function(a){a&&a.close()};p.prototype.unref=p.prototype.ref=function(){};p.prototype.close=function(){this._clearFn.call(n,this._id)};f.enroll=function(a,c){clearTimeout(a._idleTimeoutId);a._idleTimeout=c};f.unenroll=function(a){clearTimeout(a._idleTimeoutId);a._idleTimeout=-1};f._unrefActive=f.active= -function(a){clearTimeout(a._idleTimeoutId);var b=a._idleTimeout;0<=b&&(a._idleTimeoutId=setTimeout(function(){a._onTimeout&&a._onTimeout()},b))};a(595);f.setImmediate="undefined"!==typeof self&&self.setImmediate||"undefined"!==typeof h&&h.setImmediate||this&&this.setImmediate;f.clearImmediate="undefined"!==typeof self&&self.clearImmediate||"undefined"!==typeof h&&h.clearImmediate||this&&this.clearImmediate}).call(f,a(73))},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor= -a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(5);var p=a(6);f.defaultThrottleConfig={leading:!0,trailing:!1};f.throttle=function(a,c){void 0===c&&(c=f.defaultThrottleConfig);return this.lift(new n(a,c.leading,c.trailing))};var n=function(){function a(a,b,c){this.durationSelector=a;this.leading=b;this.trailing=c}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.durationSelector,this.leading,this.trailing))}; -return a}(),c=function(a){function b(b,c,d,k){a.call(this,b);this.destination=b;this.durationSelector=c;this._leading=d;this._trailing=k;this._hasTrailingValue=!1}q(b,a);b.prototype._next=function(a){if(this.throttled)this._trailing&&(this._hasTrailingValue=!0,this._trailingValue=a);else{var b=this.tryDurationSelector(a);b&&this.add(this.throttled=p.subscribeToResult(this,b));this._leading&&(this.destination.next(a),this._trailing&&(this._hasTrailingValue=!0,this._trailingValue=a))}};b.prototype.tryDurationSelector= +this&&this.__extends||function(a,d){function b(){this.constructor=a}for(var c in d)d.hasOwnProperty(c)&&(a[c]=d[c]);a.prototype=null===d?Object.create(d):(b.prototype=d.prototype,new b)};h=a(12);var p=a(88);a=function(a){function d(b){a.call(this);this._value=b}q(d,a);Object.defineProperty(d.prototype,"value",{get:function(){return this.getValue()},enumerable:!0,configurable:!0});d.prototype._subscribe=function(b){var c=a.prototype._subscribe.call(this,b);c&&!c.closed&&b.next(this._value);return c}; +d.prototype.getValue=function(){if(this.hasError)throw this.thrownError;if(this.closed)throw new p.ObjectUnsubscribedError;return this._value};d.prototype.next=function(b){a.prototype.next.call(this,this._value=b)};return d}(h.Subject);f.BehaviorSubject=a},function(h,f,a){h=a(593);a=a(597);f.asap=new a.AsapScheduler(h.AsapAction)},function(h,f,a){(function(h){function p(a,c){this._id=a;this._clearFn=c}var n="undefined"!==typeof h&&h||"undefined"!==typeof self&&self||window,d=Function.prototype.apply; +f.setTimeout=function(){return new p(d.call(setTimeout,n,arguments),clearTimeout)};f.setInterval=function(){return new p(d.call(setInterval,n,arguments),clearInterval)};f.clearTimeout=f.clearInterval=function(a){a&&a.close()};p.prototype.unref=p.prototype.ref=function(){};p.prototype.close=function(){this._clearFn.call(n,this._id)};f.enroll=function(a,c){clearTimeout(a._idleTimeoutId);a._idleTimeout=c};f.unenroll=function(a){clearTimeout(a._idleTimeoutId);a._idleTimeout=-1};f._unrefActive=f.active= +function(a){clearTimeout(a._idleTimeoutId);var b=a._idleTimeout;0<=b&&(a._idleTimeoutId=setTimeout(function(){a._onTimeout&&a._onTimeout()},b))};a(595);f.setImmediate="undefined"!==typeof self&&self.setImmediate||"undefined"!==typeof h&&h.setImmediate||this&&this.setImmediate;f.clearImmediate="undefined"!==typeof self&&self.clearImmediate||"undefined"!==typeof h&&h.clearImmediate||this&&this.clearImmediate}).call(f,a(74))},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor= +a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(5);var p=a(6);f.defaultThrottleConfig={leading:!0,trailing:!1};f.throttle=function(a,c){void 0===c&&(c=f.defaultThrottleConfig);return this.lift(new n(a,c.leading,c.trailing))};var n=function(){function a(a,b,d){this.durationSelector=a;this.leading=b;this.trailing=d}a.prototype.call=function(a,b){return b.subscribe(new d(a,this.durationSelector,this.leading,this.trailing))}; +return a}(),d=function(a){function b(b,c,d,k){a.call(this,b);this.destination=b;this.durationSelector=c;this._leading=d;this._trailing=k;this._hasTrailingValue=!1}q(b,a);b.prototype._next=function(a){if(this.throttled)this._trailing&&(this._hasTrailingValue=!0,this._trailingValue=a);else{var b=this.tryDurationSelector(a);b&&this.add(this.throttled=p.subscribeToResult(this,b));this._leading&&(this.destination.next(a),this._trailing&&(this._hasTrailingValue=!0,this._trailingValue=a))}};b.prototype.tryDurationSelector= function(a){try{return this.durationSelector(a)}catch(g){return this.destination.error(g),null}};b.prototype._unsubscribe=function(){var a=this.throttled;this._trailingValue=null;this._hasTrailingValue=!1;a&&(this.remove(a),this.throttled=null,a.unsubscribe())};b.prototype._sendTrailing=function(){var a=this.destination,b=this._trailing,c=this._trailingValue,d=this._hasTrailingValue;this.throttled&&b&&d&&(a.next(c),this._trailingValue=null,this._hasTrailingValue=!1)};b.prototype.notifyNext=function(a, -b,c,d,f){this._sendTrailing();this._unsubscribe()};b.prototype.notifyComplete=function(){this._sendTrailing();this._unsubscribe()};return b}(h.OuterSubscriber)},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);var p=a(19);f.timeInterval=function(a){void 0===a&&(a=p.async);return this.lift(new c(a))};var n=function(){return function(a, -b){this.value=a;this.interval=b}}();f.TimeInterval=n;var c=function(){function a(a){this.scheduler=a}a.prototype.call=function(a,c){return c.subscribe(new b(a,this.scheduler))};return a}(),b=function(a){function b(b,c){a.call(this,b);this.scheduler=c;this.lastTime=0;this.lastTime=c.now()}q(b,a);b.prototype._next=function(a){var b=this.scheduler.now(),c=b-this.lastTime;this.lastTime=b;this.destination.next(new n(a,c))};return b}(h.Subscriber)},function(h,f,a){var q=this&&this.__extends||function(a, -f){function c(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(c.prototype=f.prototype,new c)};h=function(a){function f(){var c=a.call(this,"Timeout has occurred");this.name=c.name="TimeoutError";this.stack=c.stack;this.message=c.message}q(f,a);return f}(Error);f.TimeoutError=h},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b): -(c.prototype=b.prototype,new c)};h=a(3);var p=a(19);f.timestamp=function(a){void 0===a&&(a=p.async);return this.lift(new c(a))};var n=function(){return function(a,b){this.value=a;this.timestamp=b}}();f.Timestamp=n;var c=function(){function a(a){this.scheduler=a}a.prototype.call=function(a,c){return c.subscribe(new b(a,this.scheduler))};return a}(),b=function(a){function b(b,c){a.call(this,b);this.scheduler=c}q(b,a);b.prototype._next=function(a){var b=this.scheduler.now();this.destination.next(new n(a, -b))};return b}(h.Subscriber)},function(h,f,a){var q=a(223);h=function(){function a(){this.subscriptions=[]}a.prototype.logSubscribedFrame=function(){this.subscriptions.push(new q.SubscriptionLog(this.scheduler.now()));return this.subscriptions.length-1};a.prototype.logUnsubscribedFrame=function(a){var c=this.subscriptions;c[a]=new q.SubscriptionLog(c[a].subscribedFrame,this.scheduler.now())};return a}();f.SubscriptionLoggable=h},function(h,f,a){h=function(){return function(a,f){void 0===f&&(f=Number.POSITIVE_INFINITY); -this.subscribedFrame=a;this.unsubscribedFrame=f}}();f.SubscriptionLog=h},function(h,f,a){f.applyMixins=function(a,f){for(var h=0,c=f.length;h<c;h++)for(var b=f[h],d=Object.getOwnPropertyNames(b.prototype),e=0,g=d.length;e<g;e++){var l=d[e];a.prototype[l]=b.prototype[l]}}},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(69);a=function(a){function c(b, -c){var d=this;void 0===b&&(b=p);void 0===c&&(c=Number.POSITIVE_INFINITY);a.call(this,b,function(){return d.frame});this.maxFrames=c;this.frame=0;this.index=-1}q(c,a);c.prototype.flush=function(){for(var a=this.actions,c=this.maxFrames,e,g;(g=a.shift())&&(this.frame=g.delay)<=c&&!(e=g.execute(g.state,g.delay)););if(e){for(;g=a.shift();)g.unsubscribe();throw e;}};c.frameTimeFactor=10;return c}(a(70).AsyncScheduler);f.VirtualTimeScheduler=a;var p=function(a){function c(b,c,e){void 0===e&&(e=b.index+= -1);a.call(this,b,c);this.scheduler=b;this.work=c;this.index=e;this.active=!0;this.index=b.index=e}q(c,a);c.prototype.schedule=function(b,d){void 0===d&&(d=0);if(!this.id)return a.prototype.schedule.call(this,b,d);this.active=!1;var e=new c(this.scheduler,this.work);this.add(e);return e.schedule(b,d)};c.prototype.requestAsyncId=function(a,d,e){void 0===e&&(e=0);this.delay=a.frame+e;a=a.actions;a.push(this);a.sort(c.sortActions);return!0};c.prototype.recycleAsyncId=function(a,c,e){};c.prototype._execute= -function(b,c){if(!0===this.active)return a.prototype._execute.call(this,b,c)};c.sortActions=function(a,c){return a.delay===c.delay?a.index===c.index?0:a.index>c.index?1:-1:a.delay>c.delay?1:-1};return c}(h.AsyncAction);f.VirtualAction=p},function(h,f,a){a(131);a(267);a(270);a(105);a(271);a(153);a(273);a(154);a(275);a(157);a(276);a(158);a(278);a(159);a(280);a(281);a(282);a(106);a(294);a(64);a(176);a(305);h.exports=a(309)},function(h,f,a){a(34)},function(h,f,a){a(34)},function(h,f,a){function q(a,b, -d){var c=b[0],g=b[1],l=b[2],k=b[3],f=b[4],h=b[5],r=b[6],n=b[7],p=b[8],q=b[9],y=b[10],x=b[11],A=b[12],z=b[13],D=b[14];b=b[15];var E=d[0],G=d[1],C=d[2],B=d[3];a[0]=E*c+G*f+C*p+B*A;a[1]=E*g+G*h+C*q+B*z;a[2]=E*l+G*r+C*y+B*D;a[3]=E*k+G*n+C*x+B*b;E=d[4];G=d[5];C=d[6];B=d[7];a[4]=E*c+G*f+C*p+B*A;a[5]=E*g+G*h+C*q+B*z;a[6]=E*l+G*r+C*y+B*D;a[7]=E*k+G*n+C*x+B*b;E=d[8];G=d[9];C=d[10];B=d[11];a[8]=E*c+G*f+C*p+B*A;a[9]=E*g+G*h+C*q+B*z;a[10]=E*l+G*r+C*y+B*D;a[11]=E*k+G*n+C*x+B*b;E=d[12];G=d[13];C=d[14];B=d[15]; -a[12]=E*c+G*f+C*p+B*A;a[13]=E*g+G*h+C*q+B*z;a[14]=E*l+G*r+C*y+B*D;a[15]=E*k+G*n+C*x+B*b;return a}function p(a,b,d){a[0]=b[0]-d[0];a[1]=b[1]-d[1];a[2]=b[2]-d[2];a[3]=b[3]-d[3];a[4]=b[4]-d[4];a[5]=b[5]-d[5];a[6]=b[6]-d[6];a[7]=b[7]-d[7];a[8]=b[8]-d[8];a[9]=b[9]-d[9];a[10]=b[10]-d[10];a[11]=b[11]-d[11];a[12]=b[12]-d[12];a[13]=b[13]-d[13];a[14]=b[14]-d[14];a[15]=b[15]-d[15];return a}Object.defineProperty(f,"__esModule",{value:!0});f.create=function(){var a=new n.a(16);a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]= +b,c,d,f){this._sendTrailing();this._unsubscribe()};b.prototype.notifyComplete=function(){this._sendTrailing();this._unsubscribe()};return b}(h.OuterSubscriber)},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);var p=a(19);f.timeInterval=function(a){void 0===a&&(a=p.async);return this.lift(new d(a))};var n=function(){return function(a, +b){this.value=a;this.interval=b}}();f.TimeInterval=n;var d=function(){function a(a){this.scheduler=a}a.prototype.call=function(a,c){return c.subscribe(new b(a,this.scheduler))};return a}(),b=function(a){function b(b,c){a.call(this,b);this.scheduler=c;this.lastTime=0;this.lastTime=c.now()}q(b,a);b.prototype._next=function(a){var b=this.scheduler.now(),c=b-this.lastTime;this.lastTime=b;this.destination.next(new n(a,c))};return b}(h.Subscriber)},function(h,f,a){var q=this&&this.__extends||function(a, +f){function d(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(d.prototype=f.prototype,new d)};h=function(a){function f(){var d=a.call(this,"Timeout has occurred");this.name=d.name="TimeoutError";this.stack=d.stack;this.message=d.message}q(f,a);return f}(Error);f.TimeoutError=h},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b): +(c.prototype=b.prototype,new c)};h=a(3);var p=a(19);f.timestamp=function(a){void 0===a&&(a=p.async);return this.lift(new d(a))};var n=function(){return function(a,b){this.value=a;this.timestamp=b}}();f.Timestamp=n;var d=function(){function a(a){this.scheduler=a}a.prototype.call=function(a,c){return c.subscribe(new b(a,this.scheduler))};return a}(),b=function(a){function b(b,c){a.call(this,b);this.scheduler=c}q(b,a);b.prototype._next=function(a){var b=this.scheduler.now();this.destination.next(new n(a, +b))};return b}(h.Subscriber)},function(h,f,a){var q=a(223);h=function(){function a(){this.subscriptions=[]}a.prototype.logSubscribedFrame=function(){this.subscriptions.push(new q.SubscriptionLog(this.scheduler.now()));return this.subscriptions.length-1};a.prototype.logUnsubscribedFrame=function(a){var d=this.subscriptions;d[a]=new q.SubscriptionLog(d[a].subscribedFrame,this.scheduler.now())};return a}();f.SubscriptionLoggable=h},function(h,f,a){h=function(){return function(a,f){void 0===f&&(f=Number.POSITIVE_INFINITY); +this.subscribedFrame=a;this.unsubscribedFrame=f}}();f.SubscriptionLog=h},function(h,f,a){f.applyMixins=function(a,f){for(var h=0,d=f.length;h<d;h++)for(var b=f[h],c=Object.getOwnPropertyNames(b.prototype),e=0,g=c.length;e<g;e++){var l=c[e];a.prototype[l]=b.prototype[l]}}},function(h,f,a){var q=this&&this.__extends||function(a,d){function b(){this.constructor=a}for(var c in d)d.hasOwnProperty(c)&&(a[c]=d[c]);a.prototype=null===d?Object.create(d):(b.prototype=d.prototype,new b)};h=a(70);a=function(a){function d(b, +c){var d=this;void 0===b&&(b=p);void 0===c&&(c=Number.POSITIVE_INFINITY);a.call(this,b,function(){return d.frame});this.maxFrames=c;this.frame=0;this.index=-1}q(d,a);d.prototype.flush=function(){for(var a=this.actions,c=this.maxFrames,d,g;(g=a.shift())&&(this.frame=g.delay)<=c&&!(d=g.execute(g.state,g.delay)););if(d){for(;g=a.shift();)g.unsubscribe();throw d;}};d.frameTimeFactor=10;return d}(a(71).AsyncScheduler);f.VirtualTimeScheduler=a;var p=function(a){function d(b,c,d){void 0===d&&(d=b.index+= +1);a.call(this,b,c);this.scheduler=b;this.work=c;this.index=d;this.active=!0;this.index=b.index=d}q(d,a);d.prototype.schedule=function(b,c){void 0===c&&(c=0);if(!this.id)return a.prototype.schedule.call(this,b,c);this.active=!1;var e=new d(this.scheduler,this.work);this.add(e);return e.schedule(b,c)};d.prototype.requestAsyncId=function(a,c,e){void 0===e&&(e=0);this.delay=a.frame+e;a=a.actions;a.push(this);a.sort(d.sortActions);return!0};d.prototype.recycleAsyncId=function(a,c,d){};d.prototype._execute= +function(b,c){if(!0===this.active)return a.prototype._execute.call(this,b,c)};d.sortActions=function(a,c){return a.delay===c.delay?a.index===c.index?0:a.index>c.index?1:-1:a.delay>c.delay?1:-1};return d}(h.AsyncAction);f.VirtualAction=p},function(h,f,a){a(131);a(267);a(270);a(106);a(271);a(153);a(273);a(154);a(275);a(157);a(276);a(158);a(278);a(159);a(280);a(281);a(282);a(107);a(294);a(65);a(176);a(305);h.exports=a(309)},function(h,f,a){a(34)},function(h,f,a){a(34)},function(h,f,a){function q(a,b, +c){var d=b[0],g=b[1],l=b[2],k=b[3],f=b[4],h=b[5],r=b[6],n=b[7],p=b[8],q=b[9],y=b[10],x=b[11],A=b[12],z=b[13],D=b[14];b=b[15];var E=c[0],G=c[1],C=c[2],B=c[3];a[0]=E*d+G*f+C*p+B*A;a[1]=E*g+G*h+C*q+B*z;a[2]=E*l+G*r+C*y+B*D;a[3]=E*k+G*n+C*x+B*b;E=c[4];G=c[5];C=c[6];B=c[7];a[4]=E*d+G*f+C*p+B*A;a[5]=E*g+G*h+C*q+B*z;a[6]=E*l+G*r+C*y+B*D;a[7]=E*k+G*n+C*x+B*b;E=c[8];G=c[9];C=c[10];B=c[11];a[8]=E*d+G*f+C*p+B*A;a[9]=E*g+G*h+C*q+B*z;a[10]=E*l+G*r+C*y+B*D;a[11]=E*k+G*n+C*x+B*b;E=c[12];G=c[13];C=c[14];B=c[15]; +a[12]=E*d+G*f+C*p+B*A;a[13]=E*g+G*h+C*q+B*z;a[14]=E*l+G*r+C*y+B*D;a[15]=E*k+G*n+C*x+B*b;return a}function p(a,b,c){a[0]=b[0]-c[0];a[1]=b[1]-c[1];a[2]=b[2]-c[2];a[3]=b[3]-c[3];a[4]=b[4]-c[4];a[5]=b[5]-c[5];a[6]=b[6]-c[6];a[7]=b[7]-c[7];a[8]=b[8]-c[8];a[9]=b[9]-c[9];a[10]=b[10]-c[10];a[11]=b[11]-c[11];a[12]=b[12]-c[12];a[13]=b[13]-c[13];a[14]=b[14]-c[14];a[15]=b[15]-c[15];return a}Object.defineProperty(f,"__esModule",{value:!0});f.create=function(){var a=new n.a(16);a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]= 0;a[5]=1;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=1;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};f.clone=function(a){var b=new n.a(16);b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];b[9]=a[9];b[10]=a[10];b[11]=a[11];b[12]=a[12];b[13]=a[13];b[14]=a[14];b[15]=a[15];return b};f.copy=function(a,b){a[0]=b[0];a[1]=b[1];a[2]=b[2];a[3]=b[3];a[4]=b[4];a[5]=b[5];a[6]=b[6];a[7]=b[7];a[8]=b[8];a[9]=b[9];a[10]=b[10];a[11]=b[11];a[12]=b[12];a[13]=b[13];a[14]=b[14];a[15]= -b[15];return a};f.fromValues=function(a,b,d,e,g,l,k,f,h,r,p,q,w,y,x,A){var c=new n.a(16);c[0]=a;c[1]=b;c[2]=d;c[3]=e;c[4]=g;c[5]=l;c[6]=k;c[7]=f;c[8]=h;c[9]=r;c[10]=p;c[11]=q;c[12]=w;c[13]=y;c[14]=x;c[15]=A;return c};f.set=function(a,b,d,e,g,l,k,f,h,r,n,p,q,y,x,A,z){a[0]=b;a[1]=d;a[2]=e;a[3]=g;a[4]=l;a[5]=k;a[6]=f;a[7]=h;a[8]=r;a[9]=n;a[10]=p;a[11]=q;a[12]=y;a[13]=x;a[14]=A;a[15]=z;return a};f.identity=function(a){a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=1;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=1;a[11]= -0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};f.transpose=function(a,b){if(a===b){var c=b[1],e=b[2],g=b[3],l=b[6],k=b[7],f=b[11];a[1]=b[4];a[2]=b[8];a[3]=b[12];a[4]=c;a[6]=b[9];a[7]=b[13];a[8]=e;a[9]=l;a[11]=b[14];a[12]=g;a[13]=k;a[14]=f}else a[0]=b[0],a[1]=b[4],a[2]=b[8],a[3]=b[12],a[4]=b[1],a[5]=b[5],a[6]=b[9],a[7]=b[13],a[8]=b[2],a[9]=b[6],a[10]=b[10],a[11]=b[14],a[12]=b[3],a[13]=b[7],a[14]=b[11],a[15]=b[15];return a};f.invert=function(a,b){var c=b[0],e=b[1],g=b[2],l=b[3],k=b[4],f=b[5],h=b[6],r= -b[7],n=b[8],p=b[9],q=b[10],y=b[11],x=b[12],A=b[13],z=b[14];b=b[15];var D=c*f-e*k,E=c*h-g*k,G=c*r-l*k,C=e*h-g*f,B=e*r-l*f,F=g*r-l*h,L=n*A-p*x,I=n*z-q*x,O=n*b-y*x,M=p*z-q*A,P=p*b-y*A,N=q*b-y*z,S=D*N-E*P+G*M+C*O-B*I+F*L;if(!S)return null;S=1/S;a[0]=(f*N-h*P+r*M)*S;a[1]=(g*P-e*N-l*M)*S;a[2]=(A*F-z*B+b*C)*S;a[3]=(q*B-p*F-y*C)*S;a[4]=(h*O-k*N-r*I)*S;a[5]=(c*N-g*O+l*I)*S;a[6]=(z*G-x*F-b*E)*S;a[7]=(n*F-q*G+y*E)*S;a[8]=(k*P-f*O+r*L)*S;a[9]=(e*O-c*P-l*L)*S;a[10]=(x*B-A*G+b*D)*S;a[11]=(p*G-n*B-y*D)*S;a[12]= -(f*I-k*M-h*L)*S;a[13]=(c*M-e*I+g*L)*S;a[14]=(A*E-x*C-z*D)*S;a[15]=(n*C-p*E+q*D)*S;return a};f.adjoint=function(a,b){var c=b[0],e=b[1],g=b[2],l=b[3],k=b[4],f=b[5],h=b[6],r=b[7],n=b[8],p=b[9],q=b[10],y=b[11],x=b[12],A=b[13],z=b[14];b=b[15];a[0]=f*(q*b-y*z)-p*(h*b-r*z)+A*(h*y-r*q);a[1]=-(e*(q*b-y*z)-p*(g*b-l*z)+A*(g*y-l*q));a[2]=e*(h*b-r*z)-f*(g*b-l*z)+A*(g*r-l*h);a[3]=-(e*(h*y-r*q)-f*(g*y-l*q)+p*(g*r-l*h));a[4]=-(k*(q*b-y*z)-n*(h*b-r*z)+x*(h*y-r*q));a[5]=c*(q*b-y*z)-n*(g*b-l*z)+x*(g*y-l*q);a[6]=-(c* -(h*b-r*z)-k*(g*b-l*z)+x*(g*r-l*h));a[7]=c*(h*y-r*q)-k*(g*y-l*q)+n*(g*r-l*h);a[8]=k*(p*b-y*A)-n*(f*b-r*A)+x*(f*y-r*p);a[9]=-(c*(p*b-y*A)-n*(e*b-l*A)+x*(e*y-l*p));a[10]=c*(f*b-r*A)-k*(e*b-l*A)+x*(e*r-l*f);a[11]=-(c*(f*y-r*p)-k*(e*y-l*p)+n*(e*r-l*f));a[12]=-(k*(p*z-q*A)-n*(f*z-h*A)+x*(f*q-h*p));a[13]=c*(p*z-q*A)-n*(e*z-g*A)+x*(e*q-g*p);a[14]=-(c*(f*z-h*A)-k*(e*z-g*A)+x*(e*h-g*f));a[15]=c*(f*q-h*p)-k*(e*q-g*p)+n*(e*h-g*f);return a};f.determinant=function(a){var b=a[0],c=a[1],e=a[2],g=a[3],l=a[4],k=a[5], -f=a[6],h=a[7],r=a[8],n=a[9],p=a[10],q=a[11],y=a[12],x=a[13],A=a[14];a=a[15];return(b*k-c*l)*(p*a-q*A)-(b*f-e*l)*(n*a-q*x)+(b*h-g*l)*(n*A-p*x)+(c*f-e*k)*(r*a-q*y)-(c*h-g*k)*(r*A-p*y)+(e*h-g*f)*(r*x-n*y)};f.multiply=q;f.translate=function(a,b,d){var c=d[0],g=d[1];d=d[2];if(b===a)a[12]=b[0]*c+b[4]*g+b[8]*d+b[12],a[13]=b[1]*c+b[5]*g+b[9]*d+b[13],a[14]=b[2]*c+b[6]*g+b[10]*d+b[14],a[15]=b[3]*c+b[7]*g+b[11]*d+b[15];else{var l=b[0];var k=b[1];var f=b[2];var h=b[3];var r=b[4];var n=b[5];var p=b[6];var q=b[7]; -var y=b[8];var x=b[9];var A=b[10];var z=b[11];a[0]=l;a[1]=k;a[2]=f;a[3]=h;a[4]=r;a[5]=n;a[6]=p;a[7]=q;a[8]=y;a[9]=x;a[10]=A;a[11]=z;a[12]=l*c+r*g+y*d+b[12];a[13]=k*c+n*g+x*d+b[13];a[14]=f*c+p*g+A*d+b[14];a[15]=h*c+q*g+z*d+b[15]}return a};f.scale=function(a,b,d){var c=d[0],g=d[1];d=d[2];a[0]=b[0]*c;a[1]=b[1]*c;a[2]=b[2]*c;a[3]=b[3]*c;a[4]=b[4]*g;a[5]=b[5]*g;a[6]=b[6]*g;a[7]=b[7]*g;a[8]=b[8]*d;a[9]=b[9]*d;a[10]=b[10]*d;a[11]=b[11]*d;a[12]=b[12];a[13]=b[13];a[14]=b[14];a[15]=b[15];return a};f.rotate= -function(a,b,d,e){var c=e[0],l=e[1];e=e[2];var k=Math.sqrt(c*c+l*l+e*e);if(Math.abs(k)<n.b)return null;k=1/k;c*=k;l*=k;e*=k;var f=Math.sin(d);var h=Math.cos(d);var r=1-h;d=b[0];k=b[1];var p=b[2];var q=b[3];var w=b[4];var y=b[5];var x=b[6];var A=b[7];var z=b[8];var D=b[9];var E=b[10];var G=b[11];var C=c*c*r+h;var B=l*c*r+e*f;var F=e*c*r-l*f;var L=c*l*r-e*f;var I=l*l*r+h;var O=e*l*r+c*f;var M=c*e*r+l*f;c=l*e*r-c*f;l=e*e*r+h;a[0]=d*C+w*B+z*F;a[1]=k*C+y*B+D*F;a[2]=p*C+x*B+E*F;a[3]=q*C+A*B+G*F;a[4]=d* -L+w*I+z*O;a[5]=k*L+y*I+D*O;a[6]=p*L+x*I+E*O;a[7]=q*L+A*I+G*O;a[8]=d*M+w*c+z*l;a[9]=k*M+y*c+D*l;a[10]=p*M+x*c+E*l;a[11]=q*M+A*c+G*l;b!==a&&(a[12]=b[12],a[13]=b[13],a[14]=b[14],a[15]=b[15]);return a};f.rotateX=function(a,b,d){var c=Math.sin(d);d=Math.cos(d);var g=b[4],l=b[5],k=b[6],f=b[7],h=b[8],r=b[9],n=b[10],p=b[11];b!==a&&(a[0]=b[0],a[1]=b[1],a[2]=b[2],a[3]=b[3],a[12]=b[12],a[13]=b[13],a[14]=b[14],a[15]=b[15]);a[4]=g*d+h*c;a[5]=l*d+r*c;a[6]=k*d+n*c;a[7]=f*d+p*c;a[8]=h*d-g*c;a[9]=r*d-l*c;a[10]=n* -d-k*c;a[11]=p*d-f*c;return a};f.rotateY=function(a,b,d){var c=Math.sin(d);d=Math.cos(d);var g=b[0],l=b[1],k=b[2],f=b[3],h=b[8],r=b[9],n=b[10],p=b[11];b!==a&&(a[4]=b[4],a[5]=b[5],a[6]=b[6],a[7]=b[7],a[12]=b[12],a[13]=b[13],a[14]=b[14],a[15]=b[15]);a[0]=g*d-h*c;a[1]=l*d-r*c;a[2]=k*d-n*c;a[3]=f*d-p*c;a[8]=g*c+h*d;a[9]=l*c+r*d;a[10]=k*c+n*d;a[11]=f*c+p*d;return a};f.rotateZ=function(a,b,d){var c=Math.sin(d);d=Math.cos(d);var g=b[0],l=b[1],k=b[2],f=b[3],h=b[4],r=b[5],n=b[6],p=b[7];b!==a&&(a[8]=b[8],a[9]= -b[9],a[10]=b[10],a[11]=b[11],a[12]=b[12],a[13]=b[13],a[14]=b[14],a[15]=b[15]);a[0]=g*d+h*c;a[1]=l*d+r*c;a[2]=k*d+n*c;a[3]=f*d+p*c;a[4]=h*d-g*c;a[5]=r*d-l*c;a[6]=n*d-k*c;a[7]=p*d-f*c;return a};f.fromTranslation=function(a,b){a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=1;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=1;a[11]=0;a[12]=b[0];a[13]=b[1];a[14]=b[2];a[15]=1;return a};f.fromScaling=function(a,b){a[0]=b[0];a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=b[1];a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=b[2];a[11]=0;a[12]=0;a[13]=0;a[14]= -0;a[15]=1;return a};f.fromRotation=function(a,b,d){var c=d[0],g=d[1];d=d[2];var l=Math.sqrt(c*c+g*g+d*d);if(Math.abs(l)<n.b)return null;l=1/l;c*=l;g*=l;d*=l;l=Math.sin(b);b=Math.cos(b);var k=1-b;a[0]=c*c*k+b;a[1]=g*c*k+d*l;a[2]=d*c*k-g*l;a[3]=0;a[4]=c*g*k-d*l;a[5]=g*g*k+b;a[6]=d*g*k+c*l;a[7]=0;a[8]=c*d*k+g*l;a[9]=g*d*k-c*l;a[10]=d*d*k+b;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};f.fromXRotation=function(a,b){var c=Math.sin(b);b=Math.cos(b);a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=b;a[6]=c;a[7]= -0;a[8]=0;a[9]=-c;a[10]=b;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};f.fromYRotation=function(a,b){var c=Math.sin(b);b=Math.cos(b);a[0]=b;a[1]=0;a[2]=-c;a[3]=0;a[4]=0;a[5]=1;a[6]=0;a[7]=0;a[8]=c;a[9]=0;a[10]=b;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};f.fromZRotation=function(a,b){var c=Math.sin(b);b=Math.cos(b);a[0]=b;a[1]=c;a[2]=0;a[3]=0;a[4]=-c;a[5]=b;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=1;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};f.fromRotationTranslation=function(a,b,d){var c= -b[0],g=b[1],l=b[2],k=b[3],f=c+c,h=g+g,r=l+l;b=c*f;var n=c*h;c*=r;var p=g*h;g*=r;l*=r;f*=k;h*=k;k*=r;a[0]=1-(p+l);a[1]=n+k;a[2]=c-h;a[3]=0;a[4]=n-k;a[5]=1-(b+l);a[6]=g+f;a[7]=0;a[8]=c+h;a[9]=g-f;a[10]=1-(b+p);a[11]=0;a[12]=d[0];a[13]=d[1];a[14]=d[2];a[15]=1;return a};f.getTranslation=function(a,b){a[0]=b[12];a[1]=b[13];a[2]=b[14];return a};f.getScaling=function(a,b){var c=b[0],e=b[1],g=b[2],l=b[4],k=b[5],f=b[6],h=b[8],r=b[9];b=b[10];a[0]=Math.sqrt(c*c+e*e+g*g);a[1]=Math.sqrt(l*l+k*k+f*f);a[2]=Math.sqrt(h* +b[15];return a};f.fromValues=function(a,b,c,e,g,l,k,f,h,r,p,q,w,y,x,A){var d=new n.a(16);d[0]=a;d[1]=b;d[2]=c;d[3]=e;d[4]=g;d[5]=l;d[6]=k;d[7]=f;d[8]=h;d[9]=r;d[10]=p;d[11]=q;d[12]=w;d[13]=y;d[14]=x;d[15]=A;return d};f.set=function(a,b,c,e,g,l,k,f,h,r,n,p,q,y,x,A,z){a[0]=b;a[1]=c;a[2]=e;a[3]=g;a[4]=l;a[5]=k;a[6]=f;a[7]=h;a[8]=r;a[9]=n;a[10]=p;a[11]=q;a[12]=y;a[13]=x;a[14]=A;a[15]=z;return a};f.identity=function(a){a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=1;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=1;a[11]= +0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};f.transpose=function(a,b){if(a===b){var c=b[1],d=b[2],g=b[3],l=b[6],k=b[7],f=b[11];a[1]=b[4];a[2]=b[8];a[3]=b[12];a[4]=c;a[6]=b[9];a[7]=b[13];a[8]=d;a[9]=l;a[11]=b[14];a[12]=g;a[13]=k;a[14]=f}else a[0]=b[0],a[1]=b[4],a[2]=b[8],a[3]=b[12],a[4]=b[1],a[5]=b[5],a[6]=b[9],a[7]=b[13],a[8]=b[2],a[9]=b[6],a[10]=b[10],a[11]=b[14],a[12]=b[3],a[13]=b[7],a[14]=b[11],a[15]=b[15];return a};f.invert=function(a,b){var c=b[0],d=b[1],g=b[2],l=b[3],k=b[4],f=b[5],h=b[6],r= +b[7],n=b[8],p=b[9],q=b[10],y=b[11],x=b[12],A=b[13],z=b[14];b=b[15];var D=c*f-d*k,E=c*h-g*k,G=c*r-l*k,C=d*h-g*f,B=d*r-l*f,F=g*r-l*h,L=n*A-p*x,J=n*z-q*x,O=n*b-y*x,M=p*z-q*A,P=p*b-y*A,N=q*b-y*z,S=D*N-E*P+G*M+C*O-B*J+F*L;if(!S)return null;S=1/S;a[0]=(f*N-h*P+r*M)*S;a[1]=(g*P-d*N-l*M)*S;a[2]=(A*F-z*B+b*C)*S;a[3]=(q*B-p*F-y*C)*S;a[4]=(h*O-k*N-r*J)*S;a[5]=(c*N-g*O+l*J)*S;a[6]=(z*G-x*F-b*E)*S;a[7]=(n*F-q*G+y*E)*S;a[8]=(k*P-f*O+r*L)*S;a[9]=(d*O-c*P-l*L)*S;a[10]=(x*B-A*G+b*D)*S;a[11]=(p*G-n*B-y*D)*S;a[12]= +(f*J-k*M-h*L)*S;a[13]=(c*M-d*J+g*L)*S;a[14]=(A*E-x*C-z*D)*S;a[15]=(n*C-p*E+q*D)*S;return a};f.adjoint=function(a,b){var c=b[0],d=b[1],g=b[2],l=b[3],k=b[4],f=b[5],h=b[6],r=b[7],n=b[8],p=b[9],q=b[10],y=b[11],x=b[12],A=b[13],z=b[14];b=b[15];a[0]=f*(q*b-y*z)-p*(h*b-r*z)+A*(h*y-r*q);a[1]=-(d*(q*b-y*z)-p*(g*b-l*z)+A*(g*y-l*q));a[2]=d*(h*b-r*z)-f*(g*b-l*z)+A*(g*r-l*h);a[3]=-(d*(h*y-r*q)-f*(g*y-l*q)+p*(g*r-l*h));a[4]=-(k*(q*b-y*z)-n*(h*b-r*z)+x*(h*y-r*q));a[5]=c*(q*b-y*z)-n*(g*b-l*z)+x*(g*y-l*q);a[6]=-(c* +(h*b-r*z)-k*(g*b-l*z)+x*(g*r-l*h));a[7]=c*(h*y-r*q)-k*(g*y-l*q)+n*(g*r-l*h);a[8]=k*(p*b-y*A)-n*(f*b-r*A)+x*(f*y-r*p);a[9]=-(c*(p*b-y*A)-n*(d*b-l*A)+x*(d*y-l*p));a[10]=c*(f*b-r*A)-k*(d*b-l*A)+x*(d*r-l*f);a[11]=-(c*(f*y-r*p)-k*(d*y-l*p)+n*(d*r-l*f));a[12]=-(k*(p*z-q*A)-n*(f*z-h*A)+x*(f*q-h*p));a[13]=c*(p*z-q*A)-n*(d*z-g*A)+x*(d*q-g*p);a[14]=-(c*(f*z-h*A)-k*(d*z-g*A)+x*(d*h-g*f));a[15]=c*(f*q-h*p)-k*(d*q-g*p)+n*(d*h-g*f);return a};f.determinant=function(a){var b=a[0],c=a[1],d=a[2],g=a[3],l=a[4],k=a[5], +f=a[6],h=a[7],r=a[8],n=a[9],p=a[10],q=a[11],y=a[12],x=a[13],A=a[14];a=a[15];return(b*k-c*l)*(p*a-q*A)-(b*f-d*l)*(n*a-q*x)+(b*h-g*l)*(n*A-p*x)+(c*f-d*k)*(r*a-q*y)-(c*h-g*k)*(r*A-p*y)+(d*h-g*f)*(r*x-n*y)};f.multiply=q;f.translate=function(a,b,c){var d=c[0],g=c[1];c=c[2];if(b===a)a[12]=b[0]*d+b[4]*g+b[8]*c+b[12],a[13]=b[1]*d+b[5]*g+b[9]*c+b[13],a[14]=b[2]*d+b[6]*g+b[10]*c+b[14],a[15]=b[3]*d+b[7]*g+b[11]*c+b[15];else{var l=b[0];var k=b[1];var f=b[2];var h=b[3];var r=b[4];var n=b[5];var p=b[6];var q=b[7]; +var y=b[8];var x=b[9];var A=b[10];var z=b[11];a[0]=l;a[1]=k;a[2]=f;a[3]=h;a[4]=r;a[5]=n;a[6]=p;a[7]=q;a[8]=y;a[9]=x;a[10]=A;a[11]=z;a[12]=l*d+r*g+y*c+b[12];a[13]=k*d+n*g+x*c+b[13];a[14]=f*d+p*g+A*c+b[14];a[15]=h*d+q*g+z*c+b[15]}return a};f.scale=function(a,b,c){var d=c[0],g=c[1];c=c[2];a[0]=b[0]*d;a[1]=b[1]*d;a[2]=b[2]*d;a[3]=b[3]*d;a[4]=b[4]*g;a[5]=b[5]*g;a[6]=b[6]*g;a[7]=b[7]*g;a[8]=b[8]*c;a[9]=b[9]*c;a[10]=b[10]*c;a[11]=b[11]*c;a[12]=b[12];a[13]=b[13];a[14]=b[14];a[15]=b[15];return a};f.rotate= +function(a,b,c,e){var d=e[0],l=e[1];e=e[2];var k=Math.sqrt(d*d+l*l+e*e);if(Math.abs(k)<n.b)return null;k=1/k;d*=k;l*=k;e*=k;var f=Math.sin(c);var h=Math.cos(c);var r=1-h;c=b[0];k=b[1];var p=b[2];var q=b[3];var w=b[4];var y=b[5];var x=b[6];var A=b[7];var z=b[8];var D=b[9];var E=b[10];var G=b[11];var C=d*d*r+h;var B=l*d*r+e*f;var F=e*d*r-l*f;var L=d*l*r-e*f;var J=l*l*r+h;var O=e*l*r+d*f;var M=d*e*r+l*f;d=l*e*r-d*f;l=e*e*r+h;a[0]=c*C+w*B+z*F;a[1]=k*C+y*B+D*F;a[2]=p*C+x*B+E*F;a[3]=q*C+A*B+G*F;a[4]=c* +L+w*J+z*O;a[5]=k*L+y*J+D*O;a[6]=p*L+x*J+E*O;a[7]=q*L+A*J+G*O;a[8]=c*M+w*d+z*l;a[9]=k*M+y*d+D*l;a[10]=p*M+x*d+E*l;a[11]=q*M+A*d+G*l;b!==a&&(a[12]=b[12],a[13]=b[13],a[14]=b[14],a[15]=b[15]);return a};f.rotateX=function(a,b,c){var d=Math.sin(c);c=Math.cos(c);var g=b[4],l=b[5],k=b[6],f=b[7],h=b[8],r=b[9],n=b[10],p=b[11];b!==a&&(a[0]=b[0],a[1]=b[1],a[2]=b[2],a[3]=b[3],a[12]=b[12],a[13]=b[13],a[14]=b[14],a[15]=b[15]);a[4]=g*c+h*d;a[5]=l*c+r*d;a[6]=k*c+n*d;a[7]=f*c+p*d;a[8]=h*c-g*d;a[9]=r*c-l*d;a[10]=n* +c-k*d;a[11]=p*c-f*d;return a};f.rotateY=function(a,b,c){var d=Math.sin(c);c=Math.cos(c);var g=b[0],l=b[1],k=b[2],f=b[3],h=b[8],r=b[9],n=b[10],p=b[11];b!==a&&(a[4]=b[4],a[5]=b[5],a[6]=b[6],a[7]=b[7],a[12]=b[12],a[13]=b[13],a[14]=b[14],a[15]=b[15]);a[0]=g*c-h*d;a[1]=l*c-r*d;a[2]=k*c-n*d;a[3]=f*c-p*d;a[8]=g*d+h*c;a[9]=l*d+r*c;a[10]=k*d+n*c;a[11]=f*d+p*c;return a};f.rotateZ=function(a,b,c){var d=Math.sin(c);c=Math.cos(c);var g=b[0],l=b[1],k=b[2],f=b[3],h=b[4],r=b[5],n=b[6],p=b[7];b!==a&&(a[8]=b[8],a[9]= +b[9],a[10]=b[10],a[11]=b[11],a[12]=b[12],a[13]=b[13],a[14]=b[14],a[15]=b[15]);a[0]=g*c+h*d;a[1]=l*c+r*d;a[2]=k*c+n*d;a[3]=f*c+p*d;a[4]=h*c-g*d;a[5]=r*c-l*d;a[6]=n*c-k*d;a[7]=p*c-f*d;return a};f.fromTranslation=function(a,b){a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=1;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=1;a[11]=0;a[12]=b[0];a[13]=b[1];a[14]=b[2];a[15]=1;return a};f.fromScaling=function(a,b){a[0]=b[0];a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=b[1];a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=b[2];a[11]=0;a[12]=0;a[13]=0;a[14]= +0;a[15]=1;return a};f.fromRotation=function(a,b,c){var d=c[0],g=c[1];c=c[2];var l=Math.sqrt(d*d+g*g+c*c);if(Math.abs(l)<n.b)return null;l=1/l;d*=l;g*=l;c*=l;l=Math.sin(b);b=Math.cos(b);var k=1-b;a[0]=d*d*k+b;a[1]=g*d*k+c*l;a[2]=c*d*k-g*l;a[3]=0;a[4]=d*g*k-c*l;a[5]=g*g*k+b;a[6]=c*g*k+d*l;a[7]=0;a[8]=d*c*k+g*l;a[9]=g*c*k-d*l;a[10]=c*c*k+b;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};f.fromXRotation=function(a,b){var c=Math.sin(b);b=Math.cos(b);a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=b;a[6]=c;a[7]= +0;a[8]=0;a[9]=-c;a[10]=b;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};f.fromYRotation=function(a,b){var c=Math.sin(b);b=Math.cos(b);a[0]=b;a[1]=0;a[2]=-c;a[3]=0;a[4]=0;a[5]=1;a[6]=0;a[7]=0;a[8]=c;a[9]=0;a[10]=b;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};f.fromZRotation=function(a,b){var c=Math.sin(b);b=Math.cos(b);a[0]=b;a[1]=c;a[2]=0;a[3]=0;a[4]=-c;a[5]=b;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=1;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};f.fromRotationTranslation=function(a,b,c){var d= +b[0],g=b[1],l=b[2],k=b[3],f=d+d,h=g+g,r=l+l;b=d*f;var n=d*h;d*=r;var p=g*h;g*=r;l*=r;f*=k;h*=k;k*=r;a[0]=1-(p+l);a[1]=n+k;a[2]=d-h;a[3]=0;a[4]=n-k;a[5]=1-(b+l);a[6]=g+f;a[7]=0;a[8]=d+h;a[9]=g-f;a[10]=1-(b+p);a[11]=0;a[12]=c[0];a[13]=c[1];a[14]=c[2];a[15]=1;return a};f.getTranslation=function(a,b){a[0]=b[12];a[1]=b[13];a[2]=b[14];return a};f.getScaling=function(a,b){var c=b[0],d=b[1],g=b[2],l=b[4],k=b[5],f=b[6],h=b[8],r=b[9];b=b[10];a[0]=Math.sqrt(c*c+d*d+g*g);a[1]=Math.sqrt(l*l+k*k+f*f);a[2]=Math.sqrt(h* h+r*r+b*b);return a};f.getRotation=function(a,b){var c=b[0]+b[5]+b[10];0<c?(c=2*Math.sqrt(c+1),a[3]=.25*c,a[0]=(b[6]-b[9])/c,a[1]=(b[8]-b[2])/c,a[2]=(b[1]-b[4])/c):b[0]>b[5]&b[0]>b[10]?(c=2*Math.sqrt(1+b[0]-b[5]-b[10]),a[3]=(b[6]-b[9])/c,a[0]=.25*c,a[1]=(b[1]+b[4])/c,a[2]=(b[8]+b[2])/c):b[5]>b[10]?(c=2*Math.sqrt(1+b[5]-b[0]-b[10]),a[3]=(b[8]-b[2])/c,a[0]=(b[1]+b[4])/c,a[1]=.25*c,a[2]=(b[6]+b[9])/c):(c=2*Math.sqrt(1+b[10]-b[0]-b[5]),a[3]=(b[1]-b[4])/c,a[0]=(b[8]+b[2])/c,a[1]=(b[6]+b[9])/c,a[2]=.25* -c);return a};f.fromRotationTranslationScale=function(a,b,d,e){var c=b[0],l=b[1],k=b[2],f=b[3],h=c+c,r=l+l,n=k+k;b=c*h;var p=c*r;c*=n;var q=l*r;l*=n;k*=n;h*=f;r*=f;f*=n;n=e[0];var y=e[1];e=e[2];a[0]=(1-(q+k))*n;a[1]=(p+f)*n;a[2]=(c-r)*n;a[3]=0;a[4]=(p-f)*y;a[5]=(1-(b+k))*y;a[6]=(l+h)*y;a[7]=0;a[8]=(c+r)*e;a[9]=(l-h)*e;a[10]=(1-(b+q))*e;a[11]=0;a[12]=d[0];a[13]=d[1];a[14]=d[2];a[15]=1;return a};f.fromRotationTranslationScaleOrigin=function(a,b,d,e,g){var c=b[0],k=b[1],f=b[2],h=b[3],r=c+c,n=k+k,p=f+ -f;b=c*r;var q=c*n;c*=p;var y=k*n;k*=p;f*=p;r*=h;n*=h;h*=p;p=e[0];var x=e[1];e=e[2];var A=g[0],z=g[1];g=g[2];a[0]=(1-(y+f))*p;a[1]=(q+h)*p;a[2]=(c-n)*p;a[3]=0;a[4]=(q-h)*x;a[5]=(1-(b+f))*x;a[6]=(k+r)*x;a[7]=0;a[8]=(c+n)*e;a[9]=(k-r)*e;a[10]=(1-(b+y))*e;a[11]=0;a[12]=d[0]+A-(a[0]*A+a[4]*z+a[8]*g);a[13]=d[1]+z-(a[1]*A+a[5]*z+a[9]*g);a[14]=d[2]+g-(a[2]*A+a[6]*z+a[10]*g);a[15]=1;return a};f.fromQuat=function(a,b){var c=b[0],e=b[1],g=b[2];b=b[3];var l=c+c,k=e+e,f=g+g;c*=l;var h=e*l;e*=k;var r=g*l,n=g*k; -g*=f;l*=b;k*=b;b*=f;a[0]=1-e-g;a[1]=h+b;a[2]=r-k;a[3]=0;a[4]=h-b;a[5]=1-c-g;a[6]=n+l;a[7]=0;a[8]=r+k;a[9]=n-l;a[10]=1-c-e;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};f.frustum=function(a,b,d,e,g,l,k){var c=1/(d-b),f=1/(g-e),h=1/(l-k);a[0]=2*l*c;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=2*l*f;a[6]=0;a[7]=0;a[8]=(d+b)*c;a[9]=(g+e)*f;a[10]=(k+l)*h;a[11]=-1;a[12]=0;a[13]=0;a[14]=k*l*2*h;a[15]=0;return a};f.perspective=function(a,b,d,e,g){b=1/Math.tan(b/2);var c=1/(e-g);a[0]=b/d;a[1]=0;a[2]=0;a[3]=0;a[4]= -0;a[5]=b;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=(g+e)*c;a[11]=-1;a[12]=0;a[13]=0;a[14]=2*g*e*c;a[15]=0;return a};f.perspectiveFromFieldOfView=function(a,b,d,e){var c=Math.tan(b.upDegrees*Math.PI/180),l=Math.tan(b.downDegrees*Math.PI/180),k=Math.tan(b.leftDegrees*Math.PI/180);b=Math.tan(b.rightDegrees*Math.PI/180);var f=2/(k+b),h=2/(c+l);a[0]=f;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=h;a[6]=0;a[7]=0;a[8]=-((k-b)*f*.5);a[9]=(c-l)*h*.5;a[10]=e/(d-e);a[11]=-1;a[12]=0;a[13]=0;a[14]=e*d/(d-e);a[15]=0;return a};f.ortho= -function(a,b,d,e,g,l,k){var c=1/(b-d),f=1/(e-g),h=1/(l-k);a[0]=-2*c;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=-2*f;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=2*h;a[11]=0;a[12]=(b+d)*c;a[13]=(g+e)*f;a[14]=(k+l)*h;a[15]=1;return a};f.lookAt=function(a,b,d,e){var c=b[0],l=b[1];b=b[2];var k=e[0];var f=e[1];var h=e[2];var r=d[0];e=d[1];var p=d[2];if(Math.abs(c-r)<n.b&&Math.abs(l-e)<n.b&&Math.abs(b-p)<n.b)return mat4.identity(a);d=c-r;e=l-e;r=b-p;var q=1/Math.sqrt(d*d+e*e+r*r);d*=q;e*=q;r*=q;p=f*r-h*e;h=h*d-k*r;k=k*e-f* -d;(q=Math.sqrt(p*p+h*h+k*k))?(q=1/q,p*=q,h*=q,k*=q):k=h=p=0;f=e*k-r*h;var w=r*p-d*k;var y=d*h-e*p;(q=Math.sqrt(f*f+w*w+y*y))?(q=1/q,f*=q,w*=q,y*=q):y=w=f=0;a[0]=p;a[1]=f;a[2]=d;a[3]=0;a[4]=h;a[5]=w;a[6]=e;a[7]=0;a[8]=k;a[9]=y;a[10]=r;a[11]=0;a[12]=-(p*c+h*l+k*b);a[13]=-(f*c+w*l+y*b);a[14]=-(d*c+e*l+r*b);a[15]=1;return a};f.targetTo=function(a,b,d,e){var c=b[0],l=b[1];b=b[2];var k=e[0],f=e[1],h=e[2];e=c-d[0];var r=l-d[1];d=b-d[2];var n=e*e+r*r+d*d;0<n&&(n=1/Math.sqrt(n),e*=n,r*=n,d*=n);n=f*d-h*r;h= -h*e-k*d;k=k*r-f*e;a[0]=n;a[1]=h;a[2]=k;a[3]=0;a[4]=r*k-d*h;a[5]=d*n-e*k;a[6]=e*h-r*n;a[7]=0;a[8]=e;a[9]=r;a[10]=d;a[11]=0;a[12]=c;a[13]=l;a[14]=b;a[15]=1;return a};f.str=function(a){return"mat4("+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+", "+a[4]+", "+a[5]+", "+a[6]+", "+a[7]+", "+a[8]+", "+a[9]+", "+a[10]+", "+a[11]+", "+a[12]+", "+a[13]+", "+a[14]+", "+a[15]+")"};f.frob=function(a){return Math.sqrt(Math.pow(a[0],2)+Math.pow(a[1],2)+Math.pow(a[2],2)+Math.pow(a[3],2)+Math.pow(a[4],2)+Math.pow(a[5],2)+Math.pow(a[6], -2)+Math.pow(a[7],2)+Math.pow(a[8],2)+Math.pow(a[9],2)+Math.pow(a[10],2)+Math.pow(a[11],2)+Math.pow(a[12],2)+Math.pow(a[13],2)+Math.pow(a[14],2)+Math.pow(a[15],2))};f.add=function(a,b,d){a[0]=b[0]+d[0];a[1]=b[1]+d[1];a[2]=b[2]+d[2];a[3]=b[3]+d[3];a[4]=b[4]+d[4];a[5]=b[5]+d[5];a[6]=b[6]+d[6];a[7]=b[7]+d[7];a[8]=b[8]+d[8];a[9]=b[9]+d[9];a[10]=b[10]+d[10];a[11]=b[11]+d[11];a[12]=b[12]+d[12];a[13]=b[13]+d[13];a[14]=b[14]+d[14];a[15]=b[15]+d[15];return a};f.subtract=p;f.multiplyScalar=function(a,b,d){a[0]= -b[0]*d;a[1]=b[1]*d;a[2]=b[2]*d;a[3]=b[3]*d;a[4]=b[4]*d;a[5]=b[5]*d;a[6]=b[6]*d;a[7]=b[7]*d;a[8]=b[8]*d;a[9]=b[9]*d;a[10]=b[10]*d;a[11]=b[11]*d;a[12]=b[12]*d;a[13]=b[13]*d;a[14]=b[14]*d;a[15]=b[15]*d;return a};f.multiplyScalarAndAdd=function(a,b,d,e){a[0]=b[0]+d[0]*e;a[1]=b[1]+d[1]*e;a[2]=b[2]+d[2]*e;a[3]=b[3]+d[3]*e;a[4]=b[4]+d[4]*e;a[5]=b[5]+d[5]*e;a[6]=b[6]+d[6]*e;a[7]=b[7]+d[7]*e;a[8]=b[8]+d[8]*e;a[9]=b[9]+d[9]*e;a[10]=b[10]+d[10]*e;a[11]=b[11]+d[11]*e;a[12]=b[12]+d[12]*e;a[13]=b[13]+d[13]*e;a[14]= -b[14]+d[14]*e;a[15]=b[15]+d[15]*e;return a};f.exactEquals=function(a,b){return a[0]===b[0]&&a[1]===b[1]&&a[2]===b[2]&&a[3]===b[3]&&a[4]===b[4]&&a[5]===b[5]&&a[6]===b[6]&&a[7]===b[7]&&a[8]===b[8]&&a[9]===b[9]&&a[10]===b[10]&&a[11]===b[11]&&a[12]===b[12]&&a[13]===b[13]&&a[14]===b[14]&&a[15]===b[15]};f.equals=function(a,b){var c=a[0],e=a[1],g=a[2],l=a[3],k=a[4],f=a[5],h=a[6],r=a[7],p=a[8],q=a[9],w=a[10],y=a[11],x=a[12],A=a[13],z=a[14];a=a[15];var D=b[0],E=b[1],G=b[2],C=b[3],B=b[4],F=b[5],L=b[6],I=b[7], -O=b[8],M=b[9],P=b[10],N=b[11],S=b[12],U=b[13],Z=b[14];b=b[15];return Math.abs(c-D)<=n.b*Math.max(1,Math.abs(c),Math.abs(D))&&Math.abs(e-E)<=n.b*Math.max(1,Math.abs(e),Math.abs(E))&&Math.abs(g-G)<=n.b*Math.max(1,Math.abs(g),Math.abs(G))&&Math.abs(l-C)<=n.b*Math.max(1,Math.abs(l),Math.abs(C))&&Math.abs(k-B)<=n.b*Math.max(1,Math.abs(k),Math.abs(B))&&Math.abs(f-F)<=n.b*Math.max(1,Math.abs(f),Math.abs(F))&&Math.abs(h-L)<=n.b*Math.max(1,Math.abs(h),Math.abs(L))&&Math.abs(r-I)<=n.b*Math.max(1,Math.abs(r), -Math.abs(I))&&Math.abs(p-O)<=n.b*Math.max(1,Math.abs(p),Math.abs(O))&&Math.abs(q-M)<=n.b*Math.max(1,Math.abs(q),Math.abs(M))&&Math.abs(w-P)<=n.b*Math.max(1,Math.abs(w),Math.abs(P))&&Math.abs(y-N)<=n.b*Math.max(1,Math.abs(y),Math.abs(N))&&Math.abs(x-S)<=n.b*Math.max(1,Math.abs(x),Math.abs(S))&&Math.abs(A-U)<=n.b*Math.max(1,Math.abs(A),Math.abs(U))&&Math.abs(z-Z)<=n.b*Math.max(1,Math.abs(z),Math.abs(Z))&&Math.abs(a-b)<=n.b*Math.max(1,Math.abs(a),Math.abs(b))};var n=a(34);f.mul=q;f.sub=p},function(h, -f,a){function q(){var a=new d.a(4);a[0]=0;a[1]=0;a[2]=0;a[3]=1;return a}function p(a,b,c){c*=.5;var d=Math.sin(c);a[0]=d*b[0];a[1]=d*b[1];a[2]=d*b[2];a[3]=Math.cos(c);return a}function n(a,b,c){var d=b[0],e=b[1],g=b[2];b=b[3];var k=c[0],l=c[1],f=c[2];c=c[3];a[0]=d*c+b*k+e*f-g*l;a[1]=e*c+b*l+g*k-d*f;a[2]=g*c+b*f+d*l-e*k;a[3]=b*c-d*k-e*l-g*f;return a}function c(a,b,c,d){var e=b[0],g=b[1],k=b[2];b=b[3];var l=c[0],f=c[1],h=c[2];c=c[3];var m=e*l+g*f+k*h+b*c;0>m&&(m=-m,l=-l,f=-f,h=-h,c=-c);if(1E-6<1-m){var r= +c);return a};f.fromRotationTranslationScale=function(a,b,c,e){var d=b[0],l=b[1],k=b[2],f=b[3],h=d+d,r=l+l,n=k+k;b=d*h;var p=d*r;d*=n;var q=l*r;l*=n;k*=n;h*=f;r*=f;f*=n;n=e[0];var y=e[1];e=e[2];a[0]=(1-(q+k))*n;a[1]=(p+f)*n;a[2]=(d-r)*n;a[3]=0;a[4]=(p-f)*y;a[5]=(1-(b+k))*y;a[6]=(l+h)*y;a[7]=0;a[8]=(d+r)*e;a[9]=(l-h)*e;a[10]=(1-(b+q))*e;a[11]=0;a[12]=c[0];a[13]=c[1];a[14]=c[2];a[15]=1;return a};f.fromRotationTranslationScaleOrigin=function(a,b,c,e,g){var d=b[0],k=b[1],f=b[2],h=b[3],r=d+d,n=k+k,p=f+ +f;b=d*r;var q=d*n;d*=p;var y=k*n;k*=p;f*=p;r*=h;n*=h;h*=p;p=e[0];var x=e[1];e=e[2];var A=g[0],z=g[1];g=g[2];a[0]=(1-(y+f))*p;a[1]=(q+h)*p;a[2]=(d-n)*p;a[3]=0;a[4]=(q-h)*x;a[5]=(1-(b+f))*x;a[6]=(k+r)*x;a[7]=0;a[8]=(d+n)*e;a[9]=(k-r)*e;a[10]=(1-(b+y))*e;a[11]=0;a[12]=c[0]+A-(a[0]*A+a[4]*z+a[8]*g);a[13]=c[1]+z-(a[1]*A+a[5]*z+a[9]*g);a[14]=c[2]+g-(a[2]*A+a[6]*z+a[10]*g);a[15]=1;return a};f.fromQuat=function(a,b){var c=b[0],d=b[1],g=b[2];b=b[3];var l=c+c,k=d+d,f=g+g;c*=l;var h=d*l;d*=k;var r=g*l,n=g*k; +g*=f;l*=b;k*=b;b*=f;a[0]=1-d-g;a[1]=h+b;a[2]=r-k;a[3]=0;a[4]=h-b;a[5]=1-c-g;a[6]=n+l;a[7]=0;a[8]=r+k;a[9]=n-l;a[10]=1-c-d;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};f.frustum=function(a,b,c,e,g,l,k){var d=1/(c-b),f=1/(g-e),h=1/(l-k);a[0]=2*l*d;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=2*l*f;a[6]=0;a[7]=0;a[8]=(c+b)*d;a[9]=(g+e)*f;a[10]=(k+l)*h;a[11]=-1;a[12]=0;a[13]=0;a[14]=k*l*2*h;a[15]=0;return a};f.perspective=function(a,b,c,e,g){b=1/Math.tan(b/2);var d=1/(e-g);a[0]=b/c;a[1]=0;a[2]=0;a[3]=0;a[4]= +0;a[5]=b;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=(g+e)*d;a[11]=-1;a[12]=0;a[13]=0;a[14]=2*g*e*d;a[15]=0;return a};f.perspectiveFromFieldOfView=function(a,b,c,e){var d=Math.tan(b.upDegrees*Math.PI/180),l=Math.tan(b.downDegrees*Math.PI/180),k=Math.tan(b.leftDegrees*Math.PI/180);b=Math.tan(b.rightDegrees*Math.PI/180);var f=2/(k+b),h=2/(d+l);a[0]=f;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=h;a[6]=0;a[7]=0;a[8]=-((k-b)*f*.5);a[9]=(d-l)*h*.5;a[10]=e/(c-e);a[11]=-1;a[12]=0;a[13]=0;a[14]=e*c/(c-e);a[15]=0;return a};f.ortho= +function(a,b,c,e,g,l,k){var d=1/(b-c),f=1/(e-g),h=1/(l-k);a[0]=-2*d;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=-2*f;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=2*h;a[11]=0;a[12]=(b+c)*d;a[13]=(g+e)*f;a[14]=(k+l)*h;a[15]=1;return a};f.lookAt=function(a,b,c,e){var d=b[0],l=b[1];b=b[2];var k=e[0];var f=e[1];var h=e[2];var r=c[0];e=c[1];var p=c[2];if(Math.abs(d-r)<n.b&&Math.abs(l-e)<n.b&&Math.abs(b-p)<n.b)return mat4.identity(a);c=d-r;e=l-e;r=b-p;var q=1/Math.sqrt(c*c+e*e+r*r);c*=q;e*=q;r*=q;p=f*r-h*e;h=h*c-k*r;k=k*e-f* +c;(q=Math.sqrt(p*p+h*h+k*k))?(q=1/q,p*=q,h*=q,k*=q):k=h=p=0;f=e*k-r*h;var w=r*p-c*k;var y=c*h-e*p;(q=Math.sqrt(f*f+w*w+y*y))?(q=1/q,f*=q,w*=q,y*=q):y=w=f=0;a[0]=p;a[1]=f;a[2]=c;a[3]=0;a[4]=h;a[5]=w;a[6]=e;a[7]=0;a[8]=k;a[9]=y;a[10]=r;a[11]=0;a[12]=-(p*d+h*l+k*b);a[13]=-(f*d+w*l+y*b);a[14]=-(c*d+e*l+r*b);a[15]=1;return a};f.targetTo=function(a,b,c,e){var d=b[0],l=b[1];b=b[2];var k=e[0],f=e[1],h=e[2];e=d-c[0];var r=l-c[1];c=b-c[2];var n=e*e+r*r+c*c;0<n&&(n=1/Math.sqrt(n),e*=n,r*=n,c*=n);n=f*c-h*r;h= +h*e-k*c;k=k*r-f*e;a[0]=n;a[1]=h;a[2]=k;a[3]=0;a[4]=r*k-c*h;a[5]=c*n-e*k;a[6]=e*h-r*n;a[7]=0;a[8]=e;a[9]=r;a[10]=c;a[11]=0;a[12]=d;a[13]=l;a[14]=b;a[15]=1;return a};f.str=function(a){return"mat4("+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+", "+a[4]+", "+a[5]+", "+a[6]+", "+a[7]+", "+a[8]+", "+a[9]+", "+a[10]+", "+a[11]+", "+a[12]+", "+a[13]+", "+a[14]+", "+a[15]+")"};f.frob=function(a){return Math.sqrt(Math.pow(a[0],2)+Math.pow(a[1],2)+Math.pow(a[2],2)+Math.pow(a[3],2)+Math.pow(a[4],2)+Math.pow(a[5],2)+Math.pow(a[6], +2)+Math.pow(a[7],2)+Math.pow(a[8],2)+Math.pow(a[9],2)+Math.pow(a[10],2)+Math.pow(a[11],2)+Math.pow(a[12],2)+Math.pow(a[13],2)+Math.pow(a[14],2)+Math.pow(a[15],2))};f.add=function(a,b,c){a[0]=b[0]+c[0];a[1]=b[1]+c[1];a[2]=b[2]+c[2];a[3]=b[3]+c[3];a[4]=b[4]+c[4];a[5]=b[5]+c[5];a[6]=b[6]+c[6];a[7]=b[7]+c[7];a[8]=b[8]+c[8];a[9]=b[9]+c[9];a[10]=b[10]+c[10];a[11]=b[11]+c[11];a[12]=b[12]+c[12];a[13]=b[13]+c[13];a[14]=b[14]+c[14];a[15]=b[15]+c[15];return a};f.subtract=p;f.multiplyScalar=function(a,b,c){a[0]= +b[0]*c;a[1]=b[1]*c;a[2]=b[2]*c;a[3]=b[3]*c;a[4]=b[4]*c;a[5]=b[5]*c;a[6]=b[6]*c;a[7]=b[7]*c;a[8]=b[8]*c;a[9]=b[9]*c;a[10]=b[10]*c;a[11]=b[11]*c;a[12]=b[12]*c;a[13]=b[13]*c;a[14]=b[14]*c;a[15]=b[15]*c;return a};f.multiplyScalarAndAdd=function(a,b,c,e){a[0]=b[0]+c[0]*e;a[1]=b[1]+c[1]*e;a[2]=b[2]+c[2]*e;a[3]=b[3]+c[3]*e;a[4]=b[4]+c[4]*e;a[5]=b[5]+c[5]*e;a[6]=b[6]+c[6]*e;a[7]=b[7]+c[7]*e;a[8]=b[8]+c[8]*e;a[9]=b[9]+c[9]*e;a[10]=b[10]+c[10]*e;a[11]=b[11]+c[11]*e;a[12]=b[12]+c[12]*e;a[13]=b[13]+c[13]*e;a[14]= +b[14]+c[14]*e;a[15]=b[15]+c[15]*e;return a};f.exactEquals=function(a,b){return a[0]===b[0]&&a[1]===b[1]&&a[2]===b[2]&&a[3]===b[3]&&a[4]===b[4]&&a[5]===b[5]&&a[6]===b[6]&&a[7]===b[7]&&a[8]===b[8]&&a[9]===b[9]&&a[10]===b[10]&&a[11]===b[11]&&a[12]===b[12]&&a[13]===b[13]&&a[14]===b[14]&&a[15]===b[15]};f.equals=function(a,b){var c=a[0],d=a[1],g=a[2],l=a[3],k=a[4],f=a[5],h=a[6],r=a[7],p=a[8],q=a[9],w=a[10],y=a[11],x=a[12],A=a[13],z=a[14];a=a[15];var D=b[0],E=b[1],G=b[2],C=b[3],B=b[4],F=b[5],L=b[6],J=b[7], +O=b[8],M=b[9],P=b[10],N=b[11],S=b[12],U=b[13],Z=b[14];b=b[15];return Math.abs(c-D)<=n.b*Math.max(1,Math.abs(c),Math.abs(D))&&Math.abs(d-E)<=n.b*Math.max(1,Math.abs(d),Math.abs(E))&&Math.abs(g-G)<=n.b*Math.max(1,Math.abs(g),Math.abs(G))&&Math.abs(l-C)<=n.b*Math.max(1,Math.abs(l),Math.abs(C))&&Math.abs(k-B)<=n.b*Math.max(1,Math.abs(k),Math.abs(B))&&Math.abs(f-F)<=n.b*Math.max(1,Math.abs(f),Math.abs(F))&&Math.abs(h-L)<=n.b*Math.max(1,Math.abs(h),Math.abs(L))&&Math.abs(r-J)<=n.b*Math.max(1,Math.abs(r), +Math.abs(J))&&Math.abs(p-O)<=n.b*Math.max(1,Math.abs(p),Math.abs(O))&&Math.abs(q-M)<=n.b*Math.max(1,Math.abs(q),Math.abs(M))&&Math.abs(w-P)<=n.b*Math.max(1,Math.abs(w),Math.abs(P))&&Math.abs(y-N)<=n.b*Math.max(1,Math.abs(y),Math.abs(N))&&Math.abs(x-S)<=n.b*Math.max(1,Math.abs(x),Math.abs(S))&&Math.abs(A-U)<=n.b*Math.max(1,Math.abs(A),Math.abs(U))&&Math.abs(z-Z)<=n.b*Math.max(1,Math.abs(z),Math.abs(Z))&&Math.abs(a-b)<=n.b*Math.max(1,Math.abs(a),Math.abs(b))};var n=a(34);f.mul=q;f.sub=p},function(h, +f,a){function q(){var a=new c.a(4);a[0]=0;a[1]=0;a[2]=0;a[3]=1;return a}function p(a,b,c){c*=.5;var d=Math.sin(c);a[0]=d*b[0];a[1]=d*b[1];a[2]=d*b[2];a[3]=Math.cos(c);return a}function n(a,b,c){var d=b[0],e=b[1],g=b[2];b=b[3];var k=c[0],l=c[1],f=c[2];c=c[3];a[0]=d*c+b*k+e*f-g*l;a[1]=e*c+b*l+g*k-d*f;a[2]=g*c+b*f+d*l-e*k;a[3]=b*c-d*k-e*l-g*f;return a}function d(a,b,c,d){var e=b[0],g=b[1],k=b[2];b=b[3];var l=c[0],f=c[1],h=c[2];c=c[3];var m=e*l+g*f+k*h+b*c;0>m&&(m=-m,l=-l,f=-f,h=-h,c=-c);if(1E-6<1-m){var r= Math.acos(m);var t=Math.sin(r);m=Math.sin((1-d)*r)/t;d=Math.sin(d*r)/t}else m=1-d;a[0]=m*e+d*l;a[1]=m*g+d*f;a[2]=m*k+d*h;a[3]=m*b+d*c;return a}function b(a,b){var c=b[0]+b[4]+b[8];if(0<c)c=Math.sqrt(c+1),a[3]=.5*c,c=.5/c,a[0]=(b[5]-b[7])*c,a[1]=(b[6]-b[2])*c,a[2]=(b[1]-b[3])*c;else{var d=0;b[4]>b[0]&&(d=1);b[8]>b[3*d+d]&&(d=2);var e=(d+1)%3,g=(d+2)%3;c=Math.sqrt(b[3*d+d]-b[3*e+e]-b[3*g+g]+1);a[d]=.5*c;c=.5/c;a[3]=(b[3*e+g]-b[3*g+e])*c;a[e]=(b[3*e+d]+b[3*d+e])*c;a[g]=(b[3*g+d]+b[3*d+g])*c}return a} Object.defineProperty(f,"__esModule",{value:!0});f.create=q;f.identity=function(a){a[0]=0;a[1]=0;a[2]=0;a[3]=1;return a};f.setAxisAngle=p;f.getAxisAngle=function(a,b){var c=2*Math.acos(b[3]),d=Math.sin(c/2);0!=d?(a[0]=b[0]/d,a[1]=b[1]/d,a[2]=b[2]/d):(a[0]=1,a[1]=0,a[2]=0);return c};f.multiply=n;f.rotateX=function(a,b,c){c*=.5;var d=b[0],e=b[1],g=b[2];b=b[3];var k=Math.sin(c);c=Math.cos(c);a[0]=d*c+b*k;a[1]=e*c+g*k;a[2]=g*c-e*k;a[3]=b*c-d*k;return a};f.rotateY=function(a,b,c){c*=.5;var d=b[0],e=b[1], -g=b[2];b=b[3];var k=Math.sin(c);c=Math.cos(c);a[0]=d*c-g*k;a[1]=e*c+b*k;a[2]=g*c+d*k;a[3]=b*c-e*k;return a};f.rotateZ=function(a,b,c){c*=.5;var d=b[0],e=b[1],g=b[2];b=b[3];var k=Math.sin(c);c=Math.cos(c);a[0]=d*c+e*k;a[1]=e*c-d*k;a[2]=g*c+b*k;a[3]=b*c-g*k;return a};f.calculateW=function(a,b){var c=b[0],d=b[1];b=b[2];a[0]=c;a[1]=d;a[2]=b;a[3]=Math.sqrt(Math.abs(1-c*c-d*d-b*b));return a};f.slerp=c;f.invert=function(a,b){var c=b[0],d=b[1],e=b[2];b=b[3];var g=c*c+d*d+e*e+b*b;g=g?1/g:0;a[0]=-c*g;a[1]= --d*g;a[2]=-e*g;a[3]=b*g;return a};f.conjugate=function(a,b){a[0]=-b[0];a[1]=-b[1];a[2]=-b[2];a[3]=b[3];return a};f.fromMat3=b;f.fromEuler=function(a,b,c,d){var e=.5*Math.PI/180;b*=e;c*=e;d*=e;e=Math.sin(b);b=Math.cos(b);var g=Math.sin(c);c=Math.cos(c);var k=Math.sin(d);d=Math.cos(d);a[0]=e*c*d-b*g*k;a[1]=b*g*d+e*c*k;a[2]=b*c*k-e*g*d;a[3]=b*c*d+e*g*k;return a};f.str=function(a){return"quat("+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+")"};var d=a(34),e=a(133),g=a(134);h=a(135);f.clone=h.clone;f.fromValues= +g=b[2];b=b[3];var k=Math.sin(c);c=Math.cos(c);a[0]=d*c-g*k;a[1]=e*c+b*k;a[2]=g*c+d*k;a[3]=b*c-e*k;return a};f.rotateZ=function(a,b,c){c*=.5;var d=b[0],e=b[1],g=b[2];b=b[3];var k=Math.sin(c);c=Math.cos(c);a[0]=d*c+e*k;a[1]=e*c-d*k;a[2]=g*c+b*k;a[3]=b*c-g*k;return a};f.calculateW=function(a,b){var c=b[0],d=b[1];b=b[2];a[0]=c;a[1]=d;a[2]=b;a[3]=Math.sqrt(Math.abs(1-c*c-d*d-b*b));return a};f.slerp=d;f.invert=function(a,b){var c=b[0],d=b[1],e=b[2];b=b[3];var g=c*c+d*d+e*e+b*b;g=g?1/g:0;a[0]=-c*g;a[1]= +-d*g;a[2]=-e*g;a[3]=b*g;return a};f.conjugate=function(a,b){a[0]=-b[0];a[1]=-b[1];a[2]=-b[2];a[3]=b[3];return a};f.fromMat3=b;f.fromEuler=function(a,b,c,d){var e=.5*Math.PI/180;b*=e;c*=e;d*=e;e=Math.sin(b);b=Math.cos(b);var g=Math.sin(c);c=Math.cos(c);var k=Math.sin(d);d=Math.cos(d);a[0]=e*c*d-b*g*k;a[1]=b*g*d+e*c*k;a[2]=b*c*k-e*g*d;a[3]=b*c*d+e*g*k;return a};f.str=function(a){return"quat("+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+")"};var c=a(34),e=a(133),g=a(134);h=a(135);f.clone=h.clone;f.fromValues= h.fromValues;f.copy=h.copy;f.set=h.set;f.add=h.add;f.mul=n;f.scale=h.scale;f.dot=h.dot;f.lerp=h.lerp;a=h.length;f.length=a;f.len=a;a=h.squaredLength;f.squaredLength=a;f.sqrLen=a;var l=h.normalize;f.normalize=l;f.exactEquals=h.exactEquals;f.equals=h.equals;h=function(){var a=g.create(),b=g.fromValues(1,0,0),c=g.fromValues(0,1,0);return function(d,e,k){var f=g.dot(e,k);if(-.999999>f)return g.cross(a,b,e),1E-6>g.len(a)&&g.cross(a,c,e),g.normalize(a,a),p(d,a,Math.PI),d;if(.999999<f)return d[0]=0,d[1]= -0,d[2]=0,d[3]=1,d;g.cross(a,e,k);d[0]=a[0];d[1]=a[1];d[2]=a[2];d[3]=1+f;return l(d,d)}}();f.rotationTo=h;h=function(){var a=q(),b=q();return function(d,e,g,k,l,f){c(a,e,l,f);c(b,g,k,f);c(d,a,b,2*f*(1-f));return d}}();f.sqlerp=h;h=function(){var a=e.create();return function(c,d,e,g){a[0]=e[0];a[3]=e[1];a[6]=e[2];a[1]=g[0];a[4]=g[1];a[7]=g[2];a[2]=-d[0];a[5]=-d[1];a[8]=-d[2];return l(c,b(c,a))}}();f.setAxes=h},function(h,f,a){function q(){var a=new l.a(2);a[0]=0;a[1]=0;return a}function p(a,b,c){a[0]= -b[0]-c[0];a[1]=b[1]-c[1];return a}function n(a,b,c){a[0]=b[0]*c[0];a[1]=b[1]*c[1];return a}function c(a,b,c){a[0]=b[0]/c[0];a[1]=b[1]/c[1];return a}function b(a,b){var c=b[0]-a[0];a=b[1]-a[1];return Math.sqrt(c*c+a*a)}function d(a,b){var c=b[0]-a[0];a=b[1]-a[1];return c*c+a*a}function e(a){var b=a[0];a=a[1];return Math.sqrt(b*b+a*a)}function g(a){var b=a[0];a=a[1];return b*b+a*a}Object.defineProperty(f,"__esModule",{value:!0});f.create=q;f.clone=function(a){var b=new l.a(2);b[0]=a[0];b[1]=a[1];return b}; -f.fromValues=function(a,b){var c=new l.a(2);c[0]=a;c[1]=b;return c};f.copy=function(a,b){a[0]=b[0];a[1]=b[1];return a};f.set=function(a,b,c){a[0]=b;a[1]=c;return a};f.add=function(a,b,c){a[0]=b[0]+c[0];a[1]=b[1]+c[1];return a};f.subtract=p;f.multiply=n;f.divide=c;f.ceil=function(a,b){a[0]=Math.ceil(b[0]);a[1]=Math.ceil(b[1]);return a};f.floor=function(a,b){a[0]=Math.floor(b[0]);a[1]=Math.floor(b[1]);return a};f.min=function(a,b,c){a[0]=Math.min(b[0],c[0]);a[1]=Math.min(b[1],c[1]);return a};f.max= -function(a,b,c){a[0]=Math.max(b[0],c[0]);a[1]=Math.max(b[1],c[1]);return a};f.round=function(a,b){a[0]=Math.round(b[0]);a[1]=Math.round(b[1]);return a};f.scale=function(a,b,c){a[0]=b[0]*c;a[1]=b[1]*c;return a};f.scaleAndAdd=function(a,b,c,d){a[0]=b[0]+c[0]*d;a[1]=b[1]+c[1]*d;return a};f.distance=b;f.squaredDistance=d;f.length=e;f.squaredLength=g;f.negate=function(a,b){a[0]=-b[0];a[1]=-b[1];return a};f.inverse=function(a,b){a[0]=1/b[0];a[1]=1/b[1];return a};f.normalize=function(a,b){var c=b[0],d=b[1]; +0,d[2]=0,d[3]=1,d;g.cross(a,e,k);d[0]=a[0];d[1]=a[1];d[2]=a[2];d[3]=1+f;return l(d,d)}}();f.rotationTo=h;h=function(){var a=q(),b=q();return function(c,e,g,k,l,f){d(a,e,l,f);d(b,g,k,f);d(c,a,b,2*f*(1-f));return c}}();f.sqlerp=h;h=function(){var a=e.create();return function(c,d,e,g){a[0]=e[0];a[3]=e[1];a[6]=e[2];a[1]=g[0];a[4]=g[1];a[7]=g[2];a[2]=-d[0];a[5]=-d[1];a[8]=-d[2];return l(c,b(c,a))}}();f.setAxes=h},function(h,f,a){function q(){var a=new l.a(2);a[0]=0;a[1]=0;return a}function p(a,b,c){a[0]= +b[0]-c[0];a[1]=b[1]-c[1];return a}function n(a,b,c){a[0]=b[0]*c[0];a[1]=b[1]*c[1];return a}function d(a,b,c){a[0]=b[0]/c[0];a[1]=b[1]/c[1];return a}function b(a,b){var c=b[0]-a[0];a=b[1]-a[1];return Math.sqrt(c*c+a*a)}function c(a,b){var c=b[0]-a[0];a=b[1]-a[1];return c*c+a*a}function e(a){var b=a[0];a=a[1];return Math.sqrt(b*b+a*a)}function g(a){var b=a[0];a=a[1];return b*b+a*a}Object.defineProperty(f,"__esModule",{value:!0});f.create=q;f.clone=function(a){var b=new l.a(2);b[0]=a[0];b[1]=a[1];return b}; +f.fromValues=function(a,b){var c=new l.a(2);c[0]=a;c[1]=b;return c};f.copy=function(a,b){a[0]=b[0];a[1]=b[1];return a};f.set=function(a,b,c){a[0]=b;a[1]=c;return a};f.add=function(a,b,c){a[0]=b[0]+c[0];a[1]=b[1]+c[1];return a};f.subtract=p;f.multiply=n;f.divide=d;f.ceil=function(a,b){a[0]=Math.ceil(b[0]);a[1]=Math.ceil(b[1]);return a};f.floor=function(a,b){a[0]=Math.floor(b[0]);a[1]=Math.floor(b[1]);return a};f.min=function(a,b,c){a[0]=Math.min(b[0],c[0]);a[1]=Math.min(b[1],c[1]);return a};f.max= +function(a,b,c){a[0]=Math.max(b[0],c[0]);a[1]=Math.max(b[1],c[1]);return a};f.round=function(a,b){a[0]=Math.round(b[0]);a[1]=Math.round(b[1]);return a};f.scale=function(a,b,c){a[0]=b[0]*c;a[1]=b[1]*c;return a};f.scaleAndAdd=function(a,b,c,d){a[0]=b[0]+c[0]*d;a[1]=b[1]+c[1]*d;return a};f.distance=b;f.squaredDistance=c;f.length=e;f.squaredLength=g;f.negate=function(a,b){a[0]=-b[0];a[1]=-b[1];return a};f.inverse=function(a,b){a[0]=1/b[0];a[1]=1/b[1];return a};f.normalize=function(a,b){var c=b[0],d=b[1]; c=c*c+d*d;0<c&&(c=1/Math.sqrt(c),a[0]=b[0]*c,a[1]=b[1]*c);return a};f.dot=function(a,b){return a[0]*b[0]+a[1]*b[1]};f.cross=function(a,b,c){b=b[0]*c[1]-b[1]*c[0];a[0]=a[1]=0;a[2]=b;return a};f.lerp=function(a,b,c,d){var e=b[0];b=b[1];a[0]=e+d*(c[0]-e);a[1]=b+d*(c[1]-b);return a};f.random=function(a,b){b=b||1;var c=2*l.c()*Math.PI;a[0]=Math.cos(c)*b;a[1]=Math.sin(c)*b;return a};f.transformMat2=function(a,b,c){var d=b[0];b=b[1];a[0]=c[0]*d+c[2]*b;a[1]=c[1]*d+c[3]*b;return a};f.transformMat2d=function(a, b,c){var d=b[0];b=b[1];a[0]=c[0]*d+c[2]*b+c[4];a[1]=c[1]*d+c[3]*b+c[5];return a};f.transformMat3=function(a,b,c){var d=b[0];b=b[1];a[0]=c[0]*d+c[3]*b+c[6];a[1]=c[1]*d+c[4]*b+c[7];return a};f.transformMat4=function(a,b,c){var d=b[0];b=b[1];a[0]=c[0]*d+c[4]*b+c[12];a[1]=c[1]*d+c[5]*b+c[13];return a};f.str=function(a){return"vec2("+a[0]+", "+a[1]+")"};f.exactEquals=function(a,b){return a[0]===b[0]&&a[1]===b[1]};f.equals=function(a,b){var c=a[0];a=a[1];var d=b[0];b=b[1];return Math.abs(c-d)<=l.b*Math.max(1, -Math.abs(c),Math.abs(d))&&Math.abs(a-b)<=l.b*Math.max(1,Math.abs(a),Math.abs(b))};var l=a(34);f.len=e;f.sub=p;f.mul=n;f.div=c;f.dist=b;f.sqrDist=d;f.sqrLen=g;h=function(){var a=q();return function(b,c,d,e,g,k){c||(c=2);d||(d=0);for(e=e?Math.min(e*c+d,b.length):b.length;d<e;d+=c)a[0]=b[d],a[1]=b[d+1],g(a,a,k),b[d]=a[0],b[d+1]=a[1];return b}}();f.forEach=h},function(h,f,a){a.d(f,"a",function(){return n});var q=a(2),p=function(){function a(a,c){for(var b=0;b<c.length;b++){var d=c[b];d.enumerable=d.enumerable|| -!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,e){c&&a(b.prototype,c);e&&a(b,e);return b}}(),n=function(){function a(b,c){c=void 0===c?q.d:c;if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");this.size=q.s.clone(b);this.transform=q.k.clone(c);this.invTransform=q.k.invert(q.k.create(),c)}p(a,[{key:"toObject",value:function(a){a.size=this.size;a.transform=this.transform}},{key:"localSpatialToGlobal",value:function(a, +Math.abs(c),Math.abs(d))&&Math.abs(a-b)<=l.b*Math.max(1,Math.abs(a),Math.abs(b))};var l=a(34);f.len=e;f.sub=p;f.mul=n;f.div=d;f.dist=b;f.sqrDist=c;f.sqrLen=g;h=function(){var a=q();return function(b,c,d,e,g,k){c||(c=2);d||(d=0);for(e=e?Math.min(e*c+d,b.length):b.length;d<e;d+=c)a[0]=b[d],a[1]=b[d+1],g(a,a,k),b[d]=a[0],b[d+1]=a[1];return b}}();f.forEach=h},function(h,f,a){a.d(f,"a",function(){return n});var q=a(2),p=function(){function a(a,c){for(var b=0;b<c.length;b++){var d=c[b];d.enumerable=d.enumerable|| +!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),n=function(){function a(b,c){c=void 0===c?q.d:c;if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");this.size=q.s.clone(b);this.transform=q.k.clone(c);this.invTransform=q.k.invert(q.k.create(),c)}p(a,[{key:"toObject",value:function(a){a.size=this.size;a.transform=this.transform}},{key:"localSpatialToGlobal",value:function(a, c){return q.s.transformMat4(a,c,this.transform)}},{key:"globalToLocalSpatial",value:function(a,c){return q.s.transformMat4(a,c,this.invTransform)}},{key:"globalToLocalGrid",value:function(a,c){this.globalToLocalSpatial(a,c);q.s.divide(a,a,this.size);return a}},{key:"localSpatialVectorToGlobal",value:function(a,c){return Object(q.p)(a,c,this.transform)}},{key:"globalToLocalSpatialVector",value:function(a,c){return Object(q.p)(a,c,this.invTransform)}},{key:"assignLocalSpatialToGlobalMat4",value:function(a){return q.k.copy(a, this.transform)}}],[{key:"get",value:function(b,c){c=void 0===c?q.d:c;var d=a.cache,g=JSON.stringify([Array.from(b),Array.from(c)]),l=d.get(g);void 0===l&&(l=new a(b,c),d.set(g,l));return l}},{key:"fromObject",value:function(b){return a.get(b.size,b.transform)}}]);return a}();n.cache=new Map},function(h,f,a){f.a=function(a,f){return a===f?!0:1E-6>Math.abs(a-f)/Math.min(Math.abs(a),Math.abs(f))}},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function"); }function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return t}); -var c=a(58),b=a(18),d=a(35),e=a(9);h=a(1);var g=a(2),l=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),k=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);return b}(e.f),t=function(a){function f(a){q(this,f);var l=p(this,(f.__proto__||Object.getPrototypeOf(f)).call(this)); -l.transformCacheGeneration=-1;l.cachedObjectToGlobal=g.k.create();l.cachedGlobalToObject=g.k.create();var h=void 0===a.transform?new c.a:a.transform,m=a.source,r=void 0===a.hoverState?new k(void 0):a.hoverState,n=void 0===a.role?b.g.ANNOTATION:a.role,t=a.color,u=a.fillOpacity,E=void 0===a.segmentationState?new e.f(null):a.segmentationState;a=void 0===a.filterBySegmentation?new d.b(!1):a.filterBySegmentation;l.transform=h;l.source=l.registerDisposer(m);l.hoverState=r;l.role=n;l.color=t;l.fillOpacity= +var d=a(58),b=a(18),c=a(35),e=a(9);h=a(1);var g=a(2),l=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),k=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);return b}(e.f),t=function(a){function f(a){q(this,f);var l=p(this,(f.__proto__||Object.getPrototypeOf(f)).call(this)); +l.transformCacheGeneration=-1;l.cachedObjectToGlobal=g.k.create();l.cachedGlobalToObject=g.k.create();var h=void 0===a.transform?new d.a:a.transform,m=a.source,r=void 0===a.hoverState?new k(void 0):a.hoverState,n=void 0===a.role?b.g.ANNOTATION:a.role,t=a.color,u=a.fillOpacity,E=void 0===a.segmentationState?new e.f(null):a.segmentationState;a=void 0===a.filterBySegmentation?new c.b(!1):a.filterBySegmentation;l.transform=h;l.source=l.registerDisposer(m);l.hoverState=r;l.role=n;l.color=t;l.fillOpacity= u;l.segmentationState=E;l.filterBySegmentation=a;return l}n(f,a);l(f,[{key:"updateTransforms",value:function(){if(this.transform.changed.count!==this.transformCacheGeneration){var a=this.cachedObjectToGlobal;g.k.multiply(a,this.transform.transform,this.source.objectToLocal);g.k.invert(this.cachedGlobalToObject,a)}}},{key:"objectToGlobal",get:function(){this.updateTransforms();return this.cachedObjectToGlobal}},{key:"globalToObject",get:function(){this.updateTransforms();return this.cachedGlobalToObject}}]); -return f}(h.a)},function(h,f,a){var q=a(137);h.exports=function(){return q.Date.now()}},function(h,f,a){f=a(73);h.exports="object"==typeof f&&f&&f.Object===Object&&f},function(h,f,a){var q=a(95),p=a(238),n=0/0,c=/^\s+|\s+$/g,b=/^[-+]0x[0-9a-f]+$/i,d=/^0b[01]+$/i,e=/^0o[0-7]+$/i,g=parseInt;h.exports=function(a){if("number"==typeof a)return a;if(p(a))return n;q(a)&&(a="function"==typeof a.valueOf?a.valueOf():a,a=q(a)?a+"":a);if("string"!=typeof a)return 0===a?a:+a;a=a.replace(c,"");var k=d.test(a); +return f}(h.a)},function(h,f,a){var q=a(137);h.exports=function(){return q.Date.now()}},function(h,f,a){f=a(74);h.exports="object"==typeof f&&f&&f.Object===Object&&f},function(h,f,a){var q=a(96),p=a(238),n=0/0,d=/^\s+|\s+$/g,b=/^[-+]0x[0-9a-f]+$/i,c=/^0b[01]+$/i,e=/^0o[0-7]+$/i,g=parseInt;h.exports=function(a){if("number"==typeof a)return a;if(p(a))return n;q(a)&&(a="function"==typeof a.valueOf?a.valueOf():a,a=q(a)?a+"":a);if("string"!=typeof a)return 0===a?a:+a;a=a.replace(d,"");var k=c.test(a); return k||e.test(a)?g(a.slice(2),k?2:8):b.test(a)?n:+a}},function(h,f,a){var q=a(239),p=a(242);h.exports=function(a){return"symbol"==typeof a||p(a)&&"[object Symbol]"==q(a)}},function(h,f,a){f=a(138);var q=a(240),p=a(241),n=f?f.toStringTag:void 0;h.exports=function(a){return null==a?void 0===a?"[object Undefined]":"[object Null]":n&&n in Object(a)?q(a):p(a)}},function(h,f,a){f=a(138);a=Object.prototype;var q=a.hasOwnProperty,p=a.toString,n=f?f.toStringTag:void 0;h.exports=function(a){var b=q.call(a, -n),c=a[n];try{a[n]=void 0;var e=!0}catch(l){}var g=p.call(a);e&&(b?a[n]=c:delete a[n]);return g}},function(h,f){var a=Object.prototype.toString;h.exports=function(f){return a.call(f)}},function(h,f){h.exports=function(a){return null!=a&&"object"==typeof a}},function(h,f,a){var q=a(10),p=a(95);h.exports=function(a,c,b){var d=!0,e=!0;if("function"!=typeof a)throw new TypeError("Expected a function");p(b)&&(d="leading"in b?!!b.leading:d,e="trailing"in b?!!b.trailing:e);return q(a,c,{leading:d,maxWait:c, +n),c=a[n];try{a[n]=void 0;var d=!0}catch(l){}var g=p.call(a);d&&(b?a[n]=c:delete a[n]);return g}},function(h,f){var a=Object.prototype.toString;h.exports=function(f){return a.call(f)}},function(h,f){h.exports=function(a){return null!=a&&"object"==typeof a}},function(h,f,a){var q=a(10),p=a(96);h.exports=function(a,d,b){var c=!0,e=!0;if("function"!=typeof a)throw new TypeError("Expected a function");p(b)&&(c="leading"in b?!!b.leading:c,e="trailing"in b?!!b.trailing:e);return q(a,d,{leading:c,maxWait:d, trailing:e})}},function(h,f,a){f.b=function(a,f){a.remove(f)};f.a=function(a,f){a.add(f)}},function(h,f){},function(h,f,a){a.d(f,"b",function(){return q});var q;(function(a){a[a.LITTLE=0]="LITTLE";a[a.BIG=1]="BIG"})(q||(q={}));h=function(){var a=Uint16Array.of(4386);return 17===(new Uint8Array(a.buffer))[0]?q.BIG:q.LITTLE}();f.a=h},function(h,f){},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); -return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a){if(null==a)return function(){return!1};var b=a.visibleSegments,c=a.segmentEquivalences;return function(a){a=a.segments; +return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function d(a){if(null==a)return function(){return!1};var b=a.visibleSegments,c=a.segmentEquivalences;return function(a){a=a.segments; if(void 0===a)return!1;a=$jscomp.makeIterator(a);for(var d=a.next();!d.done;d=a.next())if(b.has(c.get(d.value)))return!0;return!1}}function b(a,b){for(var c=[],d=$jscomp.makeIterator(e.e),g=d.next();!g.done;g=d.next())c[g.value]=[];d=$jscomp.makeIterator(a);for(g=d.next();!g.done;g=d.next())g=g.value,(void 0===b||b(g))&&c[g.type].push(g.id);var l=0;b=0;d=[];var f=$jscomp.makeIterator(e.e);for(g=f.next();!g.done;g=f.next()){var h=g.value;d[h]=l;g=c[h].length;h=Object(k.b)(h);l+=g*h.bytes;b+=h.pickIdsPerInstance* -g}l=new ArrayBuffer(l);f={};h=$jscomp.makeIterator(e.e);for(g=h.next();!g.done;f={serializer:f.serializer},g=h.next()){g=g.value;var m=c[g],r=Object(k.b)(g);f.serializer=r.serializer(l,d[g],m.length);m.forEach(function(b){return function(c,d){return b.serializer(a.get(c),d)}}(f))}return{typeToIds:c,typeToOffset:d,data:l,numPickIds:b}}function d(a,b){return function(a){function c(a){for(var d=[],g=0;g<arguments.length;++g)d[g-0]=arguments[g];q(this,c);var l,f=p(this,(l=c.__proto__||Object.getPrototypeOf(c)).call.apply(l, +g}l=new ArrayBuffer(l);f={};h=$jscomp.makeIterator(e.e);for(g=h.next();!g.done;f={serializer:f.serializer},g=h.next()){g=g.value;var m=c[g],r=Object(k.b)(g);f.serializer=r.serializer(l,d[g],m.length);m.forEach(function(b){return function(c,d){return b.serializer(a.get(c),d)}}(f))}return{typeToIds:c,typeToOffset:d,data:l,numPickIds:b}}function c(a,b){return function(a){function c(a){for(var d=[],g=0;g<arguments.length;++g)d[g-0]=arguments[g];q(this,c);var l,f=p(this,(l=c.__proto__||Object.getPrototypeOf(c)).call.apply(l, [].concat([this],$jscomp.arrayFromIterable(d))));f.renderHelpers=[];f.isAnnotation=!0;d=f.registerDisposer(f.base);g=d.visibility;void 0!==g&&f.registerDisposer(g.add(f.visibility));f.role=d.state.role;g=f.renderHelpers;l=f.gl;for(var h=$jscomp.makeIterator(e.e),m=h.next();!m.done;m=h.next()){var r=m.value;m=Object(k.b)(r);r=g[r]=f.registerDisposer(new m[b](l));r.pickIdsPerInstance=m.pickIdsPerInstance;r.targetIsSliceView="sliceViewRenderHelper"===b}f.registerDisposer(d.redrawNeeded.add(function(){f.redrawNeeded.dispatch()})); -f.setReady(!0);return f}n(c,a);G(c,[{key:"drawGeometryChunkData",value:function(a,b){if(!a.bufferValid){var c=a.buffer;void 0===c&&(c=a.buffer=new z.a(this.gl));c.setData(a.data);a.bufferValid=!0}this.drawGeometry(a,b)}},{key:"drawGeometry",value:function(a,b){var c=this.base,d=a.typeToIds,g=a.typeToOffset,f=0;b.emitPickID&&(f=b.pickIDs.register(this,a.numPickIds,0,0,a));for(var l=c.hoverState.value,h=y.k.multiply(C,b.dataToDevice,c.state.objectToGlobal),m=$jscomp.makeIterator(e.e),r=m.next();!r.done;r= -m.next()){r=r.value;var n=d[r];if(0<n.length){var t=n.length,p=Object(k.b)(r),q=4294967295;void 0!==l&&(n=Object(v.a)(n,l.id,function(a,b){return a<b?-1:a===b?0:1}),0<=n&&(q=n*p.pickIdsPerInstance));this.renderHelpers[r].draw({annotationLayer:c,renderContext:b,selectedIndex:q,basePickId:f,buffer:a.buffer,bufferOffset:g[r],count:t,projectionMatrix:h});f+=t*p.pickIdsPerInstance}}}},{key:"draw",value:function(a){var b=this,c=this.base.source;if(c instanceof e.b)c=this.base,c.updateBuffer(),this.drawGeometry(c, -a);else if(this.drawGeometryChunkData(c.temporary.data,a),this.base.state.filterBySegmentation.value){var d=this.base.state.segmentationState.value;if(null!=d){var g=c.segmentFilteredSource.chunks;Object(r.a)(d,function(c){c=Object(r.b)(c);c=g.get(c);void 0!==c&&b.drawGeometryChunkData(c.data,a)})}}else for(c=$jscomp.makeIterator(c.sources),d=c.next();!d.done;d=c.next()){d=$jscomp.makeIterator(d.value);for(var k=d.next();!k.done;k=d.next()){k=$jscomp.makeIterator(k.value.chunks.values());for(var f= -k.next();!f.done;f=k.next())f=f.value,f.state===t.d.GPU_MEMORY&&this.drawGeometryChunkData(f.data,a)}}}},{key:"updateMouseState",value:function(a,b,c,d){var g=d.typeToIds;b=d.typeToOffset;for(var f=$jscomp.makeIterator(e.e),l=f.next();!l.done;l=f.next()){l=l.value;var h=g[l],m=Object(k.b)(l),r=m.pickIdsPerInstance;if(c<h.length*r){g=Math.floor(c/r);c%=r;a.pickedAnnotationId=h[g];a.pickedAnnotationLayer=this.base.state;a.pickedOffset=c;m.snapPosition(a.position,this.base.state.objectToGlobal,d.data.buffer, -d.data.byteOffset+b[l]+g*m.bytes,c);break}c-=h.length*r}}},{key:"transformPickedValue",value:function(a,b){}},{key:"isReady",value:function(){var a=this.base,b=a.source;if(!(b instanceof l.b&&a.state.filterBySegmentation.value))return!0;a=this.base.state.segmentationState.value;if(void 0===a)return!1;if(null===a)return!0;var c=b.segmentFilteredSource.chunks,d=!1;Object(r.a)(a,function(a){a=Object(r.b)(a);c.has(a)||(d=!0)});return!d}},{key:"gl",get:function(){return this.base.chunkManager.gl}}]);return c}(a)} -a.d(f,"a",function(){return F});a.d(f,"b",function(){return L});a(249);a(250);a(251);a(252);var e=a(28),g=a(94),l=a(96),k=a(51),t=a(30),m=a(59),r=a(77),u=a(74);h=a(78);var v=a(43),w=a(1),y=a(2),x=a(7),A=a(29),z=a(20),D=a(15),E=function O(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return O(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},G=function(){function a(a,b){for(var c= -0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();a=this&&this.__decorate||function(a,b,c,d){var e=arguments.length,g=3>e?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d,k;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var f=a.length-1;0<=f;f--)if(k=a[f])g=(3>e?k(g):3<e?k(b,c,g):k(b, +f.setReady(!0);return f}n(c,a);G(c,[{key:"drawGeometryChunkData",value:function(a,b){if(!a.bufferValid){var c=a.buffer;void 0===c&&(c=a.buffer=new z.a(this.gl));c.setData(a.data);a.bufferValid=!0}this.drawGeometry(a,b)}},{key:"drawGeometry",value:function(a,b){var c=this.base,d=a.typeToIds,g=a.typeToOffset,l=0;b.emitPickID&&(l=b.pickIDs.register(this,a.numPickIds,0,0,a));for(var f=c.hoverState.value,h=y.k.multiply(C,b.dataToDevice,c.state.objectToGlobal),m=$jscomp.makeIterator(e.e),r=m.next();!r.done;r= +m.next()){r=r.value;var n=d[r];if(0<n.length){var t=n.length,p=Object(k.b)(r),q=4294967295;void 0!==f&&(n=Object(v.a)(n,f.id,function(a,b){return a<b?-1:a===b?0:1}),0<=n&&(q=n*p.pickIdsPerInstance));this.renderHelpers[r].draw({annotationLayer:c,renderContext:b,selectedIndex:q,basePickId:l,buffer:a.buffer,bufferOffset:g[r],count:t,projectionMatrix:h});l+=t*p.pickIdsPerInstance}}}},{key:"draw",value:function(a){var b=this,c=this.base.source;if(c instanceof e.b)c=this.base,c.updateBuffer(),this.drawGeometry(c, +a);else if(this.drawGeometryChunkData(c.temporary.data,a),this.base.state.filterBySegmentation.value){var d=this.base.state.segmentationState.value;if(null!=d){var g=c.segmentFilteredSource.chunks;Object(r.a)(d,function(c){c=Object(r.b)(c);c=g.get(c);void 0!==c&&b.drawGeometryChunkData(c.data,a)})}}else for(c=$jscomp.makeIterator(c.sources),d=c.next();!d.done;d=c.next()){d=$jscomp.makeIterator(d.value);for(var k=d.next();!k.done;k=d.next()){k=$jscomp.makeIterator(k.value.chunks.values());for(var l= +k.next();!l.done;l=k.next())l=l.value,l.state===t.d.GPU_MEMORY&&this.drawGeometryChunkData(l.data,a)}}}},{key:"updateMouseState",value:function(a,b,c,d){var g=d.typeToIds;b=d.typeToOffset;for(var l=$jscomp.makeIterator(e.e),f=l.next();!f.done;f=l.next()){f=f.value;var h=g[f],m=Object(k.b)(f),r=m.pickIdsPerInstance;if(c<h.length*r){g=Math.floor(c/r);c%=r;a.pickedAnnotationId=h[g];a.pickedAnnotationLayer=this.base.state;a.pickedOffset=c;m.snapPosition(a.position,this.base.state.objectToGlobal,d.data.buffer, +d.data.byteOffset+b[f]+g*m.bytes,c);break}c-=h.length*r}}},{key:"transformPickedValue",value:function(a,b){}},{key:"isReady",value:function(){var a=this.base,b=a.source;if(!(b instanceof l.b&&a.state.filterBySegmentation.value))return!0;a=this.base.state.segmentationState.value;if(void 0===a)return!1;if(null===a)return!0;var c=b.segmentFilteredSource.chunks,d=!1;Object(r.a)(a,function(a){a=Object(r.b)(a);c.has(a)||(d=!0)});return!d}},{key:"gl",get:function(){return this.base.chunkManager.gl}}]);return c}(a)} +a.d(f,"a",function(){return F});a.d(f,"b",function(){return L});a(249);a(250);a(251);a(252);var e=a(28),g=a(95),l=a(97),k=a(51),t=a(30),m=a(59),r=a(78),u=a(75);h=a(60);var v=a(43),w=a(1),y=a(2),x=a(7),A=a(29),z=a(20),D=a(15),E=function O(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return O(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},G=function(){function a(a,b){for(var c= +0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();a=this&&this.__decorate||function(a,b,c,d){var e=arguments.length,g=3>e?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d,k;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var l=a.length-1;0<=l;l--)if(k=a[l])g=(3>e?k(g):3<e?k(b,c,g):k(b, c))||g;return 3<e&&g&&Object.defineProperty(b,c,g),g};var C=y.k.create(),B=function(a){function b(a,c,d,e){q(this,b);var k=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));k.chunkManager=a;k.source=c;k.state=d;k.filterBySegmentation=e;k.initializeCounterpart(k.chunkManager.rpc,{chunkManager:k.chunkManager.rpcId,source:c.rpcId,segmentationState:k.serializeDisplayState()});a=function(){var a={id:k.rpcId,segmentationState:k.serializeDisplayState()};k.rpc.invoke(g.i,a)};k.registerDisposer(d.changed.add(a)); -k.registerDisposer(e.changed.add(a));return k}n(b,a);G(b,[{key:"serializeDisplayState",value:function(){var a=this.state.value;return null==a?a:this.filterBySegmentation.value?{segmentEquivalences:a.segmentEquivalences.rpcId,visibleSegments:a.visibleSegments.rpcId}:null}}]);return b}(Object(A.c)(D.b));B=a([Object(D.g)(g.h)],B);var F=function(a){function d(a,b){q(this,d);var c=p(this,(d.__proto__||Object.getPrototypeOf(d)).call(this));c.chunkManager=a;c.state=b;c.generation=-1;c.redrawNeeded=new x.a; -c.handleChangeAffectingBuffer=function(){c.generation=-1;c.redrawNeeded.dispatch()};c.handleSegmentationChanged=function(){c.state.filterBySegmentation.value&&c.handleChangeAffectingBuffer()};c.registerDisposer(b);c.buffer=c.registerDisposer(new z.a(a.gl));c.registerDisposer(c.source.changed.add(c.handleChangeAffectingBuffer));c.registerDisposer(b.filterBySegmentation.changed.add(c.handleChangeAffectingBuffer));c.registerDisposer(function(){return c.unregisterSegmentationState()});c.registerDisposer(b.segmentationState.changed.add(function(){var a= -b.segmentationState.value;a!==c.segmentationState&&(c.unregisterSegmentationState(),null!=a&&(a.visibleSegments.changed.add(c.handleSegmentationChanged),a.segmentEquivalences.changed.add(c.handleSegmentationChanged)),c.segmentationState=a,c.handleSegmentationChanged())}));c.source instanceof e.b||(c.sharedObject=c.registerDisposer(new B(a,c.source,b.segmentationState,b.filterBySegmentation)));c.registerDisposer(c.state.color.changed.add(c.redrawNeeded.dispatch));c.registerDisposer(c.state.fillOpacity.changed.add(c.redrawNeeded.dispatch)); -c.registerDisposer(c.hoverState.changed.add(c.redrawNeeded.dispatch));c.registerDisposer(c.transform.changed.add(c.redrawNeeded.dispatch));return c}n(d,a);G(d,[{key:"unregisterSegmentationState",value:function(){var a=this.segmentationState;null!=a&&(a.visibleSegments.changed.remove(this.handleSegmentationChanged),a.segmentEquivalences.changed.remove(this.handleSegmentationChanged),this.segmentationState=void 0)}},{key:"updateBuffer",value:function(){var a=this.source;if(a instanceof e.b){var d=a.changed.count; -if(this.generation!==d){this.generation=d;a=b(a,this.state.filterBySegmentation.value?c(this.segmentationState):void 0);d=a.typeToIds;var g=a.typeToOffset,k=a.numPickIds;this.data=new Uint8Array(a.data);this.buffer.setData(this.data);this.typeToIds=d;this.typeToOffset=g;this.numPickIds=k}}}},{key:"source",get:function(){return this.state.source}},{key:"transform",get:function(){return this.state.transform}},{key:"hoverState",get:function(){return this.state.hoverState}},{key:"visibility",get:function(){var a= -this.sharedObject;if(void 0!==a)return a.visibility}},{key:"gl",get:function(){return this.chunkManager.gl}}]);return d}(w.a);a=function(a){function b(a){q(this,b);var c=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.base=a;return c}n(b,a);return b}(m.a);h=function(a){function b(a){q(this,b);var c=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.base=a;return c}n(b,a);return b}(h.b);var L=function(a){function b(){q(this,b);var a=p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this, +k.registerDisposer(e.changed.add(a));return k}n(b,a);G(b,[{key:"serializeDisplayState",value:function(){var a=this.state.value;return null==a?a:this.filterBySegmentation.value?{segmentEquivalences:a.segmentEquivalences.rpcId,visibleSegments:a.visibleSegments.rpcId}:null}}]);return b}(Object(A.c)(D.b));B=a([Object(D.g)(g.h)],B);var F=function(a){function c(a,b){q(this,c);var d=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));d.chunkManager=a;d.state=b;d.generation=-1;d.redrawNeeded=new x.a; +d.handleChangeAffectingBuffer=function(){d.generation=-1;d.redrawNeeded.dispatch()};d.handleSegmentationChanged=function(){d.state.filterBySegmentation.value&&d.handleChangeAffectingBuffer()};d.registerDisposer(b);d.buffer=d.registerDisposer(new z.a(a.gl));d.registerDisposer(d.source.changed.add(d.handleChangeAffectingBuffer));d.registerDisposer(b.filterBySegmentation.changed.add(d.handleChangeAffectingBuffer));d.registerDisposer(function(){return d.unregisterSegmentationState()});d.registerDisposer(b.segmentationState.changed.add(function(){var a= +b.segmentationState.value;a!==d.segmentationState&&(d.unregisterSegmentationState(),null!=a&&(a.visibleSegments.changed.add(d.handleSegmentationChanged),a.segmentEquivalences.changed.add(d.handleSegmentationChanged)),d.segmentationState=a,d.handleSegmentationChanged())}));d.source instanceof e.b||(d.sharedObject=d.registerDisposer(new B(a,d.source,b.segmentationState,b.filterBySegmentation)));d.registerDisposer(d.state.color.changed.add(d.redrawNeeded.dispatch));d.registerDisposer(d.state.fillOpacity.changed.add(d.redrawNeeded.dispatch)); +d.registerDisposer(d.hoverState.changed.add(d.redrawNeeded.dispatch));d.registerDisposer(d.transform.changed.add(d.redrawNeeded.dispatch));return d}n(c,a);G(c,[{key:"unregisterSegmentationState",value:function(){var a=this.segmentationState;null!=a&&(a.visibleSegments.changed.remove(this.handleSegmentationChanged),a.segmentEquivalences.changed.remove(this.handleSegmentationChanged),this.segmentationState=void 0)}},{key:"updateBuffer",value:function(){var a=this.source;if(a instanceof e.b){var c=a.changed.count; +if(this.generation!==c){this.generation=c;a=b(a,this.state.filterBySegmentation.value?d(this.segmentationState):void 0);c=a.typeToIds;var g=a.typeToOffset,k=a.numPickIds;this.data=new Uint8Array(a.data);this.buffer.setData(this.data);this.typeToIds=c;this.typeToOffset=g;this.numPickIds=k}}}},{key:"source",get:function(){return this.state.source}},{key:"transform",get:function(){return this.state.transform}},{key:"hoverState",get:function(){return this.state.hoverState}},{key:"visibility",get:function(){var a= +this.sharedObject;if(void 0!==a)return a.visibility}},{key:"gl",get:function(){return this.chunkManager.gl}}]);return c}(w.a);a=function(a){function b(a){q(this,b);var c=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.base=a;return c}n(b,a);return b}(m.a);h=function(a){function b(a){q(this,b);var c=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.base=a;return c}n(b,a);return b}(h.b);var L=function(a){function b(){q(this,b);var a=p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this, arguments));var c=a.base.source;if(c instanceof l.b){var d=a.registerDisposer(new D.b),e=c.chunkManager.rpc;d.RPC_TYPE_ID=g.e;d.initializeCounterpart(e,{source:c.rpcId,filterBySegmentation:a.registerDisposer(u.a.makeFromExisting(e,a.base.state.filterBySegmentation)).rpcId});c=d}else c=void 0;a.backend=c;return a}n(b,a);G(b,[{key:"isReady",value:function(){if(!E(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"isReady",this).call(this))return!1;var a=this.base,c=a.source;return c instanceof -l.b&&!a.state.filterBySegmentation.value&&(a=c.sources[0][0].chunks.get("0,0,0"),void 0===a||a.state!==t.d.GPU_MEMORY)?!1:!0}}]);return b}(d(a,"perspectiveViewRenderHelper"));h=d(h,"sliceViewRenderHelper");f.c=h},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a, -b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(){return new Float32Array([0,1,2,3,4,5])}function b(){return Object(e.d)(c(),1,1,t.b)}h=a(28);f=a(51);var d=a(142),e=a(43),g=a(2),l=a(20),k=a(99),t=a(143),m=a(24),r=function(){function a(a, +l.b&&!a.state.filterBySegmentation.value&&(a=c.sources[0][0].chunks.get("0,0,0"),void 0===a||a.state!==t.d.GPU_MEMORY)?!1:!0}}]);return b}(c(a,"perspectiveViewRenderHelper"));h=c(h,"sliceViewRenderHelper");f.c=h},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a, +b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function d(){return new Float32Array([0,1,2,3,4,5])}function b(){return Object(e.d)(d(),1,1,t.b)}h=a(28);f=a(51);var c=a(142),e=a(43),g=a(2),l=a(20),k=a(100),t=a(143),m=a(25),r=function(){function a(a, b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),u=function A(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return A(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a=27;var v=Float32Array.from([0,0,0, 0,0,1,9,1,0,0,1,0,1,10,0,1,0,0,1,1,11,1,1,0,1,1,1,12,0,0,0,0,1,0,13,0,0,1,0,1,1,14,1,0,0,1,1,0,15,1,0,1,1,1,1,16,0,0,0,1,0,0,17,0,0,1,1,0,1,18,0,1,0,1,1,0,19,0,1,1,1,1,1,20]),w=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);r(b,[{key:"defineShader",value:function(a){u(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"defineShader",this).call(this,a);a.addAttribute("highp vec3","aLower");a.addAttribute("highp vec3","aUpper")}}, {key:"enable",value:function(a,c,d){u(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"enable",this).call(this,a,c,function(){var b=a.gl,e=a.attribute("aLower"),g=a.attribute("aUpper");c.buffer.bindToVertexAttrib(e,3,WebGL2RenderingContext.FLOAT,!1,24,c.bufferOffset);c.buffer.bindToVertexAttrib(g,3,WebGL2RenderingContext.FLOAT,!1,24,c.bufferOffset+12);b.vertexAttribDivisor(e,1);b.vertexAttribDivisor(g,1);d();b.vertexAttribDivisor(e,0);b.vertexAttribDivisor(g,0);b.disableVertexAttribArray(e); b.disableVertexAttribArray(g)})}}]);return b}(f.a),y=function(a){function b(){q(this,b);var a=p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.lineShader=a.registerDisposer(new t.a(a.gl,12));a.edgeBoxCornerOffsetsBuffer=a.registerDisposer(l.a.fromData(a.gl,Object(e.d)(v,7,1,t.b)));a.edgeShaderGetter=Object(m.b)(a,a.gl,function(b){a.defineShader(b);a.lineShader.defineShader(b);b.addAttribute("highp vec3","aBoxCornerOffset1");b.addAttribute("highp vec4","aBoxCornerOffset2");b.setVertexMain("\nvec3 vertexPosition1 = mix(aLower, aUpper, aBoxCornerOffset1);\nvec3 vertexPosition2 = mix(aLower, aUpper, aBoxCornerOffset2.xyz);\nemitLine(uProjection, vertexPosition1, vertexPosition2);\n"+ -a.setPartIndex(b,"aBoxCornerOffset2.w")+";\n");b.setFragmentMain("\nemitAnnotation(vec4(vColor.rgb, getLineAlpha()));\n")});a.circleShader=a.registerDisposer(new k.a(a.gl,8));a.boxCornerOffsetsBuffer=a.registerDisposer(l.a.fromData(a.gl,Object(e.d)(d.b,3,1,k.b)));a.cornerShaderGetter=Object(m.b)(a,a.gl,function(b){a.defineShader(b);a.circleShader.defineShader(b,a.targetIsSliceView);b.addAttribute("highp vec3","aBoxCornerOffset");b.setVertexMain("\nvec3 vertexPosition = mix(aLower, aUpper, aBoxCornerOffset);\nemitCircle(uProjection * vec4(vertexPosition, 1.0));\nfloat cornerIndex = aBoxCornerOffset.x + aBoxCornerOffset.y * 2.0 + aBoxCornerOffset.z * 4.0;\nfloat cornerPickOffset = "+ +a.setPartIndex(b,"aBoxCornerOffset2.w")+";\n");b.setFragmentMain("\nemitAnnotation(vec4(vColor.rgb, getLineAlpha()));\n")});a.circleShader=a.registerDisposer(new k.a(a.gl,8));a.boxCornerOffsetsBuffer=a.registerDisposer(l.a.fromData(a.gl,Object(e.d)(c.b,3,1,k.b)));a.cornerShaderGetter=Object(m.b)(a,a.gl,function(b){a.defineShader(b);a.circleShader.defineShader(b,a.targetIsSliceView);b.addAttribute("highp vec3","aBoxCornerOffset");b.setVertexMain("\nvec3 vertexPosition = mix(aLower, aUpper, aBoxCornerOffset);\nemitCircle(uProjection * vec4(vertexPosition, 1.0));\nfloat cornerIndex = aBoxCornerOffset.x + aBoxCornerOffset.y * 2.0 + aBoxCornerOffset.z * 4.0;\nfloat cornerPickOffset = "+ (1).toFixed(1)+" + cornerIndex;\n"+a.setPartIndex(b,"cornerPickOffset")+";\n");b.setFragmentMain("\nvec4 borderColor = vec4(0.0, 0.0, 0.0, 1.0);\nemitAnnotation(getCircleColor(vColor, borderColor));\n")});return a}n(b,a);r(b,[{key:"drawEdges",value:function(a){var b=this,c=this.edgeShaderGetter(a.renderContext.emitter),d=this.gl;this.enable(c,a,function(){var e=c.attribute("aBoxCornerOffset1"),g=c.attribute("aBoxCornerOffset2");b.edgeBoxCornerOffsetsBuffer.bindToVertexAttrib(e,3,WebGL2RenderingContext.FLOAT, !1,28,0);b.edgeBoxCornerOffsetsBuffer.bindToVertexAttrib(g,4,WebGL2RenderingContext.FLOAT,!1,28,12);b.lineShader.draw(c,a.renderContext,a.renderContext.emitColor?1:5,1,a.count);d.disableVertexAttribArray(e);d.disableVertexAttribArray(g)})}},{key:"drawCorners",value:function(a){var b=this,c=this.cornerShaderGetter(a.renderContext.emitter),d=this.gl;this.enable(c,a,function(){var e=c.attribute("aBoxCornerOffset");b.boxCornerOffsetsBuffer.bindToVertexAttrib(e,3,WebGL2RenderingContext.FLOAT,!1);b.circleShader.draw(c, a.renderContext,{interiorRadiusInPixels:1,borderWidthInPixels:0,featherWidthInPixels:1},a.count);d.disableVertexAttribArray(e)})}},{key:"draw",value:function(a){this.drawEdges(a);this.drawCorners(a)}}]);return b}(w);w=function(a){function e(a){q(this,e);var g=p(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,a));g.gl=a;g.lineShader=new t.a(g.gl,6);g.intersectionVertexIndexBuffer=Object(l.b)(g.gl,WebGL2RenderingContext.ARRAY_BUFFER,b).value;g.filledIntersectionVertexIndexBuffer=Object(l.b)(g.gl, -WebGL2RenderingContext.ARRAY_BUFFER,c).value;g.boundingBoxCrossSectionHelper=g.registerDisposer(new d.a(g.gl));g.faceShaderGetter=Object(m.b)(g,g.gl,function(a){u(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"defineShader",g).call(g,a);g.boundingBoxCrossSectionHelper.defineShader(a);g.lineShader.defineShader(a);a.addAttribute("highp float","aVertexIndexFloat");a.setVertexMain("\nint vertexIndex1 = int(aVertexIndexFloat);\nint vertexIndex2 = vertexIndex1 == 5 ? 0 : vertexIndex1 + 1;\nvec3 vertexPosition1 = getBoundingBoxPlaneIntersectionVertexPosition(aUpper - aLower, aLower, aLower, aUpper, vertexIndex1);\nvec3 vertexPosition2 = getBoundingBoxPlaneIntersectionVertexPosition(aUpper - aLower, aLower, aLower, aUpper, vertexIndex2);\nemitLine(uProjection, vertexPosition1, vertexPosition2);\n"+ +WebGL2RenderingContext.ARRAY_BUFFER,d).value;g.boundingBoxCrossSectionHelper=g.registerDisposer(new c.a(g.gl));g.faceShaderGetter=Object(m.b)(g,g.gl,function(a){u(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"defineShader",g).call(g,a);g.boundingBoxCrossSectionHelper.defineShader(a);g.lineShader.defineShader(a);a.addAttribute("highp float","aVertexIndexFloat");a.setVertexMain("\nint vertexIndex1 = int(aVertexIndexFloat);\nint vertexIndex2 = vertexIndex1 == 5 ? 0 : vertexIndex1 + 1;\nvec3 vertexPosition1 = getBoundingBoxPlaneIntersectionVertexPosition(aUpper - aLower, aLower, aLower, aUpper, vertexIndex1);\nvec3 vertexPosition2 = getBoundingBoxPlaneIntersectionVertexPosition(aUpper - aLower, aLower, aLower, aUpper, vertexIndex2);\nemitLine(uProjection, vertexPosition1, vertexPosition2);\n"+ g.setPartIndex(a)+";\n");a.setFragmentMain("\nemitAnnotation(vec4(vColor.rgb, vColor.a * getLineAlpha()));\n")});g.fillShaderGetter=Object(m.b)(g,g.gl,function(a){u(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"defineShader",g).call(g,a);g.boundingBoxCrossSectionHelper.defineShader(a);a.addAttribute("highp float","aVertexIndexFloat");a.addUniform("highp float","uFillOpacity");a.setVertexMain("\nint vertexIndex = int(aVertexIndexFloat);\nvec3 vertexPosition = getBoundingBoxPlaneIntersectionVertexPosition(aUpper - aLower, aLower, aLower, aUpper, vertexIndex);\ngl_Position = uProjection * vec4(vertexPosition, 1);\n"+ g.setPartIndex(a)+";\n");a.setFragmentMain("\nemitAnnotation(vec4(vColor.rgb, uFillOpacity));\n")});return g}n(e,a);r(e,[{key:"draw",value:function(a){var b=this,c=a.annotationLayer.state.fillOpacity.value,d=(c?this.fillShaderGetter:this.faceShaderGetter)(a.renderContext.emitter),e=this.gl;this.enable(d,a,function(){b.boundingBoxCrossSectionHelper.setViewportPlane(d,a.renderContext.sliceView.viewportAxes[2],a.renderContext.sliceView.centerDataPosition,a.annotationLayer.state.globalToObject);var g= d.attribute("aVertexIndexFloat");(c?b.filledIntersectionVertexIndexBuffer:b.intersectionVertexIndexBuffer).bindToVertexAttrib(g,1,WebGL2RenderingContext.FLOAT,!1);c?(e.uniform1f(d.uniform("uFillOpacity"),c),e.drawArraysInstanced(WebGL2RenderingContext.TRIANGLE_FAN,0,6,a.count)):b.lineShader.draw(d,a.renderContext,a.renderContext.emitColor?1:5,1,a.count);e.disableVertexAttribArray(g)})}}]);return e}(w);Object(f.c)(h.c.AXIS_ALIGNED_BOUNDING_BOX,{bytes:24,serializer:function(a,b,c){var d=new Float32Array(a, -b,6*c);return function(a,b){var c=a.pointA;a=a.pointB;b*=6;d[b]=Math.min(c[0],a[0]);d[b+1]=Math.min(c[1],a[1]);d[b+2]=Math.min(c[2],a[2]);d[b+3]=Math.max(c[0],a[0]);d[b+4]=Math.max(c[1],a[1]);d[b+5]=Math.max(c[2],a[2])}},sliceViewRenderHelper:w,perspectiveViewRenderHelper:y,pickIdsPerInstance:a,snapPosition:function(a,b,c,e,k){c=new Float32Array(c,e,6);if(1<=k&&9>k){k=3*(k-1);for(e=0;3>e;++e){var f=d.b[k+e];a[e]=(1-f)*Math.min(c[e],c[e+3])+f*Math.max(c[e],c[e+3])}g.s.transformMat4(a,a,b)}else if(9<= -k&&21>k){k=7*(k-9);e=g.s.create();f=g.s.create();for(var l=0;3>l;++l){var h=v[k+l],m=v[k+l+3],r=Math.min(c[l],c[l+3]),n=Math.max(c[l],c[l+3]);e[l]=(1-h)*r+h*n;f[l]=(1-m)*r+m*n}g.s.transformMat4(e,e,b);g.s.transformMat4(f,f,b);Object(g.m)(a,e,f,a)}}})},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+ -typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(){return Object(c.d)(new Float32Array([0,1]),1,1,e.b)}h=a(28);f=a(51);var c=a(43),b=a(2),d=a(20),e=a(99),g=a(143),l=a(24),k=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b, +b,6*c);return function(a,b){var c=a.pointA;a=a.pointB;b*=6;d[b]=Math.min(c[0],a[0]);d[b+1]=Math.min(c[1],a[1]);d[b+2]=Math.min(c[2],a[2]);d[b+3]=Math.max(c[0],a[0]);d[b+4]=Math.max(c[1],a[1]);d[b+5]=Math.max(c[2],a[2])}},sliceViewRenderHelper:w,perspectiveViewRenderHelper:y,pickIdsPerInstance:a,snapPosition:function(a,b,d,e,k){d=new Float32Array(d,e,6);if(1<=k&&9>k){k=3*(k-1);for(e=0;3>e;++e){var l=c.b[k+e];a[e]=(1-l)*Math.min(d[e],d[e+3])+l*Math.max(d[e],d[e+3])}g.s.transformMat4(a,a,b)}else if(9<= +k&&21>k){k=7*(k-9);e=g.s.create();l=g.s.create();for(var f=0;3>f;++f){var h=v[k+f],m=v[k+f+3],r=Math.min(d[f],d[f+3]),n=Math.max(d[f],d[f+3]);e[f]=(1-h)*r+h*n;l[f]=(1-m)*r+m*n}g.s.transformMat4(e,e,b);g.s.transformMat4(l,l,b);Object(g.m)(a,e,l,a)}}})},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+ +typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(){return Object(d.d)(new Float32Array([0,1]),1,1,e.b)}h=a(28);f=a(51);var d=a(43),b=a(2),c=a(20),e=a(100),g=a(143),l=a(25),k=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b, c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),t=function r(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return r(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a=function(a){function b(){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var a=q(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.lineShader=a.registerDisposer(new g.a(a.gl, -1));a.circleShader=a.registerDisposer(new e.a(a.gl,2));a.edgeShaderGetter=Object(l.b)(a,a.gl,function(b){a.defineShader(b);a.lineShader.defineShader(b);b.setVertexMain("\nemitLine(uProjection, aEndpointA, aEndpointB);\n"+a.setPartIndex(b)+";\n");b.setFragmentMain("\nemitAnnotation(vec4(vColor.rgb, vColor.a * getLineAlpha() * "+a.getCrossSectionFadeFactor()+"));\n")});a.endpointIndexBuffer=a.registerDisposer(Object(d.b)(a.gl,WebGL2RenderingContext.ARRAY_BUFFER,n)).value;a.endpointShaderGetter=Object(l.b)(a, +1));a.circleShader=a.registerDisposer(new e.a(a.gl,2));a.edgeShaderGetter=Object(l.b)(a,a.gl,function(b){a.defineShader(b);a.lineShader.defineShader(b);b.setVertexMain("\nemitLine(uProjection, aEndpointA, aEndpointB);\n"+a.setPartIndex(b)+";\n");b.setFragmentMain("\nemitAnnotation(vec4(vColor.rgb, vColor.a * getLineAlpha() * "+a.getCrossSectionFadeFactor()+"));\n")});a.endpointIndexBuffer=a.registerDisposer(Object(c.b)(a.gl,WebGL2RenderingContext.ARRAY_BUFFER,n)).value;a.endpointShaderGetter=Object(l.b)(a, a.gl,function(b){a.defineShader(b);a.circleShader.defineShader(b,a.targetIsSliceView);b.addAttribute("highp float","aEndpointIndex");b.setVertexMain("\nvec3 vertexPosition = mix(aEndpointA, aEndpointB, aEndpointIndex);\nemitCircle(uProjection * vec4(vertexPosition, 1.0));\n"+a.setPartIndex(b,"aEndpointIndex + 1.0")+";\n");b.setFragmentMain("\nvec4 borderColor = vec4(0.0, 0.0, 0.0, 1.0);\nemitAnnotation(getCircleColor(vColor, borderColor));\n")});return a}p(b,a);k(b,[{key:"defineShader",value:function(a){t(b.prototype.__proto__|| Object.getPrototypeOf(b.prototype),"defineShader",this).call(this,a);a.addAttribute("highp vec3","aEndpointA");a.addAttribute("highp vec3","aEndpointB")}},{key:"enable",value:function(a,c,d){t(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"enable",this).call(this,a,c,function(){var b=a.gl,e=a.attribute("aEndpointA"),g=a.attribute("aEndpointB");c.buffer.bindToVertexAttrib(e,3,WebGL2RenderingContext.FLOAT,!1,24,c.bufferOffset);c.buffer.bindToVertexAttrib(g,3,WebGL2RenderingContext.FLOAT, !1,24,c.bufferOffset+12);b.vertexAttribDivisor(e,1);b.vertexAttribDivisor(g,1);d();b.vertexAttribDivisor(e,0);b.vertexAttribDivisor(g,0);b.disableVertexAttribArray(e);b.disableVertexAttribArray(g)})}},{key:"drawEdges",value:function(a){var b=this,c=this.edgeShaderGetter(a.renderContext.emitter);this.enable(c,a,function(){b.lineShader.draw(c,a.renderContext,a.renderContext.emitColor?1:5,1,a.count)})}},{key:"drawEndpoints",value:function(a){var b=this,c=this.endpointShaderGetter(a.renderContext.emitter); this.enable(c,a,function(){var d=c.attribute("aEndpointIndex");b.endpointIndexBuffer.bindToVertexAttrib(d,1,WebGL2RenderingContext.FLOAT,!1);b.circleShader.draw(c,a.renderContext,{interiorRadiusInPixels:6,borderWidthInPixels:2,featherWidthInPixels:1},a.count);c.gl.disableVertexAttribArray(d)})}},{key:"draw",value:function(a){this.drawEdges(a);this.drawEndpoints(a)}}]);return b}(f.a);Object(f.c)(h.c.LINE,{bytes:24,serializer:function(a,b,c){var d=new Float32Array(a,b,6*c);return function(a,b){var c= a.pointA;a=a.pointB;b*=6;d[b]=c[0];d[b+1]=c[1];d[b+2]=c[2];d[b+3]=a[0];d[b+4]=a[1];d[b+5]=a[2]}},sliceViewRenderHelper:a,perspectiveViewRenderHelper:a,pickIdsPerInstance:3,snapPosition:function(a,c,d,e,g){d=new Float32Array(d,e,6);0===g?(g=b.s.transformMat4(b.s.create(),d.subarray(0,3),c),c=b.s.transformMat4(b.s.create(),d.subarray(3,6),c),Object(b.m)(a,g,c,a)):(g=3*(g-1),g=d.subarray(g,g+3),b.s.transformMat4(a,g,c))}})},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); -return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}h=a(28);f=a(51);var n=a(2),c=a(99),b=a(24),d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable|| +return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}h=a(28);f=a(51);var n=a(2),d=a(100),b=a(25),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable|| !1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),e=function l(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return l(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a=function(a){function k(){if(!(this instanceof k))throw new TypeError("Cannot call a class as a function"); -var a=q(this,(k.__proto__||Object.getPrototypeOf(k)).apply(this,arguments));a.circleShader=a.registerDisposer(new c.a(a.gl));a.shaderGetter=Object(b.b)(a,a.gl,function(b){return a.defineShader(b)});return a}p(k,a);d(k,[{key:"defineShader",value:function(a){e(k.prototype.__proto__||Object.getPrototypeOf(k.prototype),"defineShader",this).call(this,a);this.circleShader.defineShader(a,this.targetIsSliceView);a.addAttribute("highp vec3","aVertexPosition");a.setVertexMain("\nemitCircle(uProjection * vec4(aVertexPosition, 1.0));\n"+ +var a=q(this,(k.__proto__||Object.getPrototypeOf(k)).apply(this,arguments));a.circleShader=a.registerDisposer(new d.a(a.gl));a.shaderGetter=Object(b.b)(a,a.gl,function(b){return a.defineShader(b)});return a}p(k,a);c(k,[{key:"defineShader",value:function(a){e(k.prototype.__proto__||Object.getPrototypeOf(k.prototype),"defineShader",this).call(this,a);this.circleShader.defineShader(a,this.targetIsSliceView);a.addAttribute("highp vec3","aVertexPosition");a.setVertexMain("\nemitCircle(uProjection * vec4(aVertexPosition, 1.0));\n"+ this.setPartIndex(a)+";\n");a.setFragmentMain("\nvec4 borderColor = vec4(0.0, 0.0, 0.0, 1.0);\nemitAnnotation(getCircleColor(vColor, borderColor));\n")}},{key:"draw",value:function(a){var b=this,c=this.shaderGetter(a.renderContext.emitter);this.enable(c,a,function(){var d=b.gl,e=c.attribute("aVertexPosition");a.buffer.bindToVertexAttrib(e,3,WebGL2RenderingContext.FLOAT,!1,0,a.bufferOffset);d.vertexAttribDivisor(e,1);b.circleShader.draw(c,a.renderContext,{interiorRadiusInPixels:6,borderWidthInPixels:2, featherWidthInPixels:1},a.count);d.vertexAttribDivisor(e,0);d.disableVertexAttribArray(e)})}}]);return k}(f.a);Object(f.c)(h.c.POINT,{bytes:12,serializer:function(a,b,c){var d=new Float32Array(a,b,3*c);return function(a,b){a=a.point;b*=3;d[b]=a[0];d[b+1]=a[1];d[b+2]=a[2]}},sliceViewRenderHelper:a,perspectiveViewRenderHelper:a,pickIdsPerInstance:1,snapPosition:function(a,b,c,d){n.s.transformMat4(a,new Float32Array(c,d,3),b)}})},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function"); -}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}h=a(28);f=a(51);var c= -a(2),b=a(253),d=a(100),e=a(24),g=a(254),l=a(52),k=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),t=function v(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return v(a,b,c)}else{if("value"in d)return d.value;b=d.get; -return void 0===b?void 0:b.call(c)}},m=c.k.create(),r=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);k(b,[{key:"defineShader",value:function(a){t(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"defineShader",this).call(this,a);a.addAttribute("highp vec3","aCenter");a.addAttribute("highp vec3","aRadii")}},{key:"enable",value:function(a,c,d){t(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"enable",this).call(this, +}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}h=a(28);f=a(51);var d= +a(2),b=a(253),c=a(101),e=a(25),g=a(254),l=a(52),k=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),t=function v(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return v(a,b,c)}else{if("value"in d)return d.value;b=d.get; +return void 0===b?void 0:b.call(c)}},m=d.k.create(),r=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);k(b,[{key:"defineShader",value:function(a){t(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"defineShader",this).call(this,a);a.addAttribute("highp vec3","aCenter");a.addAttribute("highp vec3","aRadii")}},{key:"enable",value:function(a,c,d){t(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"enable",this).call(this, a,c,function(){var b=a.attribute("aCenter"),e=a.attribute("aRadii"),g=a.gl;c.buffer.bindToVertexAttrib(b,3,WebGL2RenderingContext.FLOAT,!1,24,c.bufferOffset);c.buffer.bindToVertexAttrib(e,3,WebGL2RenderingContext.FLOAT,!1,24,c.bufferOffset+12);g.vertexAttribDivisor(b,1);g.vertexAttribDivisor(e,1);d();g.vertexAttribDivisor(b,0);g.vertexAttribDivisor(e,0);g.disableVertexAttribArray(b);g.disableVertexAttribArray(e)})}}]);return b}(f.a);a=function(a){function b(){q(this,b);var a=p(this,(b.__proto__|| Object.getPrototypeOf(b)).apply(this,arguments));a.sphereRenderHelper=a.registerDisposer(new g.a(a.gl,10,10));a.shaderGetter=Object(e.b)(a,a.gl,function(b){a.defineShader(b);a.sphereRenderHelper.defineShader(b);b.addUniform("highp vec4","uLightDirection");b.addUniform("highp mat4","uNormalTransform");b.setVertexMain("\nemitSphere(uProjection, uNormalTransform, aCenter, aRadii, uLightDirection);\n"+a.setPartIndex(b)+";\n");b.setFragmentMain("\nemitAnnotation(vec4(vColor.rgb * vLightingFactor, vColor.a));\n")}); -a.tempLightVec=new Float32Array(4);return a}n(b,a);k(b,[{key:"draw",value:function(a){var b=this,d=this.shaderGetter(a.renderContext.emitter);this.enable(d,a,function(){var e=d.gl,g=b.tempLightVec,k=a.renderContext,f=k.ambientLighting;c.s.scale(g,k.lightDirection,k.directionalLighting);g[3]=f;e.uniform4fv(d.uniform("uLightDirection"),g);e.uniformMatrix4fv(d.uniform("uNormalTransform"),!1,c.k.transpose(c.k.create(),a.annotationLayer.state.globalToObject));b.sphereRenderHelper.draw(d,a.count)})}}]); -return b}(r);r=function(a){function g(){q(this,g);var a=p(this,(g.__proto__||Object.getPrototypeOf(g)).apply(this,arguments));a.quadRenderHelper=a.registerDisposer(new d.a(a.gl,1));a.squareCornersBuffer=Object(l.a)(a.gl,-1,-1,1,1,1,1);a.shaderGetter=Object(e.b)(a,a.gl,function(c){a.defineShader(c);c.addUniform("highp mat4","uViewportToObject");c.addUniform("highp mat4","uObjectToViewport");c.addUniform("highp mat4","uViewportToDevice");c.addAttribute("highp vec2","aCornerOffset");c.addVarying("highp vec2", +a.tempLightVec=new Float32Array(4);return a}n(b,a);k(b,[{key:"draw",value:function(a){var b=this,c=this.shaderGetter(a.renderContext.emitter);this.enable(c,a,function(){var e=c.gl,g=b.tempLightVec,k=a.renderContext,f=k.ambientLighting;d.s.scale(g,k.lightDirection,k.directionalLighting);g[3]=f;e.uniform4fv(c.uniform("uLightDirection"),g);e.uniformMatrix4fv(c.uniform("uNormalTransform"),!1,d.k.transpose(d.k.create(),a.annotationLayer.state.globalToObject));b.sphereRenderHelper.draw(c,a.count)})}}]); +return b}(r);r=function(a){function g(){q(this,g);var a=p(this,(g.__proto__||Object.getPrototypeOf(g)).apply(this,arguments));a.quadRenderHelper=a.registerDisposer(new c.a(a.gl,1));a.squareCornersBuffer=Object(l.a)(a.gl,-1,-1,1,1,1,1);a.shaderGetter=Object(e.b)(a,a.gl,function(c){a.defineShader(c);c.addUniform("highp mat4","uViewportToObject");c.addUniform("highp mat4","uObjectToViewport");c.addUniform("highp mat4","uViewportToDevice");c.addAttribute("highp vec2","aCornerOffset");c.addVarying("highp vec2", "vCircleCoord");c.addVertexCode(b.d);c.addVertexCode(b.c);c.setVertexMain("\nmat3 Aobject = mat3(0.0);\nfor (int i = 0; i < 3; ++i) {\n Aobject[i][i] = 1.0 / (aRadii[i] * aRadii[i]);\n}\nmat3 RviewportToObject = mat3(uViewportToObject);\nmat3 Aviewport = transpose(RviewportToObject) * Aobject * RviewportToObject;\nvec3 cViewport = (uObjectToViewport * vec4(aCenter, 1.0)).xyz;\nEllipseQuadraticForm quadraticForm = computeCrossSectionEllipse(Aviewport, cViewport);\nvec2 u1, u2;\nfloat a, b;\nCenterOrientEllipse centerOrient = computeCenterOrientEllipse(quadraticForm);\nvec2 viewportCorner = centerOrient.k +\n centerOrient.u1 * aCornerOffset.x * centerOrient.a +\n centerOrient.u2 * aCornerOffset.y * centerOrient.b;\nif (centerOrient.valid) {\n gl_Position = uViewportToDevice * vec4(viewportCorner, 0.0, 1.0);\n} else {\n gl_Position = vec4(1.0, 1.0, 0.0, -100.0);\n}\nvCircleCoord = aCornerOffset;\n"+ -a.setPartIndex(c)+";\n");c.setFragmentMain("\nif (dot(vCircleCoord, vCircleCoord) > 1.0) {\n discard;\n}\nemitAnnotation(vec4(vColor.rgb, 0.5));\n")});return a}n(g,a);k(g,[{key:"draw",value:function(a){var b=this,d=this.shaderGetter(a.renderContext.emitter);this.enable(d,a,function(){var e=d.gl,g=d.attribute("aCornerOffset");b.squareCornersBuffer.bindToVertexAttrib(g,2);var k=c.k.multiply(m,a.annotationLayer.state.globalToObject,a.renderContext.sliceView.viewportToData);e.uniformMatrix4fv(d.uniform("uViewportToObject"), -!1,k);e.uniformMatrix4fv(d.uniform("uViewportToDevice"),!1,a.renderContext.sliceView.viewportToDevice);c.k.invert(m,k);e.uniformMatrix4fv(d.uniform("uObjectToViewport"),!1,m);b.quadRenderHelper.draw(e,a.count);d.gl.disableVertexAttribArray(g)})}}]);return g}(r);Object(f.c)(h.c.ELLIPSOID,{bytes:24,serializer:function(a,b,c){var d=new Float32Array(a,b,6*c);return function(a,b){var c=a.radii;b*=6;d.set(a.center,b);d.set(c,b+3)}},sliceViewRenderHelper:r,perspectiveViewRenderHelper:a,pickIdsPerInstance:1, -snapPosition:function(){}})},function(h,f,a){f.b=function(a,f){a=[[a[0],a[1],a[2]],[a[3],a[4],a[5]],[a[6],a[7],a[8]]];return{A:a[0][0],B:a[0][1]+a[1][0],C:a[1][1],D:-2*f[0]*a[0][0]-f[1]*(a[0][1]+a[1][0])+f[2]*(a[0][2]+a[2][0]),E:-f[0]*(a[0][1]+a[1][0])-2*f[1]*a[1][1]+f[2]*(a[1][2]+a[2][1]),F:f[0]*f[0]*a[0][0]+f[0]*f[1]*(a[0][1]+a[1][0])-f[0]*f[2]*(a[0][2]+a[2][0])+f[1]*f[1]*a[1][1]-f[1]*f[2]*(a[1][2]+a[2][1])+f[2]*f[2]*a[2][2]-1}};f.a=function(a){var f=a.A,c=a.B/2,b=a.C,d=a.D,e=a.E,g=2*(c*c-f*b), -l=(b*d-c*e)/g;d=(f*e-c*d)/g;a=1/(f*l*l+2*c*l*d+b*d*d-a.F);f*=a;c*=a;b*=a;e=f+b;g=Math.sqrt((f-b)*(f-b)+4*c*c);a=(e+g)/2;e=(e-g)/2;g=1/Math.sqrt(a);var k=1/Math.sqrt(e);var h=1E-10>Math.abs(c)?q.r.fromValues(1,0):f>=b?q.r.fromValues(a-b,c):q.r.fromValues(c,a-f);q.r.normalize(h,h);var m=q.r.fromValues(-h[1],h[0]);return{k:q.r.fromValues(l,d),u1:h,u2:m,a:g,b:k,lambda1:a,lambda2:e,m11:f,m12:c,m22:b}};var q=a(2);f.d=["\nstruct EllipseQuadraticForm {\n highp float A; // x*x coefficient\n highp float B; // x*y coefficient\n highp float C; // y*y coefficient\n highp float D; // x coefficient\n highp float E; // y coefficient\n highp float F; // 1 coefficient\n};\n", +a.setPartIndex(c)+";\n");c.setFragmentMain("\nif (dot(vCircleCoord, vCircleCoord) > 1.0) {\n discard;\n}\nemitAnnotation(vec4(vColor.rgb, 0.5));\n")});return a}n(g,a);k(g,[{key:"draw",value:function(a){var b=this,c=this.shaderGetter(a.renderContext.emitter);this.enable(c,a,function(){var e=c.gl,g=c.attribute("aCornerOffset");b.squareCornersBuffer.bindToVertexAttrib(g,2);var k=d.k.multiply(m,a.annotationLayer.state.globalToObject,a.renderContext.sliceView.viewportToData);e.uniformMatrix4fv(c.uniform("uViewportToObject"), +!1,k);e.uniformMatrix4fv(c.uniform("uViewportToDevice"),!1,a.renderContext.sliceView.viewportToDevice);d.k.invert(m,k);e.uniformMatrix4fv(c.uniform("uObjectToViewport"),!1,m);b.quadRenderHelper.draw(e,a.count);c.gl.disableVertexAttribArray(g)})}}]);return g}(r);Object(f.c)(h.c.ELLIPSOID,{bytes:24,serializer:function(a,b,c){var d=new Float32Array(a,b,6*c);return function(a,b){var c=a.radii;b*=6;d.set(a.center,b);d.set(c,b+3)}},sliceViewRenderHelper:r,perspectiveViewRenderHelper:a,pickIdsPerInstance:1, +snapPosition:function(){}})},function(h,f,a){f.b=function(a,f){a=[[a[0],a[1],a[2]],[a[3],a[4],a[5]],[a[6],a[7],a[8]]];return{A:a[0][0],B:a[0][1]+a[1][0],C:a[1][1],D:-2*f[0]*a[0][0]-f[1]*(a[0][1]+a[1][0])+f[2]*(a[0][2]+a[2][0]),E:-f[0]*(a[0][1]+a[1][0])-2*f[1]*a[1][1]+f[2]*(a[1][2]+a[2][1]),F:f[0]*f[0]*a[0][0]+f[0]*f[1]*(a[0][1]+a[1][0])-f[0]*f[2]*(a[0][2]+a[2][0])+f[1]*f[1]*a[1][1]-f[1]*f[2]*(a[1][2]+a[2][1])+f[2]*f[2]*a[2][2]-1}};f.a=function(a){var f=a.A,d=a.B/2,b=a.C,c=a.D,e=a.E,g=2*(d*d-f*b), +l=(b*c-d*e)/g;c=(f*e-d*c)/g;a=1/(f*l*l+2*d*l*c+b*c*c-a.F);f*=a;d*=a;b*=a;e=f+b;g=Math.sqrt((f-b)*(f-b)+4*d*d);a=(e+g)/2;e=(e-g)/2;g=1/Math.sqrt(a);var k=1/Math.sqrt(e);var h=1E-10>Math.abs(d)?q.r.fromValues(1,0):f>=b?q.r.fromValues(a-b,d):q.r.fromValues(d,a-f);q.r.normalize(h,h);var m=q.r.fromValues(-h[1],h[0]);return{k:q.r.fromValues(l,c),u1:h,u2:m,a:g,b:k,lambda1:a,lambda2:e,m11:f,m12:d,m22:b}};var q=a(2);f.d=["\nstruct EllipseQuadraticForm {\n highp float A; // x*x coefficient\n highp float B; // x*y coefficient\n highp float C; // y*y coefficient\n highp float D; // x coefficient\n highp float E; // y coefficient\n highp float F; // 1 coefficient\n};\n", "\nEllipseQuadraticForm computeCrossSectionEllipse(mat3 A, vec3 c) {\n EllipseQuadraticForm p;\n p.A = A[0][0];\n p.B = A[0][1] + A[1][0];\n p.C = A[1][1];\n p.D = -2.0 * c[0] * A[0][0] - c[1] * (A[0][1] + A[1][0]) +\n c[2] * (A[0][2] + A[2][0]);\n p.E = -c[0] * (A[0][1] + A[1][0]) - 2.0 * c[1] * A[1][1] +\n c[2] * (A[1][2] + A[2][1]);\n p.F = c[0] * c[0] * A[0][0] + c[0] * c[1] * (A[0][1] + A[1][0]) -\n c[0] * c[2] * (A[0][2] + A[2][0]) + c[1] * c[1] * A[1][1] -\n c[1] * c[2] * (A[1][2] + A[2][1]) + c[2] * c[2] * A[2][2] - 1.0;\n return p;\n}\n"]; f.c=["\nstruct EllipseQuadraticForm {\n highp float A; // x*x coefficient\n highp float B; // x*y coefficient\n highp float C; // y*y coefficient\n highp float D; // x coefficient\n highp float E; // y coefficient\n highp float F; // 1 coefficient\n};\n","\nstruct CenterOrientEllipse {\n vec2 k; // center\n vec2 u1; // minor axis direction\n vec2 u2; // major axis direction\n float a; // semimajor axis\n float b; // semiminor axis\n bool valid; // indicates if the ellipse is valid\n};\n", "\nCenterOrientEllipse computeCenterOrientEllipse(EllipseQuadraticForm p) {\n CenterOrientEllipse r;\n float a11 = p.A;\n float a12 = p.B / 2.0;\n float a22 = p.C;\n float b1 = p.D;\n float b2 = p.E;\n float c = p.F;\n float kdenom = 2.0 * (a12 * a12 - a11 * a22);\n float k1 = r.k.x = (a22 * b1 - a12 * b2) / kdenom;\n float k2 = r.k.y = (a11 * b2 - a12 * b1) / kdenom;\n float mu = 1.0 / (a11 * k1 * k1 + 2.0 * a12 * k1 * k2 + a22 * k2 * k2 - c);\n float m11 = mu * a11;\n float m12 = mu * a12;\n float m22 = mu * a22;\n float lambdaTerm1 = m11 + m22;\n float lambdaTerm2 = sqrt((m11 - m22) * (m11 - m22) + 4.0 * m12 * m12);\n float lambda1 = ((lambdaTerm1 + lambdaTerm2) / 2.0);\n float lambda2 = ((lambdaTerm1 - lambdaTerm2) / 2.0);\n r.a = 1.0 / sqrt(lambda1);\n r.b = 1.0 / sqrt(lambda2);\n r.valid = lambda1 > 0.0 && lambda2 > 0.0;\n if (abs(m12) < 1e-10) {\n r.u1 = vec2(1.0, 0.0);\n } else if (m11 >= m22) {\n r.u1 = normalize(vec2(lambda1 - m22, m12));\n } else {\n r.u1 = normalize(vec2(m12, lambda1 - m11));\n }\n r.u2 = vec2(-r.u1.y, r.u1.x);\n return r;\n}\n"]}, function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function p(a,b){for(var c=new Float32Array((a+1)*(b+1)*3),d=0,e=0;e<=a;++e){var g=e*Math.PI/a,f=Math.sin(g);g=Math.cos(g);for(var h=0;h<=b;++h){var n=2*h*Math.PI/b,p=Math.sin(n); -n=Math.cos(n);c[d++]=n*f;c[d++]=g;c[d++]=p*f}}return c}function n(a,b){for(var c=new Uint16Array(a*b*6),d=0,e=0;e<a;e++)for(var g=0;g<b;g++){var f=e*(b+1)+g,h=f+b+1;c[d++]=f;c[d++]=h;c[d++]=f+1;c[d++]=h;c[d++]=h+1;c[d++]=f+1}return c}a.d(f,"a",function(){return d});h=a(1);var c=a(20),b=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype, -c);d&&a(b,d);return b}}(),d=function(a){function d(a,b,e){if(!(this instanceof d))throw new TypeError("Cannot call a class as a function");var g=(d.__proto__||Object.getPrototypeOf(d)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");g=!g||"object"!==typeof g&&"function"!==typeof g?this:g;g.vertexBuffer=g.registerDisposer(Object(c.b)(a,WebGL2RenderingContext.ARRAY_BUFFER,p,b,e)).value;g.indexBuffer=g.registerDisposer(Object(c.b)(a,WebGL2RenderingContext.ELEMENT_ARRAY_BUFFER, -n,b,e)).value;g.numIndices=b*e*6;return g}q(d,a);b(d,[{key:"defineShader",value:function(a){a.addAttribute("highp vec3","aSphereVertex");a.addVarying("highp float","vLightingFactor");a.addVertexCode("\nvoid emitSphere(mat4 projectionMatrix, mat4 normalTransformMatrix, vec3 centerPosition, vec3 radii, vec4 lightDirection) {\n vec3 vertexPosition = aSphereVertex * radii + centerPosition;\n gl_Position = projectionMatrix * vec4(vertexPosition, 1.0);\n vec3 normal = normalize((normalTransformMatrix * vec4(aSphereVertex / radii, 0.0)).xyz);\n vLightingFactor = abs(dot(normal, uLightDirection.xyz)) + uLightDirection.w;\n}\n")}}, -{key:"draw",value:function(a,b){var c=a.attribute("aSphereVertex");this.vertexBuffer.bindToVertexAttrib(c,3,WebGL2RenderingContext.FLOAT,!1);this.indexBuffer.bind();a.gl.drawElementsInstanced(WebGL2RenderingContext.TRIANGLES,this.numIndices,WebGL2RenderingContext.UNSIGNED_SHORT,0,b);a.gl.disableVertexAttribArray(c)}}]);return d}(h.a)},function(h,f,a){f.a=function(a){a=a.getContext("webgl2",{antialias:!1,stencil:!0});if(null==a)throw Error("WebGL not supported.");a.memoize=new q.a;a.maxTextureSize= -a.getParameter(a.MAX_TEXTURE_SIZE);a.maxTextureImageUnits=a.getParameter(a.MAX_TEXTURE_IMAGE_UNITS);a.tempTextureUnit=a.maxTextureImageUnits-1;for(var f=$jscomp.makeIterator(["EXT_color_buffer_float"]),c=f.next();!c.done;c=f.next())if(c=c.value,!a.getExtension(c))throw Error(c+" extension not available");return a};var q=a(97)},function(h,f,a){var q=function(){function a(a,c){for(var b=0;b<c.length;b++){var d=c[b];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a, -d.key,d)}}return function(f,c,b){c&&a(f.prototype,c);b&&a(f,b);return f}}();h=function(){function a(){if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");}q(a,null,[{key:"insertAfter",value:function(a,c){var b=a.next0;c.next0=b;c.prev0=a;a.next0=c;b.prev0=c}},{key:"insertBefore",value:function(a,c){var b=a.prev0;c.prev0=b;c.next0=a;a.prev0=c;b.next0=c}},{key:"front",value:function(a){var c=a.next0;return c===a?null:c}},{key:"back",value:function(a){var c=a.prev0;return c=== -a?null:c}},{key:"pop",value:function(a){var c=a.next0,b=a.prev0;c.prev0=b;b.next0=c;a.next0=null;a.prev0=null;return a}},{key:"iterator",value:function(a){function c(c,e){for(;;)switch(b){case 0:d=a.next0;case 1:if(d===a){b=3;break}b=4;return{value:d,done:!1};case 4:if(void 0===e){b=5;break}b=-1;throw e;case 5:case 2:d=d.next0;b=1;break;case 3:b=-1;default:return{value:void 0,done:!0}}}var b=0,d,e={next:function(a){return c(a,void 0)},throw:function(a){return c(void 0,a)},return:function(a){throw Error("Not yet implemented"); -}};$jscomp.initSymbolIterator();e[Symbol.iterator]=function(){return this};return e}},{key:"reverseIterator",value:function(a){function c(c,e){for(;;)switch(b){case 0:d=a.prev0;case 1:if(d===a){b=3;break}b=4;return{value:d,done:!1};case 4:if(void 0===e){b=5;break}b=-1;throw e;case 5:case 2:d=d.prev0;b=1;break;case 3:b=-1;default:return{value:void 0,done:!0}}}var b=0,d,e={next:function(a){return c(a,void 0)},throw:function(a){return c(void 0,a)},return:function(a){throw Error("Not yet implemented"); -}};$jscomp.initSymbolIterator();e[Symbol.iterator]=function(){return this};return e}},{key:"initializeHead",value:function(a){a.next0=a.prev0=a}}]);return a}();f.a=h},function(h,f,a){a.d(f,"a",function(){return p});var q=function(){function a(a,b){for(var c=0;c<b.length;c++){var e=b[c];e.enumerable=e.enumerable||!1;e.configurable=!0;"value"in e&&(e.writable=!0);Object.defineProperty(a,e.key,e)}}return function(c,b,d){b&&a(c.prototype,b);d&&a(c,d);return c}}(),p=function(){function a(c){if(!(this instanceof -a))throw new TypeError("Cannot call a class as a function");this.parents=[];this.parentPriorities=[];this.bindings=new Map;if(void 0!==c){this.parents.push.apply(this.parents,[].concat($jscomp.arrayFromIterable(c.parents)));this.parentPriorities.push.apply(this.parentPriorities,[].concat($jscomp.arrayFromIterable(c.parentPriorities)));c=$jscomp.makeIterator(c.bindings);for(var b=c.next();!b.done;b=c.next()){var d=$jscomp.makeIterator(b.value);b=d.next().value;d=d.next().value;this.bindings.set(b, -d)}}}q(a,[{key:"addParent",value:function(a,b){for(var c=this,e=this.parents,g=this.parentPriorities,f=0,k=e.length;f<k&&b<g[f];)++f;e.splice(f,0,a);g.splice(f,0,b);return function(){c.removeParent(a)}}},{key:"removeParent",value:function(a){a=this.parents.indexOf(a);if(-1===a)throw Error("Attempt to remove non-existent parent map.");this.parents.splice(a,1);this.parentPriorities.splice(a,1)}},{key:"set",value:function(a,b){this.bindings.set(a,b)}},{key:"delete",value:function(a){this.bindings.delete(a)}}, -{key:"clear",value:function(){this.bindings.clear();this.parents.length=0;this.parentPriorities.length=0}},{key:"get",value:function(a){for(var b=this.parents,c=this.parentPriorities,e=c.length,g=0,f;g<e&&0<c[g];++g)if(f=b[g].get(a),void 0!==f)return f;f=this.bindings.get(a);if(void 0!==f)return f;for(;g<e;++g)if(f=b[g].get(a),void 0!==f)return f}},{key:"getAll",value:function(a){function b(b,d){for(;;)switch(c){case 0:m=r,h=m.parents,k=m.parentPriorities,f=k.length,g=0;case 1:if(!(g<f&&0<k[g])){c= -2;break}e=h[g].get(a);if(void 0===e){c=3;break}c=4;return{value:e,done:!1};case 4:if(void 0===d){c=5;break}c=-1;throw d;case 5:case 3:c=1;break;case 2:e=r.bindings.get(a);if(void 0===e){c=6;break}c=7;return{value:e,done:!1};case 7:if(void 0===d){c=8;break}c=-1;throw d;case 8:case 6:case 9:if(!(g<f)){c=10;break}e=h[g].get(a);if(void 0===e){c=11;break}c=12;return{value:e,done:!1};case 12:if(void 0===d){c=13;break}c=-1;throw d;case 13:case 11:c=9;break;case 10:c=-1;default:return{value:void 0,done:!0}}} -var c=0,e,g,f,k,h,m,r=this,n={next:function(a){return b(a,void 0)},throw:function(a){return b(void 0,a)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();n[Symbol.iterator]=function(){return this};return n}}]);return a}()},function(h,f,a){f.a=function(a){var f=0;switch(a.deltaMode){case 0:f=.005;break;case 1:f=.1;break;case 2:f=2}return Math.exp(a.deltaY*f)}},function(h,f){},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+ -typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function p(a,b){var d=a.memoize.get({type:"getSharedCredentialsProvider",credentialsProvider:Object(c.a)(b)},function(){return new n.a(b.addRef(),a.rpc)}),e=d.addCounterpartRef();d.dispose();return e}f.a=function(){return function(a){return function(a){function e(a){for(var b=[],c=0;c<arguments.length;++c)b[c-0]=arguments[c]; +n=Math.cos(n);c[d++]=n*f;c[d++]=g;c[d++]=p*f}}return c}function n(a,b){for(var c=new Uint16Array(a*b*6),d=0,e=0;e<a;e++)for(var g=0;g<b;g++){var f=e*(b+1)+g,h=f+b+1;c[d++]=f;c[d++]=h;c[d++]=f+1;c[d++]=h;c[d++]=h+1;c[d++]=f+1}return c}a.d(f,"a",function(){return c});h=a(1);var d=a(20),b=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype, +c);d&&a(b,d);return b}}(),c=function(a){function c(a,b,e){if(!(this instanceof c))throw new TypeError("Cannot call a class as a function");var g=(c.__proto__||Object.getPrototypeOf(c)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");g=!g||"object"!==typeof g&&"function"!==typeof g?this:g;g.vertexBuffer=g.registerDisposer(Object(d.b)(a,WebGL2RenderingContext.ARRAY_BUFFER,p,b,e)).value;g.indexBuffer=g.registerDisposer(Object(d.b)(a,WebGL2RenderingContext.ELEMENT_ARRAY_BUFFER, +n,b,e)).value;g.numIndices=b*e*6;return g}q(c,a);b(c,[{key:"defineShader",value:function(a){a.addAttribute("highp vec3","aSphereVertex");a.addVarying("highp float","vLightingFactor");a.addVertexCode("\nvoid emitSphere(mat4 projectionMatrix, mat4 normalTransformMatrix, vec3 centerPosition, vec3 radii, vec4 lightDirection) {\n vec3 vertexPosition = aSphereVertex * radii + centerPosition;\n gl_Position = projectionMatrix * vec4(vertexPosition, 1.0);\n vec3 normal = normalize((normalTransformMatrix * vec4(aSphereVertex / radii, 0.0)).xyz);\n vLightingFactor = abs(dot(normal, uLightDirection.xyz)) + uLightDirection.w;\n}\n")}}, +{key:"draw",value:function(a,b){var c=a.attribute("aSphereVertex");this.vertexBuffer.bindToVertexAttrib(c,3,WebGL2RenderingContext.FLOAT,!1);this.indexBuffer.bind();a.gl.drawElementsInstanced(WebGL2RenderingContext.TRIANGLES,this.numIndices,WebGL2RenderingContext.UNSIGNED_SHORT,0,b);a.gl.disableVertexAttribArray(c)}}]);return c}(h.a)},function(h,f,a){f.a=function(a){a=a.getContext("webgl2",{antialias:!1,stencil:!0});if(null==a)throw Error("WebGL not supported.");a.memoize=new q.a;a.maxTextureSize= +a.getParameter(a.MAX_TEXTURE_SIZE);a.maxTextureImageUnits=a.getParameter(a.MAX_TEXTURE_IMAGE_UNITS);a.tempTextureUnit=a.maxTextureImageUnits-1;for(var f=$jscomp.makeIterator(["EXT_color_buffer_float"]),d=f.next();!d.done;d=f.next())if(d=d.value,!a.getExtension(d))throw Error(d+" extension not available");return a};var q=a(98)},function(h,f,a){var q=function(){function a(a,d){for(var b=0;b<d.length;b++){var c=d[b];c.enumerable=c.enumerable||!1;c.configurable=!0;"value"in c&&(c.writable=!0);Object.defineProperty(a, +c.key,c)}}return function(f,d,b){d&&a(f.prototype,d);b&&a(f,b);return f}}();h=function(){function a(){if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");}q(a,null,[{key:"insertAfter",value:function(a,d){var b=a.next0;d.next0=b;d.prev0=a;a.next0=d;b.prev0=d}},{key:"insertBefore",value:function(a,d){var b=a.prev0;d.prev0=b;d.next0=a;a.prev0=d;b.next0=d}},{key:"front",value:function(a){var d=a.next0;return d===a?null:d}},{key:"back",value:function(a){var d=a.prev0;return d=== +a?null:d}},{key:"pop",value:function(a){var d=a.next0,b=a.prev0;d.prev0=b;b.next0=d;a.next0=null;a.prev0=null;return a}},{key:"iterator",value:function(a){function d(d,e){for(;;)switch(b){case 0:c=a.next0;case 1:if(c===a){b=3;break}b=4;return{value:c,done:!1};case 4:if(void 0===e){b=5;break}b=-1;throw e;case 5:case 2:c=c.next0;b=1;break;case 3:b=-1;default:return{value:void 0,done:!0}}}var b=0,c,e={next:function(a){return d(a,void 0)},throw:function(a){return d(void 0,a)},return:function(a){throw Error("Not yet implemented"); +}};$jscomp.initSymbolIterator();e[Symbol.iterator]=function(){return this};return e}},{key:"reverseIterator",value:function(a){function d(d,e){for(;;)switch(b){case 0:c=a.prev0;case 1:if(c===a){b=3;break}b=4;return{value:c,done:!1};case 4:if(void 0===e){b=5;break}b=-1;throw e;case 5:case 2:c=c.prev0;b=1;break;case 3:b=-1;default:return{value:void 0,done:!0}}}var b=0,c,e={next:function(a){return d(a,void 0)},throw:function(a){return d(void 0,a)},return:function(a){throw Error("Not yet implemented"); +}};$jscomp.initSymbolIterator();e[Symbol.iterator]=function(){return this};return e}},{key:"initializeHead",value:function(a){a.next0=a.prev0=a}}]);return a}();f.a=h},function(h,f,a){a.d(f,"a",function(){return p});var q=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(d,b,c){b&&a(d.prototype,b);c&&a(d,c);return d}}(),p=function(){function a(d){if(!(this instanceof +a))throw new TypeError("Cannot call a class as a function");this.parents=[];this.parentPriorities=[];this.bindings=new Map;if(void 0!==d){this.parents.push.apply(this.parents,[].concat($jscomp.arrayFromIterable(d.parents)));this.parentPriorities.push.apply(this.parentPriorities,[].concat($jscomp.arrayFromIterable(d.parentPriorities)));d=$jscomp.makeIterator(d.bindings);for(var b=d.next();!b.done;b=d.next()){var c=$jscomp.makeIterator(b.value);b=c.next().value;c=c.next().value;this.bindings.set(b, +c)}}}q(a,[{key:"addParent",value:function(a,b){for(var c=this,d=this.parents,g=this.parentPriorities,f=0,k=d.length;f<k&&b<g[f];)++f;d.splice(f,0,a);g.splice(f,0,b);return function(){c.removeParent(a)}}},{key:"removeParent",value:function(a){a=this.parents.indexOf(a);if(-1===a)throw Error("Attempt to remove non-existent parent map.");this.parents.splice(a,1);this.parentPriorities.splice(a,1)}},{key:"set",value:function(a,b){this.bindings.set(a,b)}},{key:"delete",value:function(a){this.bindings.delete(a)}}, +{key:"clear",value:function(){this.bindings.clear();this.parents.length=0;this.parentPriorities.length=0}},{key:"get",value:function(a){for(var b=this.parents,c=this.parentPriorities,d=c.length,g=0,f;g<d&&0<c[g];++g)if(f=b[g].get(a),void 0!==f)return f;f=this.bindings.get(a);if(void 0!==f)return f;for(;g<d;++g)if(f=b[g].get(a),void 0!==f)return f}},{key:"getAll",value:function(a){function b(b,e){for(;;)switch(c){case 0:m=r,h=m.parents,k=m.parentPriorities,f=k.length,g=0;case 1:if(!(g<f&&0<k[g])){c= +2;break}d=h[g].get(a);if(void 0===d){c=3;break}c=4;return{value:d,done:!1};case 4:if(void 0===e){c=5;break}c=-1;throw e;case 5:case 3:c=1;break;case 2:d=r.bindings.get(a);if(void 0===d){c=6;break}c=7;return{value:d,done:!1};case 7:if(void 0===e){c=8;break}c=-1;throw e;case 8:case 6:case 9:if(!(g<f)){c=10;break}d=h[g].get(a);if(void 0===d){c=11;break}c=12;return{value:d,done:!1};case 12:if(void 0===e){c=13;break}c=-1;throw e;case 13:case 11:c=9;break;case 10:c=-1;default:return{value:void 0,done:!0}}} +var c=0,d,g,f,k,h,m,r=this,n={next:function(a){return b(a,void 0)},throw:function(a){return b(void 0,a)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();n[Symbol.iterator]=function(){return this};return n}}]);return a}()},function(h,f,a){f.a=function(a){var f=0;switch(a.deltaMode){case 0:f=.005;break;case 1:f=.1;break;case 2:f=2}return Math.exp(a.deltaY*f)}},function(h,f){},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+ +typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function p(a,b){var c=a.memoize.get({type:"getSharedCredentialsProvider",credentialsProvider:Object(d.a)(b)},function(){return new n.a(b.addRef(),a.rpc)}),e=c.addCounterpartRef();c.dispose();return e}f.a=function(){return function(a){return function(a){function e(a){for(var b=[],c=0;c<arguments.length;++c)b[c-0]=arguments[c]; if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");var d;c=(d=e.__proto__||Object.getPrototypeOf(e)).call.apply(d,[].concat([this],$jscomp.arrayFromIterable(b)));if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");d=!c||"object"!==typeof c&&"function"!==typeof c?this:c;d.credentialsProvider=b[1].credentialsProvider.addRef();return d}q(e,a);b(e,[{key:"initializeCounterpart",value:function(a,b){b.credentialsProvider=p(this.chunkManager, -this.credentialsProvider);d(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"initializeCounterpart",this).call(this,a,b)}}],[{key:"encodeOptions",value:function(a){var b=d(e.__proto__||Object.getPrototypeOf(e),"encodeOptions",this).call(this,a);b.credentialsProvider=Object(c.a)(a.credentialsProvider);return b}}]);return e}(a)}};var n=a(261),c=a(22),b=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable= -!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),d=function g(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return g(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}}},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b); -a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return n});h=a(262);a=a(15);var p=function(){function a(a,c){for(var b=0;b<c.length;b++){var d=c[b];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,e){c&&a(b.prototype,c);e&&a(b,e);return b}}();f=this&&this.__decorate||function(a, -b,d,e){var c=arguments.length,f=3>c?b:null===e?e=Object.getOwnPropertyDescriptor(b,d):e,k;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)f=Reflect.decorate(a,b,d,e);else for(var h=a.length-1;0<=h;h--)if(k=a[h])f=(3>c?k(f):3<c?k(b,d,f):k(b,d))||f;return 3<c&&f&&Object.defineProperty(b,d,f),f};var n=function(a){function b(a,c){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var d=(b.__proto__||Object.getPrototypeOf(b)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); -d=!d||"object"!==typeof d&&"function"!==typeof d?this:d;d.provider=a;d.registerDisposer(a);d.initializeCounterpart(c);return d}q(b,a);p(b,[{key:"get",value:function(a,b){return this.provider.get(a,b)}}]);return b}(a.b);n=f([Object(a.g)(h.b)],n);Object(a.d)(h.a,function(a,b){return this.get(a.providerId).get(a.invalidCredentials,b).then(function(a){return{value:a}})})},function(h,f,a){f.b="CredentialsProvider";f.a="CredentialsProvider.get"},function(h,f,a){f.a=function(a){for(var f=0,h=a.length,c= -0;c<h;++c)f=31*f+a.charCodeAt(c)|0;return f}},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}a.d(f,"d",function(){return n}); -a.d(f,"e",function(){return c});a.d(f,"b",function(){return b});a.d(f,"c",function(){return d});a.d(f,"a",function(){return e});var n;(function(a){a[a.RAW=0]="RAW";a[a.JPEG=1]="JPEG";a[a.COMPRESSED_SEGMENTATION=2]="COMPRESSED_SEGMENTATION"})(n||(n={}));var c=function l(){p(this,l)};c.RPC_ID="brainmaps/VolumeChunkSource";var b=function k(){p(this,k)};b.RPC_ID="brainmaps/MeshSource";var d=function(a){function b(){p(this,b);var a=(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); -return!a||"object"!==typeof a&&"function"!==typeof a?this:a}q(b,a);return b}(b);d.RPC_ID="brainmaps/SkeletonSource";var e=function t(){p(this,t)};e.RPC_ID="brainmaps/Annotation"},function(h,f,a){f.b="mesh/MeshLayer";f.a="mesh/FragmentSource"},function(h,f,a){f.a="skeleton/SkeletonLayer"},function(h,f,a){Object.defineProperty(f,"__esModule",{value:!0});h=a(150);f=a(102);var q=a(268);h.a.register(f.a,function(){return new q.a})},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); -return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return e});var n=a(151),c=a(31),b=a(32),d=a(269),e=function(a){function e(){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function"); -var a=q(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments));a.get=Object(n.c)(function(a){var e=new c.a(!0),g;return new Promise(function(c,k){function f(a,b){b=void 0===b?"Request authorization.":b;e.setText((void 0===a?"Brain Maps authorization required.":a)+" ");a=document.createElement("button");a.textContent=b;e.element.appendChild(a);a.addEventListener("click",function(){l(!1)});e.setVisible(!0)}function l(a){void 0!==g&&g.cancel();g=new b.b;f("Waiting for Brain Maps authorization...", -"Retry");Object(d.a)({clientId:"639403125587-4k5hgdfumtrvur8v48e3pr7oo91d765k.apps.googleusercontent.com",scopes:["https://www.googleapis.com/auth/brainmaps"],immediate:a,authUser:0},g).then(function(a){void 0!==g&&(g=void 0,e.dispose(),c(a))},function(b){void 0!==g&&(g=void 0,a?f():f("Brain Maps authorization failed: "+b+".","Retry"))})}a.add(function(){void 0!==g&&(g.cancel(),g=void 0,e.dispose(),k(b.a))});l(!0)})});return a}p(e,a);return e}(n.b)},function(h,f,a){function q(a,b){if(!(a instanceof -b))throw new TypeError("Cannot call a class as a function");}function p(a,b){var c=document.createElement("iframe");c.style.display="none";c.id=a;c.name=a;c.src="https://accounts.google.com/o/oauth2/postmessageRelay?"+("parent="+encodeURIComponent(location.origin)+"#rpctoken="+b);document.body.appendChild(c)}f.a=function(a,b){b=void 0===b?n.e:b;var e=Object(d.a)();void 0===t&&(t=new k);var g=t,f=g.makeAuthRequestUrl({state:e,clientId:a.clientId,scopes:a.scopes,approvalPrompt:a.approvalPrompt,loginHint:a.loginHint, -immediate:a.immediate,authUser:a.authUser}),l=g.addPendingRequest(e);e=new Promise(function(a,b){l.finished.add(function(c,d){void 0!==c?a(c):b(d)})});l.finished.add(b.add(function(){l.finished.dispatch(void 0,n.a)}));if(a.immediate)g.relayReadyPromise.then(function(){if(!b.isCanceled){var a=document.createElement("iframe");a.src=f;a.style.display="none";document.body.appendChild(a);l.finished.add(function(){Object(c.b)(a)})}});else if(!b.isCanceled){var h=open(f);null!==h&&l.finished.add(function(){h.close()})}return e}; -var n=a(32),c=a(8),b=a(4),d=a(136),e=a(7),g=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),l=function r(){q(this,r);this.finished=new e.b},k=function(){function a(){var c=this;q(this,a);this.proxyName="postmessageRelay"+Object(d.a)();this.rpcToken=""+Object(d.a)();this.relayReadyService="oauth2relayReady:"+ -this.rpcToken;this.oauth2CallbackService="oauth2callback:"+this.rpcToken;this.pendingRequests=new Map;p(this.proxyName,this.rpcToken);this.relayReadyPromise=new Promise(function(a){addEventListener("message",function(d){if("https://accounts.google.com"===d.origin)try{var e=Object(b.t)(JSON.parse(d.data)),g=Object(b.A)(e.s);g===c.relayReadyService&&a();if(g===c.oauth2CallbackService){var k=Object(b.a)(e.a,function(a){return a}),f=Object(b.A)(k[0]),l=location.origin;if(!f.startsWith(l+"#")&&!f.startsWith(l+ -"?"))throw Error("oauth2callback: URL "+JSON.stringify(f)+" "+("does not match current origin "+l+"."));for(var h=f.substring(l.length+1).split("&"),r=new Map,n=$jscomp.makeIterator(h),t=n.next();!t.done;t=n.next()){var p=t.value.match("^([a-z_]+)=(.*)$");if(null===p)throw Error("oauth2callback: URL part "+JSON.stringify(p)+" does not match expected pattern.");r.set(p[1],p[2])}var q=r.get("state");if(void 0===q)throw Error("oauth2callback: State argument is missing.");var u=c.pendingRequests.get(q); +this.credentialsProvider);c(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"initializeCounterpart",this).call(this,a,b)}}],[{key:"encodeOptions",value:function(a){var b=c(e.__proto__||Object.getPrototypeOf(e),"encodeOptions",this).call(this,a);b.credentialsProvider=Object(d.a)(a.credentialsProvider);return b}}]);return e}(a)}};var n=a(261),d=a(23),b=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable= +!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),c=function g(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return g(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}}},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b); +a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return n});h=a(262);a=a(15);var p=function(){function a(a,c){for(var b=0;b<c.length;b++){var d=c[b];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();f=this&&this.__decorate||function(a, +b,c,e){var d=arguments.length,f=3>d?b:null===e?e=Object.getOwnPropertyDescriptor(b,c):e,k;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)f=Reflect.decorate(a,b,c,e);else for(var h=a.length-1;0<=h;h--)if(k=a[h])f=(3>d?k(f):3<d?k(b,c,f):k(b,c))||f;return 3<d&&f&&Object.defineProperty(b,c,f),f};var n=function(a){function b(a,d){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var c=(b.__proto__||Object.getPrototypeOf(b)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); +c=!c||"object"!==typeof c&&"function"!==typeof c?this:c;c.provider=a;c.registerDisposer(a);c.initializeCounterpart(d);return c}q(b,a);p(b,[{key:"get",value:function(a,b){return this.provider.get(a,b)}}]);return b}(a.b);n=f([Object(a.g)(h.b)],n);Object(a.d)(h.a,function(a,b){return this.get(a.providerId).get(a.invalidCredentials,b).then(function(a){return{value:a}})})},function(h,f,a){f.b="CredentialsProvider";f.a="CredentialsProvider.get"},function(h,f,a){f.a=function(a){for(var f=0,h=a.length,d= +0;d<h;++d)f=31*f+a.charCodeAt(d)|0;return f}},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}a.d(f,"d",function(){return n}); +a.d(f,"e",function(){return d});a.d(f,"b",function(){return b});a.d(f,"c",function(){return c});a.d(f,"a",function(){return e});var n;(function(a){a[a.RAW=0]="RAW";a[a.JPEG=1]="JPEG";a[a.COMPRESSED_SEGMENTATION=2]="COMPRESSED_SEGMENTATION"})(n||(n={}));var d=function l(){p(this,l)};d.RPC_ID="brainmaps/VolumeChunkSource";var b=function k(){p(this,k)};b.RPC_ID="brainmaps/MeshSource";var c=function(a){function b(){p(this,b);var a=(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); +return!a||"object"!==typeof a&&"function"!==typeof a?this:a}q(b,a);return b}(b);c.RPC_ID="brainmaps/SkeletonSource";var e=function t(){p(this,t)};e.RPC_ID="brainmaps/Annotation"},function(h,f,a){f.b="mesh/MeshLayer";f.a="mesh/FragmentSource"},function(h,f,a){f.a="skeleton/SkeletonLayer"},function(h,f,a){Object.defineProperty(f,"__esModule",{value:!0});h=a(150);f=a(103);var q=a(268);h.a.register(f.a,function(){return new q.a})},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); +return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return e});var n=a(151),d=a(31),b=a(32),c=a(269),e=function(a){function e(){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function"); +var a=q(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments));a.get=Object(n.c)(function(a){var e=new d.a(!0),g;return new Promise(function(d,k){function f(a,b){b=void 0===b?"Request authorization.":b;e.setText((void 0===a?"Brain Maps authorization required.":a)+" ");a=document.createElement("button");a.textContent=b;e.element.appendChild(a);a.addEventListener("click",function(){l(!1)});e.setVisible(!0)}function l(a){void 0!==g&&g.cancel();g=new b.b;f("Waiting for Brain Maps authorization...", +"Retry");Object(c.a)({clientId:"639403125587-4k5hgdfumtrvur8v48e3pr7oo91d765k.apps.googleusercontent.com",scopes:["https://www.googleapis.com/auth/brainmaps"],immediate:a,authUser:0},g).then(function(a){void 0!==g&&(g=void 0,e.dispose(),d(a))},function(b){void 0!==g&&(g=void 0,a?f():f("Brain Maps authorization failed: "+b+".","Retry"))})}a.add(function(){void 0!==g&&(g.cancel(),g=void 0,e.dispose(),k(b.a))});l(!0)})});return a}p(e,a);return e}(n.b)},function(h,f,a){function q(a,b){if(!(a instanceof +b))throw new TypeError("Cannot call a class as a function");}function p(a,b){var c=document.createElement("iframe");c.style.display="none";c.id=a;c.name=a;c.src="https://accounts.google.com/o/oauth2/postmessageRelay?"+("parent="+encodeURIComponent(location.origin)+"#rpctoken="+b);document.body.appendChild(c)}f.a=function(a,b){b=void 0===b?n.e:b;var e=Object(c.a)();void 0===t&&(t=new k);var g=t,f=g.makeAuthRequestUrl({state:e,clientId:a.clientId,scopes:a.scopes,approvalPrompt:a.approvalPrompt,loginHint:a.loginHint, +immediate:a.immediate,authUser:a.authUser}),l=g.addPendingRequest(e);e=new Promise(function(a,b){l.finished.add(function(c,d){void 0!==c?a(c):b(d)})});l.finished.add(b.add(function(){l.finished.dispatch(void 0,n.a)}));if(a.immediate)g.relayReadyPromise.then(function(){if(!b.isCanceled){var a=document.createElement("iframe");a.src=f;a.style.display="none";document.body.appendChild(a);l.finished.add(function(){Object(d.b)(a)})}});else if(!b.isCanceled){var h=open(f);null!==h&&l.finished.add(function(){h.close()})}return e}; +var n=a(32),d=a(8),b=a(4),c=a(136),e=a(7),g=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),l=function r(){q(this,r);this.finished=new e.b},k=function(){function a(){var d=this;q(this,a);this.proxyName="postmessageRelay"+Object(c.a)();this.rpcToken=""+Object(c.a)();this.relayReadyService="oauth2relayReady:"+ +this.rpcToken;this.oauth2CallbackService="oauth2callback:"+this.rpcToken;this.pendingRequests=new Map;p(this.proxyName,this.rpcToken);this.relayReadyPromise=new Promise(function(a){addEventListener("message",function(c){if("https://accounts.google.com"===c.origin)try{var e=Object(b.t)(JSON.parse(c.data)),g=Object(b.A)(e.s);g===d.relayReadyService&&a();if(g===d.oauth2CallbackService){var k=Object(b.a)(e.a,function(a){return a}),f=Object(b.A)(k[0]),l=location.origin;if(!f.startsWith(l+"#")&&!f.startsWith(l+ +"?"))throw Error("oauth2callback: URL "+JSON.stringify(f)+" "+("does not match current origin "+l+"."));for(var h=f.substring(l.length+1).split("&"),r=new Map,n=$jscomp.makeIterator(h),t=n.next();!t.done;t=n.next()){var p=t.value.match("^([a-z_]+)=(.*)$");if(null===p)throw Error("oauth2callback: URL part "+JSON.stringify(p)+" does not match expected pattern.");r.set(p[1],p[2])}var q=r.get("state");if(void 0===q)throw Error("oauth2callback: State argument is missing.");var u=d.pendingRequests.get(q); if(void 0!==u){var v=r.get("error");if(void 0!==v){var w=r.get("error_subtype");e=v;void 0!==w&&(e+=": "+w);u.finished.dispatch(void 0,Error("Error obtaining Google OAuth2 token: "+e))}else{var P=r.get("access_token"),N=r.get("token_type"),S=r.get("expires_in"),U=r.get("scope");if(void 0===P||void 0===N||void 0===S||void 0===U)throw Error("oauth2callback: URL lacks expected parameters.");u.finished.dispatch({accessToken:P,tokenType:N,expiresIn:S,scope:U})}}}}catch(Z){throw Error("Invalid message received from https://accounts.google.com: "+ -JSON.stringify(d.data)+": "+(Z.message+"."));}})})}g(a,[{key:"addPendingRequest",value:function(a){var b=this,c=new l;this.pendingRequests.set(a,c);c.finished.add(function(){b.pendingRequests.delete(a)});return c}},{key:"makeAuthRequestUrl",value:function(a){var b="https://accounts.google.com/o/oauth2/auth?client_id="+encodeURIComponent(a.clientId);b=b+"&redirect_uri=postmessage&response_type=token"+("&origin="+encodeURIComponent(void 0===a.origin?location.origin:a.origin));b+="&proxy="+this.proxyName; -b=b+"&include_granted_scopes=true"+("&scope="+encodeURIComponent(a.scopes.join(" ")));a.state&&(b+="&state="+a.state);a.approvalPrompt&&(b+="&approval_prompt="+encodeURIComponent(a.approvalPrompt));a.loginHint&&(b+="&login_hint="+encodeURIComponent(a.loginHint));a.immediate&&(b+="&immediate=true");void 0!==a.authUser&&(b+="&authuser="+a.authUser);return b}}]);return a}(),t},function(h,f,a){Object.defineProperty(f,"__esModule",{value:!0});var q=a(131),p=a(102);h=a(41);Object(h.b)("brainmaps",function(a){return new q.BrainmapsDataSource(q.productionInstance, -a.credentialsManager.getCredentialsProvider(p.a))})},function(h,f,a){Object.defineProperty(f,"__esModule",{value:!0});var q=a(105);h=a(41);Object(h.b)("ndstore",function(){return new q.NDStoreDataSource})},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+ -typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}a.d(f,"c",function(){return c});a.d(f,"d",function(){return b});a.d(f,"b",function(){return d});a.d(f,"a",function(){return e});var c;(function(a){a[a.JPEG=0]="JPEG";a[a.RAW=1]="RAW";a[a.COMPRESSED_SEGMENTATION=2]="COMPRESSED_SEGMENTATION"; -a[a.COMPRESSED_SEGMENTATIONARRAY=3]="COMPRESSED_SEGMENTATIONARRAY"})(c||(c={}));h=function l(){n(this,l)};var b=function(a){function b(){n(this,b);return q(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}p(b,a);return b}(h);b.RPC_ID="dvid/VolumeChunkSource";var d=function(a){function b(){n(this,b);return q(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}p(b,a);return b}(h);d.RPC_ID="dvid/SkeletonSource";var e=function(a){function b(){n(this,b);return q(this, +JSON.stringify(c.data)+": "+(Z.message+"."));}})})}g(a,[{key:"addPendingRequest",value:function(a){var b=this,c=new l;this.pendingRequests.set(a,c);c.finished.add(function(){b.pendingRequests.delete(a)});return c}},{key:"makeAuthRequestUrl",value:function(a){var b="https://accounts.google.com/o/oauth2/auth?client_id="+encodeURIComponent(a.clientId);b=b+"&redirect_uri=postmessage&response_type=token"+("&origin="+encodeURIComponent(void 0===a.origin?location.origin:a.origin));b+="&proxy="+this.proxyName; +b=b+"&include_granted_scopes=true"+("&scope="+encodeURIComponent(a.scopes.join(" ")));a.state&&(b+="&state="+a.state);a.approvalPrompt&&(b+="&approval_prompt="+encodeURIComponent(a.approvalPrompt));a.loginHint&&(b+="&login_hint="+encodeURIComponent(a.loginHint));a.immediate&&(b+="&immediate=true");void 0!==a.authUser&&(b+="&authuser="+a.authUser);return b}}]);return a}(),t},function(h,f,a){Object.defineProperty(f,"__esModule",{value:!0});var q=a(131),p=a(103);h=a(41);Object(h.b)("brainmaps",function(a){return new q.BrainmapsDataSource(q.productionInstance, +a.credentialsManager.getCredentialsProvider(p.a))})},function(h,f,a){Object.defineProperty(f,"__esModule",{value:!0});var q=a(106);h=a(41);Object(h.b)("ndstore",function(){return new q.NDStoreDataSource})},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+ +typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}a.d(f,"c",function(){return d});a.d(f,"d",function(){return b});a.d(f,"b",function(){return c});a.d(f,"a",function(){return e});var d;(function(a){a[a.JPEG=0]="JPEG";a[a.RAW=1]="RAW";a[a.COMPRESSED_SEGMENTATION=2]="COMPRESSED_SEGMENTATION"; +a[a.COMPRESSED_SEGMENTATIONARRAY=3]="COMPRESSED_SEGMENTATIONARRAY"})(d||(d={}));h=function l(){n(this,l)};var b=function(a){function b(){n(this,b);return q(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}p(b,a);return b}(h);b.RPC_ID="dvid/VolumeChunkSource";var c=function(a){function b(){n(this,b);return q(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}p(b,a);return b}(h);c.RPC_ID="dvid/SkeletonSource";var e=function(a){function b(){n(this,b);return q(this, (b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}p(b,a);return b}(h);e.RPC_ID="dvid/MeshSource"},function(h,f,a){Object.defineProperty(f,"__esModule",{value:!0});var q=a(153);h=a(41);Object(h.b)("dvid",function(){return new q.DVIDDataSource})},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+ -typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}a.d(f,"b",function(){return c});a.d(f,"a",function(){return b});h=function(a){function b(){n(this,b);return q(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}p(b,a);return b}(function e(){n(this,e)}); -var c=function(a){function b(){n(this,b);return q(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}p(b,a);return b}(h);c.RPC_ID="render/TileChunkSource";var b=function(a){function b(){n(this,b);return q(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}p(b,a);return b}(h);b.RPC_ID="render/PointMatchSource"},function(h,f,a){Object.defineProperty(f,"__esModule",{value:!0});h=a(41);var q=a(154);Object(h.b)("render",function(){return new q.RenderDataSource})},function(h, -f,a){Object.defineProperty(f,"__esModule",{value:!0});var q=a(157);h=a(41);Object(h.b)("openconnectome",function(){return new q.OpenConnectomeDataSource})},function(h,f,a){function q(a,c){if(!(a instanceof c))throw new TypeError("Cannot call a class as a function");}a.d(f,"b",function(){return p});a.d(f,"c",function(){return n});a.d(f,"a",function(){return c});var p;(function(a){a[a.RAW=0]="RAW";a[a.JPEG=1]="JPEG";a[a.COMPRESSED_SEGMENTATION=2]="COMPRESSED_SEGMENTATION"})(p||(p={}));var n=function d(){q(this, -d)};n.RPC_ID="precomputed/VolumeChunkSource";var c=function e(){q(this,e)};c.RPC_ID="precomputed/MeshSource"},function(h,f,a){Object.defineProperty(f,"__esModule",{value:!0});var q=a(158);h=a(41);Object(h.b)("precomputed",function(){return new q.PrecomputedDataSource})},function(h,f,a){a.d(f,"b",function(){return p});f.a="nifti/getNiftiVolumeInfo";var q;(function(a){a[a.NONE=0]="NONE";a[a.BINARY=1]="BINARY";a[a.UINT8=2]="UINT8";a[a.INT16=4]="INT16";a[a.INT32=8]="INT32";a[a.FLOAT32=16]="FLOAT32";a[a.COMPLEX64= -32]="COMPLEX64";a[a.FLOAT64=64]="FLOAT64";a[a.RGB24=128]="RGB24";a[a.INT8=256]="INT8";a[a.UINT16=512]="UINT16";a[a.UINT32=768]="UINT32";a[a.INT64=1024]="INT64";a[a.UINT64=1280]="UINT64";a[a.FLOAT128=1536]="FLOAT128";a[a.COMPLEX128=1792]="COMPLEX128";a[a.COMPLEX256=2048]="COMPLEX256"})(q||(q={}));var p=function c(){if(!(this instanceof c))throw new TypeError("Cannot call a class as a function");};p.RPC_ID="nifti/VolumeChunkSource"},function(h,f,a){Object.defineProperty(f,"__esModule",{value:!0});var q= +typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}a.d(f,"b",function(){return d});a.d(f,"a",function(){return b});h=function(a){function b(){n(this,b);return q(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}p(b,a);return b}(function e(){n(this,e)}); +var d=function(a){function b(){n(this,b);return q(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}p(b,a);return b}(h);d.RPC_ID="render/TileChunkSource";var b=function(a){function b(){n(this,b);return q(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}p(b,a);return b}(h);b.RPC_ID="render/PointMatchSource"},function(h,f,a){Object.defineProperty(f,"__esModule",{value:!0});h=a(41);var q=a(154);Object(h.b)("render",function(){return new q.RenderDataSource})},function(h, +f,a){Object.defineProperty(f,"__esModule",{value:!0});var q=a(157);h=a(41);Object(h.b)("openconnectome",function(){return new q.OpenConnectomeDataSource})},function(h,f,a){function q(a,c){if(!(a instanceof c))throw new TypeError("Cannot call a class as a function");}a.d(f,"b",function(){return p});a.d(f,"c",function(){return n});a.d(f,"a",function(){return d});var p;(function(a){a[a.RAW=0]="RAW";a[a.JPEG=1]="JPEG";a[a.COMPRESSED_SEGMENTATION=2]="COMPRESSED_SEGMENTATION"})(p||(p={}));var n=function c(){q(this, +c)};n.RPC_ID="precomputed/VolumeChunkSource";var d=function e(){q(this,e)};d.RPC_ID="precomputed/MeshSource"},function(h,f,a){Object.defineProperty(f,"__esModule",{value:!0});var q=a(158);h=a(41);Object(h.b)("precomputed",function(){return new q.PrecomputedDataSource})},function(h,f,a){a.d(f,"b",function(){return p});f.a="nifti/getNiftiVolumeInfo";var q;(function(a){a[a.NONE=0]="NONE";a[a.BINARY=1]="BINARY";a[a.UINT8=2]="UINT8";a[a.INT16=4]="INT16";a[a.INT32=8]="INT32";a[a.FLOAT32=16]="FLOAT32";a[a.COMPLEX64= +32]="COMPLEX64";a[a.FLOAT64=64]="FLOAT64";a[a.RGB24=128]="RGB24";a[a.INT8=256]="INT8";a[a.UINT16=512]="UINT16";a[a.UINT32=768]="UINT32";a[a.INT64=1024]="INT64";a[a.UINT64=1280]="UINT64";a[a.FLOAT128=1536]="FLOAT128";a[a.COMPLEX128=1792]="COMPLEX128";a[a.COMPLEX256=2048]="COMPLEX256"})(q||(q={}));var p=function d(){if(!(this instanceof d))throw new TypeError("Cannot call a class as a function");};p.RPC_ID="nifti/VolumeChunkSource"},function(h,f,a){Object.defineProperty(f,"__esModule",{value:!0});var q= a(159);h=a(41);Object(h.b)("nifti",function(){return new q.NiftiDataSource})},function(h,f){},function(h,f){},function(h,f){},function(h,f){},function(h,f){},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&& -b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return d});h=a(1);var n=a(8),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),b=function g(a,b,c){null===a&&(a=Function.prototype);var d= -Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return g(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},d=function(a){function d(a){if(!(this instanceof d))throw new TypeError("Cannot call a class as a function");var b=q(this,(d.__proto__||Object.getPrototypeOf(d)).call(this));b.model=a;b.element=document.createElement("input");var c=b.element;c.classList.add("neuroglancer-color-widget");c.type="color";c.addEventListener("change", -function(){return b.updateModel()});b.registerDisposer(a.changed.add(function(){return b.updateView()}));b.updateView();return b}p(d,a);c(d,[{key:"updateView",value:function(){this.element.value=this.model.toString()}},{key:"updateModel",value:function(){this.model.restoreState(this.element.value)}},{key:"disposed",value:function(){Object(n.b)(this.element);b(d.prototype.__proto__||Object.getPrototypeOf(d.prototype),"disposed",this).call(this)}}]);return d}(h.a)},function(h,f){},function(h,f){},function(h, +b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return c});h=a(1);var n=a(8),d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),b=function g(a,b,c){null===a&&(a=Function.prototype);var d= +Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return g(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},c=function(a){function c(a){if(!(this instanceof c))throw new TypeError("Cannot call a class as a function");var b=q(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));b.model=a;b.element=document.createElement("input");var d=b.element;d.classList.add("neuroglancer-color-widget");d.type="color";d.addEventListener("change", +function(){return b.updateModel()});b.registerDisposer(a.changed.add(function(){return b.updateView()}));b.updateView();return b}p(c,a);d(c,[{key:"updateView",value:function(){this.element.value=this.model.toString()}},{key:"updateModel",value:function(){this.model.restoreState(this.element.value)}},{key:"disposed",value:function(){Object(n.b)(this.element);b(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"disposed",this).call(this)}}]);return c}(h.a)},function(h,f){},function(h,f){},function(h, f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return b}); -h=a(290);a.n(h);h=a(40);var n=a(165),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),b=function(a){function b(a){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var c=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.transform=a;c.textArea=document.createElement("textarea"); +h=a(290);a.n(h);h=a(40);var n=a(165),d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),b=function(a){function b(a){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var c=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.transform=a;c.textArea=document.createElement("textarea"); c.modelGeneration=-1;var d=c.element;d.classList.add("neuroglancer-coordinate-transform-widget");var e=c.textArea,g=document.createElement("label");g.className="neuroglancer-coordinate-transform-widget-homogeneous";g.textContent="3\u00d74 Homogeneous transformation matrix";g.appendChild(e);d.appendChild(g);c.registerDisposer(a.changed.add(function(){return c.updateView()}));c.registerDisposer(c.visibility.changed.add(function(){return c.updateView()}));e.addEventListener("change",function(){return c.updateModel()}); -e.addEventListener("blur",function(){return c.updateModel()});e.title="Homogeneous transformation matrix";e.rows=3;a=document.createElement("button");a.textContent="Reset to identity";a.addEventListener("click",function(){return c.transform.reset()});d.appendChild(a);c.updateView();return c}p(b,a);c(b,[{key:"updateView",value:function(){if(this.visible){var a=this.transform.changed.count;if(this.modelGeneration!==a){for(var b="",c=this.transform.transform,d=0;3>d;++d){0!==d&&(b+="\n");for(var e=0;4> +e.addEventListener("blur",function(){return c.updateModel()});e.title="Homogeneous transformation matrix";e.rows=3;a=document.createElement("button");a.textContent="Reset to identity";a.addEventListener("click",function(){return c.transform.reset()});d.appendChild(a);c.updateView();return c}p(b,a);d(b,[{key:"updateView",value:function(){if(this.visible){var a=this.transform.changed.count;if(this.modelGeneration!==a){for(var b="",c=this.transform.transform,d=0;3>d;++d){0!==d&&(b+="\n");for(var e=0;4> e;++e){var f=c[4*e+d];0!==e&&(b+=" ");b+=Object(n.a)(f)}}this.textArea.value=b;this.modelGeneration=a}}}},{key:"updateModel",value:function(){var a=this.textArea.value.split(/[\s,\[\]\(\)\{\}]/).filter(function(a){return 0<a.length});if(12===a.length){for(var b=[],c=0;12>c;++c){var d=parseFloat(a[c]);if(Number.isNaN(d))return!1;b[c]=d}a=this.transform.transform;a[3]=a[7]=a[10]=0;a[15]=1;for(c=0;4>c;++c)for(d=0;3>d;++d)a[4*c+d]=b[c+4*d];this.transform.changed.dispatch();return!0}return!1}}]);return b}(h.b)}, function(h,f){},function(h,f,a){(function(a){function f(b,c){function d(b){if(!e.parentNode)return a.off(document,"mousemove",d);e.style.top=Math.max(0,b.clientY-e.offsetHeight-5)+"px";e.style.left=b.clientX+5+"px"}var e=document.createElement("div");e.className="CodeMirror-lint-tooltip";e.appendChild(c.cloneNode(!0));document.body.appendChild(e);a.on(document,"mousemove",d);d(b);null!=e.style.opacity&&(e.style.opacity=1);return e}function h(a){a.parentNode&&(null==a.style.opacity&&a.parentNode&& -a.parentNode.removeChild(a),a.style.opacity=0,setTimeout(function(){a.parentNode&&a.parentNode.removeChild(a)},600))}function c(b,c,d){function e(){a.off(d,"mouseout",e);g&&(h(g),g=null)}var g=f(b,c),k=setInterval(function(){if(g)for(var a=d;;a=a.parentNode){a&&11==a.nodeType&&(a=a.host);if(a==document.body)return;if(!a){e();break}}if(!g)return clearInterval(k)},400);a.on(d,"mouseout",e)}function b(a,b,d){this.marked=[];this.options=b;this.timeout=null;this.hasGutter=d;this.onMouseOver=function(b){var d= -b.target||b.srcElement;if(/\bCodeMirror-lint-mark-/.test(d.className)){d=d.getBoundingClientRect();var e=a.findMarksAt(a.coordsChar({left:(d.left+d.right)/2,top:(d.top+d.bottom)/2},"client"));d=[];for(var k=0;k<e.length;++k){var f=e[k].__annotation;f&&d.push(f)}if(d.length){e=b.target||b.srcElement;k=document.createDocumentFragment();for(f=0;f<d.length;f++)k.appendChild(g(d[f]));c(b,k,e)}}};this.waitingFor=0}function d(a){var b=a.state.lint;b.hasGutter&&a.clearGutter("CodeMirror-lint-markers");for(a= -0;a<b.marked.length;++a)b.marked[a].clear();b.marked.length=0}function e(b,d,e,g){var k=document.createElement("div"),f=k;k.className="CodeMirror-lint-marker-"+d;e&&(f=k.appendChild(document.createElement("div")),f.className="CodeMirror-lint-marker-multiple");if(0!=g)a.on(f,"mouseover",function(a){c(a,b,f)});return k}function g(a){var b=a.severity;b||(b="error");var c=document.createElement("div");c.className="CodeMirror-lint-message-"+b;"undefined"!=typeof a.messageHTML?c.innerHTML=a.messageHTML: -c.appendChild(document.createTextNode(a.message));return c}function l(b,c,d){function e(){k=-1;b.off("change",e)}var g=b.state.lint,k=++g.waitingFor;b.on("change",e);c(b.getValue(),function(c,d){b.off("change",e);g.waitingFor==k&&(d&&c instanceof a&&(c=d),t(b,c))},d,b)}function k(b){var c=b.state.lint.options,d=c.options||c,e=c.getAnnotations||b.getHelper(a.Pos(0,0),"lint");e&&(c.async||e.async?l(b,e,d):(c=e(b.getValue(),d,b))&&(c.then?c.then(function(a){t(b,a)}):t(b,c)))}function t(a,b){d(a);for(var c= -a.state.lint,k=c.options,f=[],l=0;l<b.length;++l){var h=b[l],m=h.from.line;(f[m]||(f[m]=[])).push(h)}for(l=0;l<f.length;++l)if(h=f[l]){m=null;for(var r=c.hasGutter&&document.createDocumentFragment(),n=0;n<h.length;++n){var t=h[n],p=t.severity;p||(p="error");"error"!=m&&(m=p);k.formatAnnotation&&(t=k.formatAnnotation(t));c.hasGutter&&r.appendChild(g(t));t.to&&c.marked.push(a.markText(t.from,t.to,{className:"CodeMirror-lint-mark-"+p,__annotation:t}))}c.hasGutter&&a.setGutterMarker(l,"CodeMirror-lint-markers", -e(r,m,1<h.length,c.options.tooltips))}if(k.onUpdateLinting)k.onUpdateLinting(b,f,a)}function m(a){var b=a.state.lint;b&&(clearTimeout(b.timeout),b.timeout=setTimeout(function(){k(a)},b.options.delay||500))}a.defineOption("lint",!1,function(c,e,g){g&&g!=a.Init&&(d(c),!1!==c.state.lint.options.lintOnChange&&c.off("change",m),a.off(c.getWrapperElement(),"mouseover",c.state.lint.onMouseOver),clearTimeout(c.state.lint.timeout),delete c.state.lint);if(e){var f=c.getOption("gutters");g=!1;for(var l=0;l< -f.length;++l)"CodeMirror-lint-markers"==f[l]&&(g=!0);f=c.state;e instanceof Function?e={getAnnotations:e}:e&&!0!==e||(e={});g=f.lint=new b(c,e,g);if(!1!==g.options.lintOnChange)c.on("change",m);if(0!=g.options.tooltips&&"gutter"!=g.options.tooltips)a.on(c.getWrapperElement(),"mouseover",g.onMouseOver);k(c)}});a.defineExtension("performLint",function(){this.state.lint&&k(this)})})(a(48))},function(h,f){},function(h,f){h.exports=function(a){function f(a){var b={};a=a.split(" ");for(var c=0;c<a.length;++c)b[a[c]]= -!0;return b}a.defineMode("glsl",function(a,b){function c(a,b){var c=a.next();if(y[c]){var d=y[c](a,b);if(!1!==d)return d}if('"'==c||"'"==c)return b.tokenize=e(c),b.tokenize(a,b);if(/[\[\]{}\(\),;\:\.]/.test(c))return z=c,"bracket";if(/\d/.test(c))return a.eatWhile(/[\w\.]/),"number";if("/"==c){if(a.eat("*"))return b.tokenize=g,g(a,b);if(a.eat("/"))return a.skipToEnd(),"comment"}if("#"==c)return a.eatWhile(/[\S]+/),a.eatWhile(/[\s]+/),a.eatWhile(/[\S]+/),a.eatWhile(/[\s]+/),"comment";if(A.test(c))return a.eatWhile(A), -"operator";a.eatWhile(/[\w\$_]/);a=a.current();return r.propertyIsEnumerable(a)?(q.propertyIsEnumerable(a)&&(z="newstatement"),"keyword"):p.propertyIsEnumerable(a)?"builtin":w.propertyIsEnumerable(a)?"atom":"word"}function e(a){return function(b,d){for(var e=!1,g,k=!1;null!=(g=b.next());){if(g==a&&!e){k=!0;break}e=!e&&"\\"==g}if(k||!e&&!x)d.tokenize=c;return"string"}}function g(a,b){for(var d=!1,e;e=a.next();){if("/"==e&&d){b.tokenize=c;break}d="*"==e}return"comment"}function l(a,b,c,d,e){this.indented= +a.parentNode.removeChild(a),a.style.opacity=0,setTimeout(function(){a.parentNode&&a.parentNode.removeChild(a)},600))}function d(b,c,d){function e(){a.off(d,"mouseout",e);g&&(h(g),g=null)}var g=f(b,c),k=setInterval(function(){if(g)for(var a=d;;a=a.parentNode){a&&11==a.nodeType&&(a=a.host);if(a==document.body)return;if(!a){e();break}}if(!g)return clearInterval(k)},400);a.on(d,"mouseout",e)}function b(a,b,c){this.marked=[];this.options=b;this.timeout=null;this.hasGutter=c;this.onMouseOver=function(b){var c= +b.target||b.srcElement;if(/\bCodeMirror-lint-mark-/.test(c.className)){c=c.getBoundingClientRect();var e=a.findMarksAt(a.coordsChar({left:(c.left+c.right)/2,top:(c.top+c.bottom)/2},"client"));c=[];for(var k=0;k<e.length;++k){var f=e[k].__annotation;f&&c.push(f)}if(c.length){e=b.target||b.srcElement;k=document.createDocumentFragment();for(f=0;f<c.length;f++)k.appendChild(g(c[f]));d(b,k,e)}}};this.waitingFor=0}function c(a){var b=a.state.lint;b.hasGutter&&a.clearGutter("CodeMirror-lint-markers");for(a= +0;a<b.marked.length;++a)b.marked[a].clear();b.marked.length=0}function e(b,c,e,g){var k=document.createElement("div"),f=k;k.className="CodeMirror-lint-marker-"+c;e&&(f=k.appendChild(document.createElement("div")),f.className="CodeMirror-lint-marker-multiple");if(0!=g)a.on(f,"mouseover",function(a){d(a,b,f)});return k}function g(a){var b=a.severity;b||(b="error");var c=document.createElement("div");c.className="CodeMirror-lint-message-"+b;"undefined"!=typeof a.messageHTML?c.innerHTML=a.messageHTML: +c.appendChild(document.createTextNode(a.message));return c}function l(b,c,d){function e(){k=-1;b.off("change",e)}var g=b.state.lint,k=++g.waitingFor;b.on("change",e);c(b.getValue(),function(c,d){b.off("change",e);g.waitingFor==k&&(d&&c instanceof a&&(c=d),t(b,c))},d,b)}function k(b){var c=b.state.lint.options,d=c.options||c,e=c.getAnnotations||b.getHelper(a.Pos(0,0),"lint");e&&(c.async||e.async?l(b,e,d):(c=e(b.getValue(),d,b))&&(c.then?c.then(function(a){t(b,a)}):t(b,c)))}function t(a,b){c(a);for(var d= +a.state.lint,k=d.options,f=[],l=0;l<b.length;++l){var h=b[l],m=h.from.line;(f[m]||(f[m]=[])).push(h)}for(l=0;l<f.length;++l)if(h=f[l]){m=null;for(var r=d.hasGutter&&document.createDocumentFragment(),n=0;n<h.length;++n){var t=h[n],p=t.severity;p||(p="error");"error"!=m&&(m=p);k.formatAnnotation&&(t=k.formatAnnotation(t));d.hasGutter&&r.appendChild(g(t));t.to&&d.marked.push(a.markText(t.from,t.to,{className:"CodeMirror-lint-mark-"+p,__annotation:t}))}d.hasGutter&&a.setGutterMarker(l,"CodeMirror-lint-markers", +e(r,m,1<h.length,d.options.tooltips))}if(k.onUpdateLinting)k.onUpdateLinting(b,f,a)}function m(a){var b=a.state.lint;b&&(clearTimeout(b.timeout),b.timeout=setTimeout(function(){k(a)},b.options.delay||500))}a.defineOption("lint",!1,function(d,e,g){g&&g!=a.Init&&(c(d),!1!==d.state.lint.options.lintOnChange&&d.off("change",m),a.off(d.getWrapperElement(),"mouseover",d.state.lint.onMouseOver),clearTimeout(d.state.lint.timeout),delete d.state.lint);if(e){var f=d.getOption("gutters");g=!1;for(var l=0;l< +f.length;++l)"CodeMirror-lint-markers"==f[l]&&(g=!0);f=d.state;e instanceof Function?e={getAnnotations:e}:e&&!0!==e||(e={});g=f.lint=new b(d,e,g);if(!1!==g.options.lintOnChange)d.on("change",m);if(0!=g.options.tooltips&&"gutter"!=g.options.tooltips)a.on(d.getWrapperElement(),"mouseover",g.onMouseOver);k(d)}});a.defineExtension("performLint",function(){this.state.lint&&k(this)})})(a(48))},function(h,f){},function(h,f){h.exports=function(a){function f(a){var b={};a=a.split(" ");for(var c=0;c<a.length;++c)b[a[c]]= +!0;return b}a.defineMode("glsl",function(a,b){function c(a,b){var c=a.next();if(y[c]){var e=y[c](a,b);if(!1!==e)return e}if('"'==c||"'"==c)return b.tokenize=d(c),b.tokenize(a,b);if(/[\[\]{}\(\),;\:\.]/.test(c))return z=c,"bracket";if(/\d/.test(c))return a.eatWhile(/[\w\.]/),"number";if("/"==c){if(a.eat("*"))return b.tokenize=g,g(a,b);if(a.eat("/"))return a.skipToEnd(),"comment"}if("#"==c)return a.eatWhile(/[\S]+/),a.eatWhile(/[\s]+/),a.eatWhile(/[\S]+/),a.eatWhile(/[\s]+/),"comment";if(A.test(c))return a.eatWhile(A), +"operator";a.eatWhile(/[\w\$_]/);a=a.current();return r.propertyIsEnumerable(a)?(q.propertyIsEnumerable(a)&&(z="newstatement"),"keyword"):p.propertyIsEnumerable(a)?"builtin":w.propertyIsEnumerable(a)?"atom":"word"}function d(a){return function(b,d){for(var e=!1,g,k=!1;null!=(g=b.next());){if(g==a&&!e){k=!0;break}e=!e&&"\\"==g}if(k||!e&&!x)d.tokenize=c;return"string"}}function g(a,b){for(var d=!1,e;e=a.next();){if("/"==e&&d){b.tokenize=c;break}d="*"==e}return"comment"}function l(a,b,c,d,e){this.indented= a;this.column=b;this.type=c;this.align=d;this.prev=e}function k(a,b,c){return a.context=new l(a.indented,b,c,null,a.context)}function t(a){var b=a.context.type;if(")"==b||"]"==b||"}"==b)a.indented=a.context.indented;return a.context=a.context.prev}var m=a.indentUnit,r=b.keywords||f(h),p=b.builtins||f(n),q=b.blockKeywords||f("case do else for if switch while struct"),w=b.atoms||f("null"),y=b.hooks||{},x=b.multiLineStrings,A=/[+\-*&%=<>!?|\/]/,z;return{startState:function(a){return{tokenize:null,context:new l((a|| 0)-m,0,"top",!1),indented:0,startOfLine:!0}},token:function(a,b){var d=b.context;a.sol()&&(null==d.align&&(d.align=!1),b.indented=a.indentation(),b.startOfLine=!0);if(a.eatSpace())return null;z=null;var e=(b.tokenize||c)(a,b);if("comment"==e||"meta"==e)return e;null==d.align&&(d.align=!0);if(";"!=z&&":"!=z||"statement"!=d.type)if("{"==z)k(b,a.column(),"}");else if("["==z)k(b,a.column(),"]");else if("("==z)k(b,a.column(),")");else if("}"==z){for(;"statement"==d.type;)d=t(b);for("}"==d.type&&(d=t(b));"statement"== d.type;)d=t(b)}else z==d.type?t(b):("}"==d.type||"top"==d.type||"statement"==d.type&&"newstatement"==z)&&k(b,a.column(),"statement");else t(b);b.startOfLine=!1;return e},indent:function(a,b){if(a.tokenize!=c&&null!=a.tokenize)return 0;b=b&&b.charAt(0);a=a.context;var d=b==a.type;return"statement"==a.type?a.indented+("{"==b?0:m):a.align?a.column+(d?0:1):a.indented+(d?0:m)},electricChars:"{}"}});var h="attribute const uniform varying break continue do for while if else in out inout float int void bool true false lowp mediump highp precision invariant discard return mat2 mat3 mat4 vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 sampler2D samplerCube struct gl_FragCoord gl_FragColor", n="radians degrees sin cos tan asin acos atan pow exp log exp2 log2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not dFdx dFdy fwidth texture2D texture2DProj texture2DLod texture2DProjLod textureCube textureCubeLod require export";a.defineMIME("text/x-glsl",{name:"glsl",keywords:f(h),builtins:f(n),blockKeywords:f("case do else for if switch while struct"), atoms:f("null"),hooks:{"#":function(a,b){if(!b.startOfLine)return!1;a.skipToEnd();return"meta"}}})}},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+ -typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b,c,d){d=void 0===d?{}:d;return e.a.forPromise(new Promise(function(e){e(a.getVectorGraphicsSource(b,c,d))}),{initialMessage:"Retrieving metadata for vector graphics source "+c+".",delay:!0,errorPrefix:"Error retrieving metadata for vector graphics source "+c+": "})}Object.defineProperty(f,"__esModule", -{value:!0});a.d(f,"VectorGraphicsUserLayer",function(){return x});h=a(18);f=a(27);var b=a(155),d=a(295),e=a(31),g=a(56),l=a(173),k=a(174),t=a(2),m=a(4),r=a(81),u=a(40),v=a(296),w=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),y=function E(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a, +typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function d(a,b,c,d){d=void 0===d?{}:d;return e.a.forPromise(new Promise(function(e){e(a.getVectorGraphicsSource(b,c,d))}),{initialMessage:"Retrieving metadata for vector graphics source "+c+".",delay:!0,errorPrefix:"Error retrieving metadata for vector graphics source "+c+": "})}Object.defineProperty(f,"__esModule", +{value:!0});a.d(f,"VectorGraphicsUserLayer",function(){return x});h=a(18);f=a(27);var b=a(155),c=a(295),e=a(31),g=a(56),l=a(173),k=a(174),t=a(2),m=a(4),r=a(81),u=a(40),v=a(296),w=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),y=function E(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a, b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return E(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(171);a(172);var x=function(a){function e(a,f){q(this,e);var h=p(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,a,f));h.opacity=Object(g.a)(.5);h.lineWidth=Object(l.a)(10);h.color=Object(k.a)(t.s.fromValues(1,1,1));h.opacity.restoreState(f.opacity);h.lineWidth.restoreState(f.linewidth);h.color.restoreState(f.color);h.lineWidth.changed.add(function(){h.specificationChanged.dispatch()}); -h.color.changed.add(function(){h.specificationChanged.dispatch()});h.vectorGraphicsLayerType=Object(m.m)(f.type,b.b);f=h.vectorGraphicsPath=Object(m.y)(f.source);var r=0;void 0!==f&&(++r,h.vectorGraphicsLayerType===b.b.LINE&&c(a.dataSourceProvider,a.chunkManager,f).then(function(a){h.wasDisposed||(a=h.renderLayer=new d.a(a,{opacity:h.opacity,lineWidth:h.lineWidth,color:h.color,sourceOptions:{}}),h.addRenderLayer(a),0===--r&&(h.isReady=!0))}));h.tabs.add("rendering",{label:"Rendering",order:-100,getter:function(){return new A(h)}}); +h.color.changed.add(function(){h.specificationChanged.dispatch()});h.vectorGraphicsLayerType=Object(m.m)(f.type,b.b);f=h.vectorGraphicsPath=Object(m.y)(f.source);var r=0;void 0!==f&&(++r,h.vectorGraphicsLayerType===b.b.LINE&&d(a.dataSourceProvider,a.chunkManager,f).then(function(a){h.wasDisposed||(a=h.renderLayer=new c.a(a,{opacity:h.opacity,lineWidth:h.lineWidth,color:h.color,sourceOptions:{}}),h.addRenderLayer(a),0===--r&&(h.isReady=!0))}));h.tabs.add("rendering",{label:"Rendering",order:-100,getter:function(){return new A(h)}}); h.tabs.default="rendering";return h}n(e,a);w(e,[{key:"toJSON",value:function(){var a=y(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"toJSON",this).call(this);a.type=this.getLayerType();a.source=this.vectorGraphicsPath;a.opacity=this.opacity.toJSON();a.linewidth=this.lineWidth.toJSON();a.color=this.color.toJSON();return a}},{key:"getLayerType",value:function(){return b.b[this.vectorGraphicsLayerType].toLowerCase()}}]);return e}(h.i),A=function(a){function b(a){q(this,b);var c=p(this,(b.__proto__|| -Object.getPrototypeOf(b)).call(this));c.layer=a;c.opacityWidget=c.registerDisposer(new r.a(c.layer.opacity));c.lineWidthWidget=c.registerDisposer(new r.a(c.layer.lineWidth,{min:0,max:50,step:1}));c.colorWidget=c.registerDisposer(new z(c.layer.color));a=c.element;a.classList.add("image-dropdown");var d=c.opacityWidget,e=c.lineWidthWidget,g=c.colorWidget,k=document.createElement("div");k.className="image-dropdown-top-row";d.promptElement.textContent="Opacity";e.promptElement.textContent="Line Width"; -g.promptElement.textContent="Color";d=document.createElement("div");d.style.flex="1";e=document.createElement("a");g=document.createElement("button");g.type="button";g.textContent="?";g.className="help-link";e.appendChild(g);e.title="Documentation on vector graphics layer rendering";e.target="_blank";e.href="https://github.com/google/neuroglancer/blob/master/src/neuroglancer/sliceview/vectorgraphics_layer_rendering.md";k.appendChild(d);k.appendChild(e);a.appendChild(k);a.appendChild(c.opacityWidget.element); +Object.getPrototypeOf(b)).call(this));c.layer=a;c.opacityWidget=c.registerDisposer(new r.a(c.layer.opacity));c.lineWidthWidget=c.registerDisposer(new r.a(c.layer.lineWidth,{min:0,max:50,step:1}));c.colorWidget=c.registerDisposer(new z(c.layer.color));a=c.element;a.classList.add("image-dropdown");var d=c.opacityWidget,e=c.lineWidthWidget,g=c.colorWidget,f=document.createElement("div");f.className="image-dropdown-top-row";d.promptElement.textContent="Opacity";e.promptElement.textContent="Line Width"; +g.promptElement.textContent="Color";d=document.createElement("div");d.style.flex="1";e=document.createElement("a");g=document.createElement("button");g.type="button";g.textContent="?";g.className="help-link";e.appendChild(g);e.title="Documentation on vector graphics layer rendering";e.target="_blank";e.href="https://github.com/google/neuroglancer/blob/master/src/neuroglancer/sliceview/vectorgraphics_layer_rendering.md";f.appendChild(d);f.appendChild(e);a.appendChild(f);a.appendChild(c.opacityWidget.element); a.appendChild(c.lineWidthWidget.element);a.appendChild(c.colorWidget.element);return c}n(b,a);return b}(u.b),z=function(a){function b(a){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a))}n(b,a);w(b,[{key:"verifyValue",value:function(a){a=Object(m.n)(a);a/=255;return 0>a?0:1<a?1:a}},{key:"updateInput",value:function(){this.inputx.valueAsNumber=Math.round(255*this.model.value[0]);this.inputy.valueAsNumber=Math.round(255*this.model.value[1]);this.inputz.valueAsNumber=Math.round(255* this.model.value[2])}}]);return b}(v.a);Object(f.e)("line",x)},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf? -Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return m});var n=a(30);h=a(156);var c=a(56),b=a(173),d=a(174),e=a(2),g=a(20),l=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),k=function u(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a= -Object.getPrototypeOf(a),null!==a)return u(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},t=e.k.create(),m=function(a){function f(a,k){var l=void 0===k?{}:k;k=void 0===l.opacity?Object(c.a)(.5):l.opacity;var h=void 0===l.lineWidth?Object(b.a)(10):l.lineWidth,m=void 0===l.color?Object(d.a)(e.s.fromValues(255,255,255)):l.color;l=void 0===l.sourceOptions?{}:l.sourceOptions;if(!(this instanceof f))throw new TypeError("Cannot call a class as a function");var n=q(this, +Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return m});var n=a(30);h=a(156);var d=a(56),b=a(173),c=a(174),e=a(2),g=a(20),l=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),k=function u(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a= +Object.getPrototypeOf(a),null!==a)return u(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},t=e.k.create(),m=function(a){function f(a,k){var l=void 0===k?{}:k;k=void 0===l.opacity?Object(d.a)(.5):l.opacity;var h=void 0===l.lineWidth?Object(b.a)(10):l.lineWidth,m=void 0===l.color?Object(c.a)(e.s.fromValues(255,255,255)):l.color;l=void 0===l.sourceOptions?{}:l.sourceOptions;if(!(this instanceof f))throw new TypeError("Cannot call a class as a function");var n=q(this, (f.__proto__||Object.getPrototypeOf(f)).call(this,a,{sourceOptions:l}));n.opacity=k;n.registerDisposer(k.changed.add(function(){n.redrawNeeded.dispatch()}));n.lineWidth=h;n.registerDisposer(h.changed.add(function(){n.redrawNeeded.dispatch()}));n.color=m;n.registerDisposer(m.changed.add(function(){n.redrawNeeded.dispatch()}));a=n.gl;k=new Float32Array([1,0,0,1,1,0,0,1]);n.vertexIndexBuffer=n.registerDisposer(g.a.fromData(a,k,a.ARRAY_BUFFER,a.STATIC_DRAW));k=new Float32Array([1,1,-1,-1]);n.normalDirectionBuffer= n.registerDisposer(g.a.fromData(a,k,a.ARRAY_BUFFER,a.STATIC_DRAW));return n}p(f,a);l(f,[{key:"getShaderKey",value:function(){return"vectorgraphics.VectorGraphicsLineRenderLayer"}},{key:"defineShader",value:function(a){k(f.prototype.__proto__||Object.getPrototypeOf(f.prototype),"defineShader",this).call(this,a);a.addUniform("highp float","uOpacity");a.addUniform("highp float","ulineWidth");a.addUniform("highp vec3","uColor");a.addVarying("vec3","vNormal");a.addAttribute("highp float","aNormalDirection"); a.addAttribute("highp vec2","aVertexIndex");a.addAttribute("highp vec3","aVertexFirst");a.addAttribute("highp vec3","aVertexSecond");a.addUniform("highp mat4","uProjection");a.setFragmentMain("\nfloat distance = length(vNormal);\n\nfloat antialiasing = 0.5;\n\nif (distance >= 1.0 - antialiasing) {\n emitRGBA(vec4(uColor, (distance - 1.0) / -antialiasing ));\n}\nelse if (distance < 1.0 - antialiasing) {\n emitRGB(uColor);\n}\n");a.setVertexMain("\nvec3 direction = vec3(0., 0., 0.);\ndirection.z = aNormalDirection;\n\nvec3 difference = aVertexSecond - aVertexFirst;\ndifference.z = 0.;\n\nvec3 normal = cross(difference, direction);\nnormal = normalize(normal);\nvNormal = normal;\n\nvec4 delta = vec4(normal * ulineWidth, 0.0);\nvec4 pos = vec4(aVertexFirst * aVertexIndex.x + aVertexSecond * aVertexIndex.y, 1.0);\n\ngl_Position = uProjection * (pos + delta);\n")}}, {key:"beginSlice",value:function(a){k(f.prototype.__proto__||Object.getPrototypeOf(f.prototype),"beginSlice",this).call(this,a);a=this.gl;var b=this.shader;a.uniform1f(b.uniform("uOpacity"),this.opacity.value);a.uniform1f(b.uniform("ulineWidth"),this.lineWidth.value);a.uniform3fv(b.uniform("uColor"),this.color.value);this.vertexIndexBuffer.bindToVertexAttrib(b.attribute("aVertexIndex"),2);this.normalDirectionBuffer.bindToVertexAttrib(b.attribute("aNormalDirection"),1);return b}},{key:"endSlice",value:function(a){var b= -this.gl;b.disableVertexAttribArray(a.attribute("aVertexIndex"));b.disableVertexAttribArray(a.attribute("aNormalDirection"));b.disableVertexAttribArray(a.attribute("aVertexFirst"));b.disableVertexAttribArray(a.attribute("aVertexSecond"))}},{key:"draw",value:function(a){var b=a.visibleLayers.get(this);if(0!==b.length){var c=this.gl,d=this.beginSlice(a);if(void 0===d)console.log("error: shader undefined");else{b=$jscomp.makeIterator(b);for(var g=b.next();!g.done;g=b.next()){g=g.value;var k=g.chunkLayout, -f=g.source,l=f.spec.voxelSize;g=f.chunks;var h=t;e.k.identity(h);f.vectorGraphicsCoordinatesInVoxels&&e.k.scale(h,h,l);e.k.multiply(h,k.transform,h);c.uniformMatrix4fv(d.uniform("uProjection"),!1,e.k.multiply(t,a.dataToDevice,h));if(k=a.visibleChunks.get(k))for(k=$jscomp.makeIterator(k),f=k.next();!f.done;f=k.next())if((f=g.get(f.value))&&f.state===n.d.GPU_MEMORY){l=f.numPoints/2;h=d.attribute("aVertexFirst");f.vertexBuffer.bindToVertexAttrib(h,3,WebGL2RenderingContext.FLOAT,!1,24,0);c.vertexAttribDivisor(h, -1);var m=d.attribute("aVertexSecond");f.vertexBuffer.bindToVertexAttrib(m,3,WebGL2RenderingContext.FLOAT,!1,24,12);c.vertexAttribDivisor(m,1);c.drawArraysInstanced(c.TRIANGLE_STRIP,0,4,l);c.vertexAttribDivisor(h,0);c.vertexAttribDivisor(m,0)}}this.endSlice(d)}}}}]);return f}(h.a)},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&& -null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return g});h=a(1);var n=a(2),c=a(4),b=a(7),d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a, +this.gl;b.disableVertexAttribArray(a.attribute("aVertexIndex"));b.disableVertexAttribArray(a.attribute("aNormalDirection"));b.disableVertexAttribArray(a.attribute("aVertexFirst"));b.disableVertexAttribArray(a.attribute("aVertexSecond"))}},{key:"draw",value:function(a){var b=a.visibleLayers.get(this);if(0!==b.length){var c=this.gl,d=this.beginSlice(a);if(void 0===d)console.log("error: shader undefined");else{b=$jscomp.makeIterator(b);for(var g=b.next();!g.done;g=b.next()){g=g.value;var f=g.chunkLayout, +k=g.source,l=k.spec.voxelSize;g=k.chunks;var h=t;e.k.identity(h);k.vectorGraphicsCoordinatesInVoxels&&e.k.scale(h,h,l);e.k.multiply(h,f.transform,h);c.uniformMatrix4fv(d.uniform("uProjection"),!1,e.k.multiply(t,a.dataToDevice,h));if(f=a.visibleChunks.get(f))for(f=$jscomp.makeIterator(f),k=f.next();!k.done;k=f.next())if((k=g.get(k.value))&&k.state===n.d.GPU_MEMORY){l=k.numPoints/2;h=d.attribute("aVertexFirst");k.vertexBuffer.bindToVertexAttrib(h,3,WebGL2RenderingContext.FLOAT,!1,24,0);c.vertexAttribDivisor(h, +1);var m=d.attribute("aVertexSecond");k.vertexBuffer.bindToVertexAttrib(m,3,WebGL2RenderingContext.FLOAT,!1,24,12);c.vertexAttribDivisor(m,1);c.drawArraysInstanced(c.TRIANGLE_STRIP,0,4,l);c.vertexAttribDivisor(h,0);c.vertexAttribDivisor(m,0)}}this.endSlice(d)}}}}]);return f}(h.a)},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&& +null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return g});h=a(1);var n=a(2),d=a(4),b=a(7),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a, d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),e=function k(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return k(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(297);var g=function(a){function g(a){if(!(this instanceof g))throw new TypeError("Cannot call a class as a function");var c=q(this,(g.__proto__||Object.getPrototypeOf(g)).call(this)); c.model=a;c.promptElement=document.createElement("span");c.element=document.createElement("label");c.inputx=document.createElement("input");c.inputy=document.createElement("input");c.inputz=document.createElement("input");c.valueEntered=new b.b;a=c.inputx;var d=c.inputy,e=c.inputz,f=c.element,k=c.promptElement;f.className="vec3-input-row";k.className="vec3-input-label";f.appendChild(k);f.appendChild(a);f.appendChild(d);f.appendChild(e);a.type=d.type=e.type="number";c.updateInput();f=function(){c.model.value= -c.getVec3Values()};c.registerEventListener(a,"change",f);c.registerEventListener(d,"change",f);c.registerEventListener(e,"change",f);c.model.changed.add(function(){c.updateInput()});return c}p(g,a);d(g,[{key:"getVec3Values",value:function(){var a=n.s.create();a[0]=this.verifyValue(this.inputx.valueAsNumber);a[1]=this.verifyValue(this.inputy.valueAsNumber);a[2]=this.verifyValue(this.inputz.valueAsNumber);return a}},{key:"verifyValue",value:function(a){return Object(c.n)(a)}},{key:"updateInput",value:function(){this.inputx.valueAsNumber= +c.getVec3Values()};c.registerEventListener(a,"change",f);c.registerEventListener(d,"change",f);c.registerEventListener(e,"change",f);c.model.changed.add(function(){c.updateInput()});return c}p(g,a);c(g,[{key:"getVec3Values",value:function(){var a=n.s.create();a[0]=this.verifyValue(this.inputx.valueAsNumber);a[1]=this.verifyValue(this.inputy.valueAsNumber);a[2]=this.verifyValue(this.inputz.valueAsNumber);return a}},{key:"verifyValue",value:function(a){return Object(d.n)(a)}},{key:"updateInput",value:function(){this.inputx.valueAsNumber= this.model.value[0];this.inputy.valueAsNumber=this.model.value[1];this.inputz.valueAsNumber=this.model.value[2]}},{key:"disposed",value:function(){var a=this.inputx,b=this.inputy,c=this.inputz,d=this.element;a.parentElement&&a.parentElement.removeChild(a);b.parentElement&&b.parentElement.removeChild(b);c.parentElement&&c.parentElement.removeChild(c);d.parentElement&&d.parentElement.removeChild(d);e(g.prototype.__proto__||Object.getPrototypeOf(g.prototype),"disposed",this).call(this)}}]);return g}(h.a)}, -function(h,f){},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return g});var p=a(299),n=a(4),c=a(7),b=a(14);h=a(15);var d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable= +function(h,f){},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return g});var p=a(299),n=a(4),d=a(7),b=a(14);h=a(15);var c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable= d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),e=function m(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return m(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};f=this&&this.__decorate||function(a,b,c,d){var e=arguments.length,g=3>e?b:null===d?d=Object.getOwnPropertyDescriptor(b, c):d,f;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var k=a.length-1;0<=k;k--)if(f=a[k])g=(3>e?f(g):3<e?f(b,c,g):f(b,c))||g;return 3<e&&g&&Object.defineProperty(b,c,g),g};var g=function(a){function g(){if(!(this instanceof g))throw new TypeError("Cannot call a class as a function");var a=(g.__proto__||Object.getPrototypeOf(g)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); -a=!a||"object"!==typeof a&&"function"!==typeof a?this:a;a.disjointSets=new p.a;a.changed=new c.a;return a}q(g,a);d(g,[{key:"disposed",value:function(){this.changed=this.disjointSets=void 0;e(g.prototype.__proto__||Object.getPrototypeOf(g.prototype),"disposed",this).call(this)}},{key:"link",value:function(a,b){if(this.disjointSets.link(a,b)){var c=this.rpc;c&&c.invoke("DisjointUint64Sets.add",{id:this.rpcId,al:a.low,ah:a.high,bl:b.low,bh:b.high});this.changed.dispatch()}}},{key:"get",value:function(a){return this.disjointSets.get(a)}}, +a=!a||"object"!==typeof a&&"function"!==typeof a?this:a;a.disjointSets=new p.a;a.changed=new d.a;return a}q(g,a);c(g,[{key:"disposed",value:function(){this.changed=this.disjointSets=void 0;e(g.prototype.__proto__||Object.getPrototypeOf(g.prototype),"disposed",this).call(this)}},{key:"link",value:function(a,b){if(this.disjointSets.link(a,b)){var c=this.rpc;c&&c.invoke("DisjointUint64Sets.add",{id:this.rpcId,al:a.low,ah:a.high,bl:b.low,bh:b.high});this.changed.dispatch()}}},{key:"get",value:function(a){return this.disjointSets.get(a)}}, {key:"clear",value:function(){if(this.disjointSets.clear()){var a=this.rpc;a&&a.invoke("DisjointUint64Sets.clear",{id:this.rpcId});this.changed.dispatch()}}},{key:"setElements",value:function(a){return this.disjointSets.setElements(a)}},{key:"toJSON",value:function(){return this.disjointSets.toJSON()}},{key:"restoreState",value:function(a){var c=this;this.clear();if(void 0!==a){var d=[new b.a,new b.a];Object(n.a)(a,function(a){Object(n.a)(a,function(a,b){d[b%2].parseString(String(a),10);0!==b&&c.link(d[0], d[1])})})}}},{key:"size",get:function(){return this.disjointSets.size}}],[{key:"makeWithCounterpart",value:function(a){var b=new this;b.initializeCounterpart(a);return b}}]);return g}(h.c);g=f([Object(h.f)("DisjointUint64Sets")],g);var l=new b.a,k=new b.a;Object(h.e)("DisjointUint64Sets.add",function(a){var b=this.get(a.id);l.low=a.al;l.high=a.ah;k.low=a.bl;k.high=a.bh;b.disjointSets.link(l,k)&&b.changed.dispatch()});Object(h.e)("DisjointUint64Sets.clear",function(a){a=this.get(a.id);a.disjointSets.clear()&& -a.changed.dispatch()})},function(h,f,a){function q(a){for(var b=a,c=a[d];c!==a;)a=c,c=a[d];for(a=b[d];c!==a;)b[d]=c,b=a,a=b[d];return c}function p(a){function b(b,f){for(;;)switch(c){case 0:g=!0,d=a;case 1:if(!g&&d===a){c=3;break}c=4;return{value:d,done:!1};case 4:if(void 0===f){c=5;break}c=-1;throw f;case 5:d=d[e];case 2:g=!1;c=1;break;case 3:c=-1;default:return{value:void 0,done:!0}}}var c=0,d,g,f={next:function(a){return b(a,void 0)},throw:function(a){return b(void 0,a)},return:function(a){throw Error("Not yet implemented"); -}};$jscomp.initSymbolIterator();f[Symbol.iterator]=function(){return this};return f}a.d(f,"a",function(){return k});var n=a(14),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();$jscomp.initSymbol();var b=Symbol("disjoint_sets:rank");$jscomp.initSymbol();var d=Symbol("disjoint_sets:parent");$jscomp.initSymbol(); -var e=Symbol("disjoint_sets:next");$jscomp.initSymbol();var g=Symbol("disjoint_sets:prev");$jscomp.initSymbol();var l=Symbol("disjoint_sets:min"),k=function(){function a(){if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");this.map=new Map;this.generation=0}$jscomp.initSymbol();$jscomp.initSymbolIterator();c(a,[{key:"get",value:function(a){var b=this.map.get(a.toString());return void 0===b?a:q(b)[l]}},{key:"isMinElement",value:function(a){var b=this.get(a);return b=== -a||n.a.equal(b,a)}},{key:"makeSet",value:function(a){var c=a.toString(),f=this.map,k=f.get(c);return void 0===k?(a=k=a.clone(),a[d]=a,a[b]=0,a[e]=a[g]=a,k[l]=k,f.set(c,k),k):q(k)}},{key:"link",value:function(a,c){a=this.makeSet(a);c=this.makeSet(c);if(a===c)return!1;this.generation++;var f=a;var k=c,h=f[b],m=k[b];h>m?k[d]=f:(f[d]=k,h===m&&(k[b]=m+1),f=k);k=a;h=c;m=k[g];var r=h[g];h[g]=m;m[e]=h;k[g]=r;r[e]=k;a=a[l];c=c[l];f[l]=n.a.less(a,c)?a:c;return!0}},{key:"setElements",value:function(a){function b(b, +a.changed.dispatch()})},function(h,f,a){function q(a){for(var b=a,d=a[c];d!==a;)a=d,d=a[c];for(a=b[c];d!==a;)b[c]=d,b=a,a=b[c];return d}function p(a){function b(b,f){for(;;)switch(c){case 0:g=!0,d=a;case 1:if(!g&&d===a){c=3;break}c=4;return{value:d,done:!1};case 4:if(void 0===f){c=5;break}c=-1;throw f;case 5:d=d[e];case 2:g=!1;c=1;break;case 3:c=-1;default:return{value:void 0,done:!0}}}var c=0,d,g,f={next:function(a){return b(a,void 0)},throw:function(a){return b(void 0,a)},return:function(a){throw Error("Not yet implemented"); +}};$jscomp.initSymbolIterator();f[Symbol.iterator]=function(){return this};return f}a.d(f,"a",function(){return k});var n=a(14),d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();$jscomp.initSymbol();var b=Symbol("disjoint_sets:rank");$jscomp.initSymbol();var c=Symbol("disjoint_sets:parent");$jscomp.initSymbol(); +var e=Symbol("disjoint_sets:next");$jscomp.initSymbol();var g=Symbol("disjoint_sets:prev");$jscomp.initSymbol();var l=Symbol("disjoint_sets:min"),k=function(){function a(){if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");this.map=new Map;this.generation=0}$jscomp.initSymbol();$jscomp.initSymbolIterator();d(a,[{key:"get",value:function(a){var b=this.map.get(a.toString());return void 0===b?a:q(b)[l]}},{key:"isMinElement",value:function(a){var b=this.get(a);return b=== +a||n.a.equal(b,a)}},{key:"makeSet",value:function(a){var d=a.toString(),f=this.map,k=f.get(d);return void 0===k?(a=k=a.clone(),a[c]=a,a[b]=0,a[e]=a[g]=a,k[l]=k,f.set(d,k),k):q(k)}},{key:"link",value:function(a,d){a=this.makeSet(a);d=this.makeSet(d);if(a===d)return!1;this.generation++;var f=a;var k=d,h=f[b],m=k[b];h>m?k[c]=f:(f[c]=k,h===m&&(k[b]=m+1),f=k);k=a;h=d;m=k[g];var r=h[g];h[g]=m;m[e]=h;k[g]=r;r[e]=k;a=a[l];d=d[l];f[l]=n.a.less(a,d)?a:d;return!0}},{key:"setElements",value:function(a){function b(b, l){for(;;)switch(c){case 0:f=a.toString();g=k.map.get(f);if(void 0!==g){c=1;break}c=3;return{value:a,done:!1};case 3:if(void 0===l){c=4;break}c=-1;throw l;case 4:c=2;break;case 1:e=$jscomp.makeIterator(p(g));case 5:if((d=e.next(b)).done){c=6;break}c=7;return{value:d.value,done:!1};case 7:if(void 0===l){c=8;break}c=-1;throw l;case 8:c=5;break;case 6:case 2:c=-1;default:return{value:void 0,done:!0}}}var c=0,d,e,g,f,k=this,l={next:function(a){return b(a,void 0)},throw:function(a){return b(void 0,a)}, return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();l[Symbol.iterator]=function(){return this};return l}},{key:"clear",value:function(){var a=this.map;if(0===a.size)return!1;++this.generation;a.clear();return!0}},{key:"mappings",value:function(a){function b(b,k){for(;;)switch(c){case 0:a=void 0===a?Array(2):a,g=$jscomp.makeIterator(f.map.values()),e=g.next();case 1:if(e.done){c=3;break}d=e.value;a[0]=d;a[1]=q(d)[l];c=4;return{value:a,done:!1};case 4:if(void 0===k){c= -5;break}c=-1;throw k;case 5:case 2:e=g.next();c=1;break;case 3:c=-1;default:return{value:void 0,done:!0}}}var c=0,d,e,g,f=this,k={next:function(a){return b(a,void 0)},throw:function(a){return b(void 0,a)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();k[Symbol.iterator]=function(){return this};return k}},{key:Symbol.iterator,value:function(){return this.mappings()}},{key:"toJSON",value:function(){for(var a=[],b=$jscomp.makeIterator(this.map.values()),c=b.next();!c.done;c= -b.next()){var e=c.value;if(e[d]===e){c=[];e=$jscomp.makeIterator(p(e));for(var g=e.next();!g.done;g=e.next())c.push(g.value);c.sort(n.a.compare);a.push(c)}}a.sort(function(a,b){return n.a.compare(a[0],b[0])});return a.map(function(a){return a.map(function(a){return a.toString()})})}},{key:"size",get:function(){return this.map.size}}]);return a}()},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b); -a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return d});var p=a(65),n=a(7);h=a(15);var c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),b=function l(a,b, +5;break}c=-1;throw k;case 5:case 2:e=g.next();c=1;break;case 3:c=-1;default:return{value:void 0,done:!0}}}var c=0,d,e,g,f=this,k={next:function(a){return b(a,void 0)},throw:function(a){return b(void 0,a)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();k[Symbol.iterator]=function(){return this};return k}},{key:Symbol.iterator,value:function(){return this.mappings()}},{key:"toJSON",value:function(){for(var a=[],b=$jscomp.makeIterator(this.map.values()),d=b.next();!d.done;d= +b.next()){var e=d.value;if(e[c]===e){d=[];e=$jscomp.makeIterator(p(e));for(var g=e.next();!g.done;g=e.next())d.push(g.value);d.sort(n.a.compare);a.push(d)}}a.sort(function(a,b){return n.a.compare(a[0],b[0])});return a.map(function(a){return a.map(function(a){return a.toString()})})}},{key:"size",get:function(){return this.map.size}}]);return a}()},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b); +a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return c});var p=a(66),n=a(7);h=a(15);var d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),b=function l(a,b, c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return l(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};f=this&&this.__decorate||function(a,b,c,d){var e=arguments.length,f=3>e?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d,k;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)f=Reflect.decorate(a,b,c,d);else for(var l=a.length-1;0<=l;l--)if(k=a[l])f=(3>e? -k(f):3<e?k(b,c,f):k(b,c))||f;return 3<e&&f&&Object.defineProperty(b,c,f),f};var d=e=function(a){function d(){if(!(this instanceof d))throw new TypeError("Cannot call a class as a function");var a=(d.__proto__||Object.getPrototypeOf(d)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");a=!a||"object"!==typeof a&&"function"!==typeof a?this:a;a.hashTable=new p.b;a.changed=new n.b;return a}q(d,a);$jscomp.initSymbol();$jscomp.initSymbolIterator(); -c(d,[{key:"disposed",value:function(){b(d.prototype.__proto__||Object.getPrototypeOf(d.prototype),"disposed",this).call(this);this.changed=this.hashTable=void 0}},{key:"add_",value:function(a){return this.hashTable.add(a)}},{key:"add",value:function(a){if(this.add_(a)){var b=this.rpc;b&&b.invoke("Uint64Set.add",{id:this.rpcId,value:a});this.changed.dispatch(a,!0)}}},{key:"has",value:function(a){return this.hashTable.has(a)}},{key:Symbol.iterator,value:function(){return this.hashTable.keys()}},{key:"delete_", +k(f):3<e?k(b,c,f):k(b,c))||f;return 3<e&&f&&Object.defineProperty(b,c,f),f};var c=e=function(a){function c(){if(!(this instanceof c))throw new TypeError("Cannot call a class as a function");var a=(c.__proto__||Object.getPrototypeOf(c)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");a=!a||"object"!==typeof a&&"function"!==typeof a?this:a;a.hashTable=new p.b;a.changed=new n.b;return a}q(c,a);$jscomp.initSymbol();$jscomp.initSymbolIterator(); +d(c,[{key:"disposed",value:function(){b(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"disposed",this).call(this);this.changed=this.hashTable=void 0}},{key:"add_",value:function(a){return this.hashTable.add(a)}},{key:"add",value:function(a){if(this.add_(a)){var b=this.rpc;b&&b.invoke("Uint64Set.add",{id:this.rpcId,value:a});this.changed.dispatch(a,!0)}}},{key:"has",value:function(a){return this.hashTable.has(a)}},{key:Symbol.iterator,value:function(){return this.hashTable.keys()}},{key:"delete_", value:function(a){return this.hashTable.delete(a)}},{key:"delete",value:function(a){if(this.delete_(a)){var b=this.rpc;b&&b.invoke("Uint64Set.delete",{id:this.rpcId,value:a});this.changed.dispatch(a,!1)}}},{key:"clear",value:function(){if(this.hashTable.clear()){var a=this.rpc;a&&a.invoke("Uint64Set.clear",{id:this.rpcId});this.changed.dispatch(null,!1)}}},{key:"toJSON",value:function(){for(var a=[],b=$jscomp.makeIterator(this),c=b.next();!c.done;c=b.next())a.push(c.value.toString());a.sort();return a}}, -{key:"size",get:function(){return this.hashTable.size}}],[{key:"makeWithCounterpart",value:function(a){var b=new e;b.initializeCounterpart(a);return b}}]);return d}(h.c);d=e=f([Object(h.f)("Uint64Set")],d);Object(h.e)("Uint64Set.add",function(a){var b=this.get(a.id);b.add_(a.value)&&b.changed.dispatch()});Object(h.e)("Uint64Set.delete",function(a){var b=this.get(a.id);b.delete_(a.value)&&b.changed.dispatch()});Object(h.e)("Uint64Set.clear",function(a){a=this.get(a.id);a.hashTable.clear()&&a.changed.dispatch()}); +{key:"size",get:function(){return this.hashTable.size}}],[{key:"makeWithCounterpart",value:function(a){var b=new e;b.initializeCounterpart(a);return b}}]);return c}(h.c);c=e=f([Object(h.f)("Uint64Set")],c);Object(h.e)("Uint64Set.add",function(a){var b=this.get(a.id);b.add_(a.value)&&b.changed.dispatch()});Object(h.e)("Uint64Set.delete",function(a){var b=this.get(a.id);b.delete_(a.value)&&b.changed.dispatch()});Object(h.e)("Uint64Set.clear",function(a){a=this.get(a.id);a.hashTable.clear()&&a.changed.dispatch()}); var e},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__= -b)}a.d(f,"a",function(){return d});h=a(1);f=a(14);var n=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),c=function g(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return g(a,b,c)}else{if("value"in d)return d.value;b= -d.get;return void 0===b?void 0:b.call(c)}};a(45);a(302);var b=new f.a,d=function(a){function d(a){if(!(this instanceof d))throw new TypeError("Cannot call a class as a function");var b=q(this,(d.__proto__||Object.getPrototypeOf(d)).call(this));b.displayState=a;b.element=document.createElement("div");b.clearButton=document.createElement("button");b.itemContainer=document.createElement("span");b.items=new Map;var c=b.element,g=b.clearButton,f=b.itemContainer;c.className="segment-set-widget neuroglancer-noselect"; -g.className="clear-button";g.title="Remove all segment IDs";b.registerEventListener(g,"click",function(){b.visibleSegments.clear()});f.className="item-container";c.appendChild(f);f.appendChild(g);b.registerDisposer(a.visibleSegments.changed.add(function(a,c){b.handleSetChanged(a,c)}));b.registerDisposer(a.segmentColorHash.changed.add(function(){b.handleColorChanged()}));a=$jscomp.makeIterator(a.visibleSegments);for(c=a.next();!c.done;c=a.next())b.addElement(c.value.toString());b.updateClearButtonVisibility(); -return b}p(d,a);n(d,[{key:"updateClearButtonVisibility",value:function(){this.clearButton.style.display=0<this.displayState.visibleSegments.size?"":"none"}},{key:"handleSetChanged",value:function(a,b){this.updateClearButtonVisibility();var c=this.items;if(null===a){a=this.itemContainer;for(b=this.clearButton;;){var d=a.lastElementChild;if(d===b)break;a.removeChild(d)}c.clear()}else b?this.addElement(a.toString()):(a=a.toString(),b=c.get(a),b.parentElement.removeChild(b),c.delete(a))}},{key:"addElement", +b)}a.d(f,"a",function(){return c});h=a(1);f=a(14);var n=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),d=function g(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return g(a,b,c)}else{if("value"in d)return d.value;b= +d.get;return void 0===b?void 0:b.call(c)}};a(45);a(302);var b=new f.a,c=function(a){function c(a){if(!(this instanceof c))throw new TypeError("Cannot call a class as a function");var b=q(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));b.displayState=a;b.element=document.createElement("div");b.clearButton=document.createElement("button");b.itemContainer=document.createElement("span");b.items=new Map;var d=b.element,g=b.clearButton,f=b.itemContainer;d.className="segment-set-widget neuroglancer-noselect"; +g.className="clear-button";g.title="Remove all segment IDs";b.registerEventListener(g,"click",function(){b.visibleSegments.clear()});f.className="item-container";d.appendChild(f);f.appendChild(g);b.registerDisposer(a.visibleSegments.changed.add(function(a,c){b.handleSetChanged(a,c)}));b.registerDisposer(a.segmentColorHash.changed.add(function(){b.handleColorChanged()}));a=$jscomp.makeIterator(a.visibleSegments);for(d=a.next();!d.done;d=a.next())b.addElement(d.value.toString());b.updateClearButtonVisibility(); +return b}p(c,a);n(c,[{key:"updateClearButtonVisibility",value:function(){this.clearButton.style.display=0<this.displayState.visibleSegments.size?"":"none"}},{key:"handleSetChanged",value:function(a,b){this.updateClearButtonVisibility();var c=this.items;if(null===a){a=this.itemContainer;for(b=this.clearButton;;){var d=a.lastElementChild;if(d===b)break;a.removeChild(d)}c.clear()}else b?this.addElement(a.toString()):(a=a.toString(),b=c.get(a),b.parentElement.removeChild(b),c.delete(a))}},{key:"addElement", value:function(a){var c=document.createElement("button");c.className="segment-button";c.textContent=a;c.title="Remove segment ID "+a;var d=this;c.addEventListener("click",function(){b.tryParseString(this.textContent);d.visibleSegments.delete(b)});c.addEventListener("mouseenter",function(){b.tryParseString(this.textContent);d.segmentSelectionState.set(b)});c.addEventListener("mouseleave",function(){b.tryParseString(this.textContent);d.segmentSelectionState.set(null)});this.setItemColor(c);this.itemContainer.appendChild(c); -this.items.set(a,c)}},{key:"setItemColor",value:function(a){b.tryParseString(a.textContent);a.style.backgroundColor=this.segmentColorHash.computeCssColor(b)}},{key:"handleColorChanged",value:function(){var a=this;this.items.forEach(function(b){a.setItemColor(b)})}},{key:"disposed",value:function(){var a=this.element,b=a.parentElement;b&&b.removeChild(a);c(d.prototype.__proto__||Object.getPrototypeOf(d.prototype),"disposed",this).call(this)}},{key:"visibleSegments",get:function(){return this.displayState.visibleSegments}}, -{key:"segmentColorHash",get:function(){return this.displayState.segmentColorHash}},{key:"segmentSelectionState",get:function(){return this.displayState.segmentSelectionState}}]);return d}(h.a)},function(h,f){},function(h,f){},function(h,f){},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+ -typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,c){void 0!==c&&Object(w.a)(c,function(c,d){a.add({type:b.c.POINT,id:""+d,point:Object(w.k)(c)})})}function c(a){a=a.layer;return null===a||a instanceof k.SegmentationUserLayer?!0:!1}Object.defineProperty(f,"__esModule",{value:!0});a.d(f,"AnnotationUserLayer",function(){return z});var b=a(28),d=a(72),e= -a(58),g=a(18);h=a(27);var l=a(57),k=a(64),t=a(31),m=a(35),r=a(9),u=a(107);f=a(110);var v=a(2),w=a(4),y=a(307),x=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),A=function E(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!== -a)return E(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(308);var z=function(a){function f(a,k){if(!(this instanceof f))throw new TypeError("Cannot call a class as a function");var h=q(this,(f.__proto__||Object.getPrototypeOf(f)).call(this,a,k));h.localAnnotations=h.registerDisposer(new b.d);h.voxelSize=new l.h;h.linkedSegmentationLayer=h.registerDisposer(new g.b(h.manager.rootLayers.addRef(),c));h.filterBySegmentation=new m.b(!1);var r=h.sourceUrl=k.source; +this.items.set(a,c)}},{key:"setItemColor",value:function(a){b.tryParseString(a.textContent);a.style.backgroundColor=this.segmentColorHash.computeCssColor(b)}},{key:"handleColorChanged",value:function(){var a=this;this.items.forEach(function(b){a.setItemColor(b)})}},{key:"disposed",value:function(){var a=this.element,b=a.parentElement;b&&b.removeChild(a);d(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"disposed",this).call(this)}},{key:"visibleSegments",get:function(){return this.displayState.visibleSegments}}, +{key:"segmentColorHash",get:function(){return this.displayState.segmentColorHash}},{key:"segmentSelectionState",get:function(){return this.displayState.segmentSelectionState}}]);return c}(h.a)},function(h,f){},function(h,f){},function(h,f){},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+ +typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,c){void 0!==c&&Object(w.a)(c,function(c,d){a.add({type:b.c.POINT,id:""+d,point:Object(w.k)(c)})})}function d(a){a=a.layer;return null===a||a instanceof k.SegmentationUserLayer?!0:!1}Object.defineProperty(f,"__esModule",{value:!0});a.d(f,"AnnotationUserLayer",function(){return z});var b=a(28),c=a(73),e= +a(58),g=a(18);h=a(27);var l=a(57),k=a(65),t=a(31),m=a(35),r=a(9),u=a(108);f=a(111);var v=a(2),w=a(4),y=a(307),x=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),A=function E(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!== +a)return E(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(308);var z=function(a){function f(a,k){if(!(this instanceof f))throw new TypeError("Cannot call a class as a function");var h=q(this,(f.__proto__||Object.getPrototypeOf(f)).call(this,a,k));h.localAnnotations=h.registerDisposer(new b.d);h.voxelSize=new l.h;h.linkedSegmentationLayer=h.registerDisposer(new g.b(h.manager.rootLayers.addRef(),d));h.filterBySegmentation=new m.b(!1);var r=h.sourceUrl=k.source; h.linkedSegmentationLayer.restoreState(k.linkedSegmentationLayer);h.filterBySegmentation.restoreState(k.filterBySegmentation);if(void 0===r){h.isReady=!0;h.voxelSize.restoreState(k.voxelSize);h.localAnnotations.restoreState(k.annotations);n(h.localAnnotations,k.points);var p=!1;k=function(){!h.voxelSize.valid&&a.voxelSize.valid&&(v.s.copy(h.voxelSize.size,a.voxelSize.size),h.voxelSize.setValid());if(h.voxelSize.valid&&!1===p){var b=new e.a;h.registerDisposer(Object(e.b)(b,h.transform,function(a,b){var c= -v.k.fromScaling(v.k.create(),h.voxelSize.size);v.k.multiply(a,b,c)}));h.annotationLayerState.value=new d.b(Object.assign({transform:b,source:h.localAnnotations.addRef()},h.getAnnotationRenderOptions()));p=!0}};h.registerDisposer(h.localAnnotations.changed.add(h.specificationChanged.dispatch));h.registerDisposer(h.voxelSize.changed.add(h.specificationChanged.dispatch));h.registerDisposer(h.filterBySegmentation.changed.add(h.specificationChanged.dispatch));h.registerDisposer(h.voxelSize.changed.add(k)); -h.registerDisposer(h.manager.voxelSize.changed.add(k));k()}else t.a.forPromise(h.manager.dataSourceProvider.getAnnotationSource(h.manager.chunkManager,r),{initialMessage:"Retrieving metadata for volume "+r+".",delay:!0,errorPrefix:"Error retrieving metadata for volume "+r+": "}).then(function(a){h.wasDisposed||(h.annotationLayerState.value=new d.b(Object.assign({transform:h.transform,source:a},h.getAnnotationRenderOptions())),h.isReady=!0)});h.tabs.default="annotations";return h}p(f,a);x(f,[{key:"getAnnotationRenderOptions", +v.k.fromScaling(v.k.create(),h.voxelSize.size);v.k.multiply(a,b,c)}));h.annotationLayerState.value=new c.b(Object.assign({transform:b,source:h.localAnnotations.addRef()},h.getAnnotationRenderOptions()));p=!0}};h.registerDisposer(h.localAnnotations.changed.add(h.specificationChanged.dispatch));h.registerDisposer(h.voxelSize.changed.add(h.specificationChanged.dispatch));h.registerDisposer(h.filterBySegmentation.changed.add(h.specificationChanged.dispatch));h.registerDisposer(h.voxelSize.changed.add(k)); +h.registerDisposer(h.manager.voxelSize.changed.add(k));k()}else t.a.forPromise(h.manager.dataSourceProvider.getAnnotationSource(h.manager.chunkManager,r),{initialMessage:"Retrieving metadata for volume "+r+".",delay:!0,errorPrefix:"Error retrieving metadata for volume "+r+": "}).then(function(a){h.wasDisposed||(h.annotationLayerState.value=new c.b(Object.assign({transform:h.transform,source:a},h.getAnnotationRenderOptions())),h.isReady=!0)});h.tabs.default="annotations";return h}p(f,a);x(f,[{key:"getAnnotationRenderOptions", value:function(){var a=this,b=new r.f(void 0),c=function(){var c=a.linkedSegmentationLayer;if(void 0===c.layerName)c=null;else a:{c=c.layer;if(void 0!==c&&(c=c.layer,null!==c&&c instanceof k.SegmentationUserLayer)){c=c.displayState;break a}c=void 0}b.value=c};this.registerDisposer(this.linkedSegmentationLayer.changed.add(c));c();return Object.assign({segmentationState:b,filterBySegmentation:this.filterBySegmentation},Object(u.b)(this))}},{key:"initializeAnnotationLayerViewTab",value:function(a){var b= a.registerDisposer(new y.a(this.linkedSegmentationLayer));b.element.insertBefore(document.createTextNode("Linked segmentation: "),b.element.firstChild);a.element.appendChild(b.element);b=this.registerDisposer(new m.c(a.annotationLayer.filterBySegmentation));var c=document.createElement("label");c.textContent="Filter by segmentation: ";c.appendChild(b.element);a.element.appendChild(c);a.registerDisposer(new m.a(this.registerDisposer(Object(r.g)(function(a){return void 0!==a},a.annotationLayer.segmentationState)), c))}},{key:"toJSON",value:function(){var a=A(f.prototype.__proto__||Object.getPrototypeOf(f.prototype),"toJSON",this).call(this);a.type="annotation";a.source=this.sourceUrl;void 0===this.sourceUrl&&(a.annotations=this.localAnnotations.toJSON(),a.voxelSize=this.voxelSize.toJSON());a.linkedSegmentationLayer=this.linkedSegmentationLayer.toJSON();a.filterBySegmentation=this.filterBySegmentation.toJSON();return a}}]);return f}(Object(u.a)(Object(f.a)(g.i)));Object(h.e)("annotation",z);Object(h.e)("pointAnnotation", -z)},function(h,f,a){a.d(f,"a",function(){return c});var q=a(4),p=a(7),n=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,g){c&&a(b.prototype,c);g&&a(b,g);return b}}(),c=function(){function a(b,c,g){g=void 0===g?c:g;if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");this.enumType=b;this.value_=c;this.defaultValue=g;this.changed= +z)},function(h,f,a){a.d(f,"a",function(){return d});var q=a(4),p=a(7),n=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,d,g){d&&a(b.prototype,d);g&&a(b,g);return b}}(),d=function(){function a(b,d,g){g=void 0===g?d:g;if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");this.enumType=b;this.value_=d;this.defaultValue=g;this.changed= new p.a}n(a,[{key:"reset",value:function(){this.value=this.defaultValue}},{key:"restoreState",value:function(a){this.value=Object(q.m)(a,this.enumType)}},{key:"toJSON",value:function(){return this.enumType[this.value_].toLowerCase()}},{key:"value",set:function(a){this.value_!==a&&(this.value_=a,this.changed.dispatch())},get:function(){return this.value_}}]);return a}()},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b|| -"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return d});h=a(10);var n=a.n(h);h=a(1);var c=a(8),b=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c]; -d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),d=function(a){function d(a){if(!(this instanceof d))throw new TypeError("Cannot call a class as a function");var b=q(this,(d.__proto__||Object.getPrototypeOf(d)).call(this));b.ref=a;b.element=document.createElement("label");b.selectElement=document.createElement("select");b.registerDisposer(a);a=b.selectElement;b.element.appendChild(a); -b.updateView();b.registerEventListener(a,"change",function(){return b.updateModel()});b.registerDisposer(b.ref.changed.add(n()(function(){return b.updateView()},0)));return b}p(d,a);b(d,[{key:"updateModel",value:function(){this.ref.layerName=this.selectElement.value||void 0}},{key:"updateView",value:function(){var a=this.selectElement,b=this.ref,d=b.filter;Object(c.a)(a);var e=document.createElement("option");a.appendChild(e);e=$jscomp.makeIterator(this.ref.layerManager.managedLayers);for(var g=e.next();!g.done;g= -e.next()){var f=g.value;d(f)&&(g=document.createElement("option"),f=f.name,g.textContent=f,g.value=f,a.appendChild(g))}a.value=b.layerName||""}}]);return d}(h.a)},function(h,f){},function(h,f,a){Object.defineProperty(f,"__esModule",{value:!0});a.d(f,"getNgPatchableObj",function(){return c});var q=a(178),p=a(18),n=a(179);a.d(f,"createNehubaViewer",function(){return n.b});a.d(f,"NehubaViewer",function(){return n.a});a.d(f,"layoutEventType",function(){return n.c});a.d(f,"perspectiveRenderEventType", -function(){return n.d});a.d(f,"quat",function(){return n.e});a.d(f,"sliceRenderEventType",function(){return n.f});a.d(f,"vec3",function(){return n.g});a.d(f,"vec4",function(){return n.h});var c=function(){return{UrlHashBinding:q.a,LayerManager:p.a}}},function(h,f,a){function q(a){return a.map(function(a){return{name:a.name,value:a.layer}}).filter(function(a){return!!a.value}).map(function(a){return{name:a.name,userLayer:a.value}})}function p(a){return a.map(function(a){var b=a.layer.userLayer,c=b.getValueAt(a.mouse.position, -a.mouse),d=b.volumePath;d||(d=b.parameters.meshSourceUrl);return{value:0===c?0:c?c:null,layer:{name:a.layer.name,url:d?d:void 0}}})}f.b=function(a,b){return w.create(a,b)};a.d(f,"a",function(){return w});var n=a(14),c=a(106),b=a(64),d=a(311),e=a(359),g=a(193),l=a(121),k=a(179),t=a(122),m=a(123),r=a(363),u=a(194);a.n(u);a(647);var v=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a, -d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),w=function(){function a(d,e,f){var l=this;if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");this.errorHandler=f;this.onError=function(a){l.errorHandler&&(a instanceof Error?l.errorHandler(a):l.errorHandler(Error(a)))};this.ngviewer=d;this._config=e;var h=d.navigationState;this.navigationState={position:{inRealSpace:Object(r.a)(h.position,function(a){return k.g.clone(a.spatialCoordinates)}),inVoxels:Object(r.a)(h.position, -function(a){var b=k.g.create();if(a.getVoxelCoordinates(b)){for(a=0;3>a;++a)b[a]=Math.floor(b[a]);return b}return null},{share:!1}).notNull().publishReplay(1).refCount()},orientation:Object(r.a)(h.pose.orientation,function(a){return k.e.clone(a.orientation)}),sliceZoom:Object(r.a)({s:h.zoomFactor,r:h},function(a){return a.value}),perspectiveZoom:Object(r.a)({s:d.perspectiveNavigationState.zoomFactor,r:d.perspectiveNavigationState},function(a){return a.value}),perspectiveOrientation:Object(r.a)(d.perspectiveNavigationState.pose.orientation, -function(a){return k.e.clone(a.orientation)}),full:Object(r.a)(h,function(a){return{position:k.g.clone(a.position.spatialCoordinates),orientation:k.e.clone(a.pose.orientation.orientation),zoom:a.zoomFactor.value}}),get all(){var a=this.perspectiveZoom.combineLatest(this.perspectiveOrientation,function(a,b){return{perspectiveZoom:a,perspectiveOrientation:b}});return this.full.combineLatest(a,function(a,b){return Object.assign({},a,b)}).publishReplay(1).refCount()}};e=Object(r.a)({s:d.mouseState,r:d}, -function(a){return a.active?k.g.clone(a.position):null});this.mousePosition={inRealSpace:e,inVoxels:e.map(function(a){if(a){a=h.pose.position.voxelSize.voxelFromSpatial(k.g.create(),a);for(var b=0;3>b;++b)a[b]=Math.round(a[b])}return a}).publishReplay(1).refCount()};e=d.layerManager;e=Object(r.a)({s:{changed:e.layersChanged,layerManager:e},r:e},function(a){return a.layerManager}).concatMap(function(a){return u.Observable.from(a.managedLayers)});this._createdSegmentationUserLayers=e.map(function(a){return a.layer}).notNull().filter(function(a){return a instanceof +"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return c});h=a(10);var n=a.n(h);h=a(1);var d=a(8),b=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c]; +d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),c=function(a){function c(a){if(!(this instanceof c))throw new TypeError("Cannot call a class as a function");var b=q(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));b.ref=a;b.element=document.createElement("label");b.selectElement=document.createElement("select");b.registerDisposer(a);a=b.selectElement;b.element.appendChild(a); +b.updateView();b.registerEventListener(a,"change",function(){return b.updateModel()});b.registerDisposer(b.ref.changed.add(n()(function(){return b.updateView()},0)));return b}p(c,a);b(c,[{key:"updateModel",value:function(){this.ref.layerName=this.selectElement.value||void 0}},{key:"updateView",value:function(){var a=this.selectElement,b=this.ref,c=b.filter;Object(d.a)(a);var e=document.createElement("option");a.appendChild(e);e=$jscomp.makeIterator(this.ref.layerManager.managedLayers);for(var g=e.next();!g.done;g= +e.next()){var f=g.value;c(f)&&(g=document.createElement("option"),f=f.name,g.textContent=f,g.value=f,a.appendChild(g))}a.value=b.layerName||""}}]);return c}(h.a)},function(h,f){},function(h,f,a){Object.defineProperty(f,"__esModule",{value:!0});a.d(f,"getNgPatchableObj",function(){return e});a.d(f,"getNgHash",function(){return g});var q=a(178),p=a(18),n=a(60),d=a(82),b=a(22),c=a(180);a.d(f,"createNehubaViewer",function(){return c.b});a.d(f,"NehubaViewer",function(){return c.a});a.d(f,"layoutEventType", +function(){return c.c});a.d(f,"perspectiveRenderEventType",function(){return c.d});a.d(f,"quat",function(){return c.e});a.d(f,"sliceRenderEventType",function(){return c.f});a.d(f,"vec3",function(){return c.g});a.d(f,"vec4",function(){return c.h});a.d(f,"registerActionListener",function(){return b.c});var e=function(){return{UrlHashBinding:q.a,LayerManager:p.a,SliceViewPanel:n.a,PerspectivePanel:d.b}},g=function(){if(!window.viewer)return null;var a=JSON.stringify(window.viewer.state.toJSON());return"#!"+ +encodeURI(a).replace(/[!'()*;,]/g,function(a){return"%"+a.charCodeAt(0).toString(16).toUpperCase()})}},function(h,f,a){f.c="perspective_view/PerspectiveView";f.a="perspective_view/addLayer";f.b="perspective_view/removeLayer"},function(h,f){},function(h,f,a){function q(a){return a.map(function(a){return{name:a.name,value:a.layer}}).filter(function(a){return!!a.value}).map(function(a){return{name:a.name,userLayer:a.value}})}function p(a){return a.map(function(a){var b=a.layer.userLayer,c=b.getValueAt(a.mouse.position, +a.mouse),d=b.volumePath;d||(d=b.parameters.meshSourceUrl);return{value:0===c?0:c?c:null,layer:{name:a.layer.name,url:d?d:void 0}}})}f.b=function(a,b){return w.create(a,b)};a.d(f,"a",function(){return w});var n=a(14),d=a(107),b=a(65),c=a(313),e=a(359),g=a(193),l=a(121),k=a(180),t=a(122),m=a(123),r=a(363),u=a(194);a.n(u);a(647);var v=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a, +d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),w=function(){function a(c,e,f){var l=this;if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");this.errorHandler=f;this.onError=function(a){l.errorHandler&&(a instanceof Error?l.errorHandler(a):l.errorHandler(Error(a)))};this.ngviewer=c;this._config=e;var h=c.navigationState;this.navigationState={position:{inRealSpace:Object(r.a)(h.position,function(a){return k.g.clone(a.spatialCoordinates)}),inVoxels:Object(r.a)(h.position, +function(a){var b=k.g.create();if(a.getVoxelCoordinates(b)){for(a=0;3>a;++a)b[a]=Math.floor(b[a]);return b}return null},{share:!1}).notNull().publishReplay(1).refCount()},orientation:Object(r.a)(h.pose.orientation,function(a){return k.e.clone(a.orientation)}),sliceZoom:Object(r.a)({s:h.zoomFactor,r:h},function(a){return a.value}),perspectiveZoom:Object(r.a)({s:c.perspectiveNavigationState.zoomFactor,r:c.perspectiveNavigationState},function(a){return a.value}),perspectiveOrientation:Object(r.a)(c.perspectiveNavigationState.pose.orientation, +function(a){return k.e.clone(a.orientation)}),full:Object(r.a)(h,function(a){return{position:k.g.clone(a.position.spatialCoordinates),orientation:k.e.clone(a.pose.orientation.orientation),zoom:a.zoomFactor.value}}),get all(){var a=this.perspectiveZoom.combineLatest(this.perspectiveOrientation,function(a,b){return{perspectiveZoom:a,perspectiveOrientation:b}});return this.full.combineLatest(a,function(a,b){return Object.assign({},a,b)}).publishReplay(1).refCount()}};e=Object(r.a)({s:c.mouseState,r:c}, +function(a){return a.active?k.g.clone(a.position):null});this.mousePosition={inRealSpace:e,inVoxels:e.map(function(a){if(a){a=h.pose.position.voxelSize.voxelFromSpatial(k.g.create(),a);for(var b=0;3>b;++b)a[b]=Math.round(a[b])}return a}).publishReplay(1).refCount()};e=c.layerManager;e=Object(r.a)({s:{changed:e.layersChanged,layerManager:e},r:e},function(a){return a.layerManager}).concatMap(function(a){return u.Observable.from(a.managedLayers)});this._createdSegmentationUserLayers=e.map(function(a){return a.layer}).notNull().filter(function(a){return a instanceof b.SegmentationUserLayer}).map(function(a){return a});this.createdSegmentationUserLayers.subscribe(function(a){l.config.disableSegmentSelection&&Object(g.d)(a)});this.createdSegmentationUserLayers.subscribe(function(a){l.config.disableSegmentHighlighting&&Object(g.c)(a)});this.createdSegmentationUserLayers.subscribe(function(a){l.config.enableMeshLoadingControl&&(a=a.displayState,a.visibleSegments instanceof m.b||(a.visibleSegments=new m.b(a.visibleSegments)))});e=e.let(q).filter(function(a){return a.userLayer instanceof -b.SegmentationUserLayer}).map(function(a){return{name:a.name,layer:a.userLayer}}).unseen(function(a){return a.layer}).flatMap(function(a){var b=a.name,c=a.layer.volumePath;return Object(r.a)(a.layer.displayState.segmentSelectionState,function(a){return{segment:a.hasSelectedSegment?l.segmentToNumber(a.selectedSegment):null,layer:{name:b,url:c}}})}).publishReplay(1).refCount();f=Object(r.a)(d.layerSelectedValues,function(a){return a}).concatMap(function(a){return u.Observable.from(a.layerManager.managedLayers).filter(function(a){return a.visible}).let(q).map(function(b){return{mouse:a.mouseState, -layer:b}})});d=f.filter(function(a){return a.layer.userLayer instanceof c.ImageUserLayer}).let(p).map(function(a){return Object.assign({},a,{layer:Object.assign({},a.layer,{url:a.layer.url})})});f=f.let(p);this.mouseOver={segment:e,image:d,layer:f}}v(a,[{key:"addMouseOverSegmentCallback",value:function(a){var b=this.mouseOver.segment.subscribe(function(b){return a(b.segment,b.layer)},this.onError);return function(){return b.unsubscribe()}}},{key:"addMouseEnterSegmentCallback",value:function(a){var b= +b.SegmentationUserLayer}).map(function(a){return{name:a.name,layer:a.userLayer}}).unseen(function(a){return a.layer}).flatMap(function(a){var b=a.name,c=a.layer.volumePath;return Object(r.a)(a.layer.displayState.segmentSelectionState,function(a){return{segment:a.hasSelectedSegment?l.segmentToNumber(a.selectedSegment):null,layer:{name:b,url:c}}})}).publishReplay(1).refCount();f=Object(r.a)(c.layerSelectedValues,function(a){return a}).concatMap(function(a){return u.Observable.from(a.layerManager.managedLayers).filter(function(a){return a.visible}).let(q).map(function(b){return{mouse:a.mouseState, +layer:b}})});c=f.filter(function(a){return a.layer.userLayer instanceof d.ImageUserLayer}).let(p).map(function(a){return Object.assign({},a,{layer:Object.assign({},a.layer,{url:a.layer.url})})});f=f.let(p);this.mouseOver={segment:e,image:c,layer:f}}v(a,[{key:"addMouseOverSegmentCallback",value:function(a){var b=this.mouseOver.segment.subscribe(function(b){return a(b.segment,b.layer)},this.onError);return function(){return b.unsubscribe()}}},{key:"addMouseEnterSegmentCallback",value:function(a){var b= this.mouseOver.segment.filter(function(a){return null!==a.segment}).subscribe(function(b){return a(b.segment,b.layer)},this.onError);return function(){return b.unsubscribe()}}},{key:"addMouseLeaveSegmentsCallback",value:function(a){var b=this.mouseOver.segment.filter(function(a){return null===a.segment}).subscribe(function(){return a()},this.onError);return function(){return b.unsubscribe()}}},{key:"addNavigationStateCallbackInRealSpaceCoordinates",value:function(a){var b=this.navigationState.position.inRealSpace.subscribe(function(b){return a(b)}, this.onError);return function(){return b.unsubscribe()}}},{key:"addNavigationStateCallbackInVoxelCoordinates",value:function(a){var b=this.navigationState.position.inVoxels.subscribe(function(b){return a(b)},this.onError);return function(){return b.unsubscribe()}}},{key:"addMousePositionCallbackInRealSpaceCoordinates",value:function(a){var b=this.mousePosition.inRealSpace.subscribe(function(b){return a(b)},this.onError);return function(){return b.unsubscribe()}}},{key:"addMousePositionCallbackInVoxelCoordinates", value:function(a){var b=this.mousePosition.inVoxels.subscribe(function(b){return a(b)},this.onError);return function(){return b.unsubscribe()}}},{key:"setPosition",value:function(a,b){var c=this.ngviewer.navigationState.pose.position;b?(k.g.copy(c.spatialCoordinates,a),c.markSpatialCoordinatesChanged()):c.setVoxelCoordinates(a)}},{key:"showSegment",value:function(a,b){this.getSingleSegmentation(b).displayState.visibleSegments.add(new n.a(a))}},{key:"hideSegment",value:function(a,b){this.getSingleSegmentation(b).displayState.visibleSegments.delete(new n.a(a))}}, @@ -1829,50 +1830,50 @@ value:function(a,b){this.getSingleSegmentationColors(b).unsetSegmentColor(a)}},{ !0}},{key:"restoreState",value:function(b){a.restoreViewerState(this.ngviewer,b,this.config)}},{key:"getSingleSegmentationColors",value:function(a){a=this.getSingleSegmentation(a).displayState.segmentColorHash;if(a instanceof t.a)return a;throw Error("Looks like neuroglancer was not patched and hooked to support custom segment colors. Are you sure you enabled it by `config.globals.useCustomSegmentColors: true` or similar?");}},{key:"getSingleSegmentation",value:function(a){var c=this.ngviewer.layerManager.managedLayers.filter(function(b){return!a|| !a.name||b.name===a.name}).map(function(a){return a.layer}).filter(function(a){return!!a}).filter(function(a){return a instanceof b.SegmentationUserLayer}).map(function(a){return a}).filter(function(b){return!a||!a.url||b.volumePath===a.url});0===c.length&&this.throwError("No parcellation found");1<c.length&&this.throwError("Ambiguous request. Multiple parcellations found");return c[0]}},{key:"segmentToNumber",value:function(a){0!==a.high&&this.throwError("Segment id number does not fit into 32 bit integer "+ a.toString(10));return a.low}},{key:"throwError",value:function(a){a=Error(a);var b=this.errorHandler;b&&b(a);throw a;}},{key:"checkRGB",value:function(a){this.checkRGBValue(a.red,"red");this.checkRGBValue(a.green,"green");this.checkRGBValue(a.blue,"blue")}},{key:"checkRGBValue",value:function(a,b){Number.isInteger(a)||this.throwError("Provided color value "+a+" for "+b+" channel is not an integer (0 to 255).");(0>a||255<a)&&this.throwError("Provided color value "+a+" for "+b+" channel is not in expected range of 0 to 255.")}}, -{key:"crossSectionBackground",get:function(){return this.ngviewer.crossSectionBackgroundColor.value},set:function(a){this.ngviewer.crossSectionBackgroundColor.value=a}},{key:"config",get:function(){return this._config},set:function(a){this._config=a;this.ngviewer.display.container[l.b]=this._config}},{key:"createdSegmentationUserLayers",get:function(){return this._createdSegmentationUserLayers.unseen()}}],[{key:"create",value:function(b,c){b=b||{};var f=document.getElementById("neuroglancer-container"); -if(f[l.b])throw b=Error("Viewer is already created in this container: "+f),c&&c(b),b;f[l.b]=b;Object(e.a)(b);Object(g.b)(f,b);f=Object(d.a)();b.hideNeuroglancerUI&&(f.uiConfiguration.showUIControls.value=!1);this.setCrossSectionBackgroundFromConfig(f,b);Object(g.a)(f,b);0===f.layerManager.managedLayers.length&&a.restoreInitialState(f,b);return new a(f,b,c)}},{key:"setCrossSectionBackgroundFromConfig",value:function(a,b){if(b=b.dataset&&b.dataset.imageBackground||b.crossSectionBackground)a.crossSectionBackgroundColor.value= -b}},{key:"restoreInitialState",value:function(a,b){var c=b.dataset&&b.dataset.initialNgState;c&&this.restoreViewerState(a,c,b)}},{key:"restoreViewerState",value:function(b,c,d){b.state.reset();b.state.restoreState(c);c.crossSectionBackgroundColor||a.setCrossSectionBackgroundFromConfig(b,d)}}]);return a}()},function(h,f,a){f.a=function(){var a=window.viewer=Object(c.a)();Object(n.a)(a.inputEventBindings);var e=a.registerDisposer(new b.a(a.state));a.registerDisposer(e.parseError.changed.add(function(){var a= -e.parseError.value;void 0!==a&&((new q.a).setErrorMessage("Error parsing state: "+a.message),console.log("Error parsing state",a));e.parseError}));e.updateFromUrlHash();Object(p.a)(a);Object(p.b)(a);return a};var q=a(31),p=a(312),n=a(313),c=a(314),b=a(178)},function(h,f,a){f.a=function(a){a.registerEventListener(document,"copy",function(b){if(!Object(q.a)(b)){var c=Object(n.b)(a.state).value;b.clipboardData.setData("text/plain",JSON.stringify(c,void 0," "));b.preventDefault()}})};f.b=function(a){a.registerEventListener(document, -"paste",function(b){if(!Object(q.a)(b)){var c=b.clipboardData.getData("text/plain").match(/^[\[\]{}()\s,]*(\d+(?:\.\d+)?)[,\s]+(\d+(?:\.\d+)?)[,\s]+(\d+(?:\.\d+)?)[\[\]{}()\s,]*$/);c=null!==c?p.s.fromValues(parseFloat(c[1]),parseFloat(c[2]),parseFloat(c[3])):void 0;void 0!==c&&a.navigationState.position.setVoxelCoordinates(c);b.preventDefault()}})};var q=a(180),p=a(2),n=a(66)},function(h,f,a){function q(){if(void 0===d){var a=new b.a;a.set("keyl","recolor");a.set("keyx","clear-segments");a.set("keys", -"toggle-show-slices");a.set("keyb","toggle-scale-bar");a.set("shift+keyb","toggle-default-annotations");a.set("keya","toggle-axis-lines");a.set("keyo","toggle-orthographic-projection");for(var c=1;9>=c;++c)a.set("digit"+c,"toggle-layer-"+c),a.set("control+digit"+c,"select-layer-"+c);a.set("keyn","add-layer");a.set("keyh","help");a.set("space","toggle-layout");a.set("shift+space","toggle-layout-alternative");d=a}return d}function p(){void 0===e&&(e=b.a.fromObject({arrowleft:"x-",arrowright:"x+",arrowup:"y-", +{key:"crossSectionBackground",get:function(){return this.ngviewer.crossSectionBackgroundColor.value},set:function(a){this.ngviewer.crossSectionBackgroundColor.value=a}},{key:"config",get:function(){return this._config},set:function(a){this._config=a;this.ngviewer.display.container[l.b]=this._config}},{key:"createdSegmentationUserLayers",get:function(){return this._createdSegmentationUserLayers.unseen()}}],[{key:"create",value:function(b,d){b=b||{};var f=document.getElementById("neuroglancer-container"); +if(f[l.b])throw b=Error("Viewer is already created in this container: "+f),d&&d(b),b;f[l.b]=b;Object(e.a)(b);Object(g.b)(f,b);f=Object(c.a)();b.hideNeuroglancerUI&&(f.uiConfiguration.showUIControls.value=!1);this.setCrossSectionBackgroundFromConfig(f,b);Object(g.a)(f,b);0===f.layerManager.managedLayers.length&&a.restoreInitialState(f,b);return new a(f,b,d)}},{key:"setCrossSectionBackgroundFromConfig",value:function(a,b){if(b=b.dataset&&b.dataset.imageBackground||b.crossSectionBackground)a.crossSectionBackgroundColor.value= +b}},{key:"restoreInitialState",value:function(a,b){var c=b.dataset&&b.dataset.initialNgState;c&&this.restoreViewerState(a,c,b)}},{key:"restoreViewerState",value:function(b,c,d){b.state.reset();b.state.restoreState(c);c.crossSectionBackgroundColor||a.setCrossSectionBackgroundFromConfig(b,d)}}]);return a}()},function(h,f,a){f.a=function(){var a=window.viewer=Object(d.a)();Object(n.a)(a.inputEventBindings);var e=a.registerDisposer(new b.a(a.state));a.registerDisposer(e.parseError.changed.add(function(){var a= +e.parseError.value;void 0!==a&&((new q.a).setErrorMessage("Error parsing state: "+a.message),console.log("Error parsing state",a));e.parseError}));e.updateFromUrlHash();Object(p.a)(a);Object(p.b)(a);return a};var q=a(31),p=a(314),n=a(315),d=a(316),b=a(178)},function(h,f,a){f.a=function(a){a.registerEventListener(document,"copy",function(b){if(!Object(q.a)(b)){var c=Object(n.b)(a.state).value;b.clipboardData.setData("text/plain",JSON.stringify(c,void 0," "));b.preventDefault()}})};f.b=function(a){a.registerEventListener(document, +"paste",function(b){if(!Object(q.a)(b)){var c=b.clipboardData.getData("text/plain").match(/^[\[\]{}()\s,]*(\d+(?:\.\d+)?)[,\s]+(\d+(?:\.\d+)?)[,\s]+(\d+(?:\.\d+)?)[\[\]{}()\s,]*$/);c=null!==c?p.s.fromValues(parseFloat(c[1]),parseFloat(c[2]),parseFloat(c[3])):void 0;void 0!==c&&a.navigationState.position.setVoxelCoordinates(c);b.preventDefault()}})};var q=a(181),p=a(2),n=a(67)},function(h,f,a){function q(){if(void 0===c){var a=new b.a;a.set("keyl","recolor");a.set("keyx","clear-segments");a.set("keys", +"toggle-show-slices");a.set("keyb","toggle-scale-bar");a.set("shift+keyb","toggle-default-annotations");a.set("keya","toggle-axis-lines");a.set("keyo","toggle-orthographic-projection");for(var d=1;9>=d;++d)a.set("digit"+d,"toggle-layer-"+d),a.set("control+digit"+d,"select-layer-"+d);a.set("keyn","add-layer");a.set("keyh","help");a.set("space","toggle-layout");a.set("shift+space","toggle-layout-alternative");c=a}return c}function p(){void 0===e&&(e=b.a.fromObject({arrowleft:"x-",arrowright:"x+",arrowup:"y-", arrowdown:"y+",comma:"z-",period:"z+",keyz:"snap","control+equal":"zoom-in","control+shift+equal":"zoom-in","control+minus":"zoom-out",keyr:"rotate-relative-z-",keye:"rotate-relative-z+","shift+arrowdown":"rotate-relative-x-","shift+arrowup":"rotate-relative-x+","shift+arrowleft":"rotate-relative-y-","shift+arrowright":"rotate-relative-y+","at:control+wheel":{action:"zoom-via-wheel",preventDefault:!0},"at:wheel":{action:"z+1-via-wheel",preventDefault:!0},"at:shift+wheel":{action:"z+10-via-wheel", -preventDefault:!0},"at:dblclick0":"select","at:control+mousedown0":"annotate","at:mousedown2":"move-to-mouse-position","at:control+mousedown2":"select-annotation"},{label:"All Data Panels"}));return e}function n(){void 0===g&&(g=b.a.fromObject({"at:mousedown0":{action:"rotate-via-mouse-drag",stopPropagation:!0},"at:shift+mousedown0":{action:"translate-via-mouse-drag",stopPropagation:!0}},{parents:[[p(),Number.NEGATIVE_INFINITY]]}));return g}function c(){void 0===l&&(l=b.a.fromObject({"at:mousedown0":{action:"translate-via-mouse-drag", -stopPropagation:!0},"at:shift+mousedown0":{action:"rotate-via-mouse-drag",stopPropagation:!0}},{parents:[[p(),Number.NEGATIVE_INFINITY]]}));return l}f.a=function(a){a.global.addParent(q(),Number.NEGATIVE_INFINITY);a.sliceView.addParent(c(),Number.NEGATIVE_INFINITY);a.perspectiveView.addParent(n(),Number.NEGATIVE_INFINITY)};var b=a(25),d,e,g,l},function(h,f,a){f.a=function(a){Object(c.a)();Object(c.b)();try{var b=new p.a(document.getElementById("neuroglancer-container"));return new n.a(b,a)}catch(e){throw q.a.showMessage("Error: "+ -e.message),e;}};a(316);var q=a(31),p=a(147),n=a(321),c=a(358);a(315)},function(h,f){},function(h,f,a){a(317);a(318)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+ -typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}h=a(181);var c=a(26);f=a(33);var b=a(1),d=a(2),e=a(14),g=a(116),l=a(21),k=function y(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return y(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}}, -t=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),m=function(a){function b(a,c,d,e){q(this,b);var f=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));f.chunkDataSize=c;f.channelStride=c[0]*c[1]*c[2];Object(g.e)(f,a,d,c[0],c[1],c[2]*e);return f}n(b,a);t(b,null,[{key:"get",value:function(a,c,e,g){return a.memoize.get("sliceview.UncompressedTextureLayout:"+ -Object(d.t)(c)+","+(e+","+g),function(){return new b(a,c,e,g)})}}]);return b}(b.a),r=function(a){function b(a,c,d,e){q(this,b);a=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,e));a.dataType=c;a.numChannels=d;Object(g.c)(a,c);a.textureAccessHelper=new g.a("chunkData");return a}n(b,a);t(b,[{key:"defineShader",value:function(a){k(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"defineShader",this).call(this,a);var c=this.textureAccessHelper;c.defineShader(a);a.addFragmentCode(c.getAccessor("readVolumeData", +preventDefault:!0},"at:dblclick0":"select","at:control+mousedown0":"annotate","at:mousedown2":"move-to-mouse-position","at:control+mousedown2":"select-annotation"},{label:"All Data Panels"}));return e}function n(){void 0===g&&(g=b.a.fromObject({"at:mousedown0":{action:"rotate-via-mouse-drag",stopPropagation:!0},"at:shift+mousedown0":{action:"translate-via-mouse-drag",stopPropagation:!0}},{parents:[[p(),Number.NEGATIVE_INFINITY]]}));return g}function d(){void 0===l&&(l=b.a.fromObject({"at:mousedown0":{action:"translate-via-mouse-drag", +stopPropagation:!0},"at:shift+mousedown0":{action:"rotate-via-mouse-drag",stopPropagation:!0}},{parents:[[p(),Number.NEGATIVE_INFINITY]]}));return l}f.a=function(a){a.global.addParent(q(),Number.NEGATIVE_INFINITY);a.sliceView.addParent(d(),Number.NEGATIVE_INFINITY);a.perspectiveView.addParent(n(),Number.NEGATIVE_INFINITY)};var b=a(22),c,e,g,l},function(h,f,a){f.a=function(a){Object(d.a)();Object(d.b)();try{var b=new p.a(document.getElementById("neuroglancer-container"));return new n.a(b,a)}catch(e){throw q.a.showMessage("Error: "+ +e.message),e;}};a(318);var q=a(31),p=a(147),n=a(323),d=a(358);a(317)},function(h,f){},function(h,f,a){a(319);a(320)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+ +typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}h=a(182);var d=a(26);f=a(33);var b=a(1),c=a(2),e=a(14),g=a(117),l=a(21),k=function y(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return y(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}}, +t=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),m=function(a){function b(a,c,d,e){q(this,b);var f=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));f.chunkDataSize=c;f.channelStride=c[0]*c[1]*c[2];Object(g.e)(f,a,d,c[0],c[1],c[2]*e);return f}n(b,a);t(b,null,[{key:"get",value:function(a,d,e,g){return a.memoize.get("sliceview.UncompressedTextureLayout:"+ +Object(c.t)(d)+","+(e+","+g),function(){return new b(a,d,e,g)})}}]);return b}(b.a),r=function(a){function b(a,c,d,e){q(this,b);a=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,e));a.dataType=c;a.numChannels=d;Object(g.c)(a,c);a.textureAccessHelper=new g.a("chunkData");return a}n(b,a);t(b,[{key:"defineShader",value:function(a){k(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"defineShader",this).call(this,a);var c=this.textureAccessHelper;c.defineShader(a);a.addFragmentCode(c.getAccessor("readVolumeData", "uVolumeChunkSampler",this.dataType));1<this.numChannels?(a.addUniform("highp float","uChannelStride"),a.addFragmentCode("\nfloat getChannelOffset(int channelIndex) {\n return float(channelIndex) * uChannelStride;\n}\n")):a.addFragmentCode("float getChannelOffset(int channelIndex) { return 0.0; }");a.addFragmentCode("\nfloat getIndexIntoChunk (int channelIndex) {\n vec3 chunkDataPosition = getPositionWithinChunk();\n return chunkDataPosition.x + uChunkDataSize.x * (chunkDataPosition.y + uChunkDataSize.y * chunkDataPosition.z) + getChannelOffset(channelIndex);\n}\n"); c=Object(l.a)(this.dataType);a.addFragmentCode("\n"+c+" getDataValue (int channelIndex) {\n return readVolumeData(getIndexIntoChunk(channelIndex));\n}\n")}},{key:"setupTextureLayout",value:function(a,b,c){1<this.numChannels&&a.uniform1f(b.uniform("uChannelStride"),c.channelStride);this.textureAccessHelper.setupTextureLayout(a,b,c)}},{key:"getTextureLayout",value:function(a,b){return m.get(a,b,this.texelsPerElement,this.numChannels)}},{key:"setTextureData",value:function(a,b,c){Object(g.f)(a,b,this, c)}}],[{key:"get",value:function(a,c,d){var e="sliceview.UncompressedChunkFormat:"+c+":"+d;return a.memoize.get(e,function(){return new b(a,c,d,e)})}}]);return b}(h.a),u=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);t(b,[{key:"setTextureData",value:function(a){var b=this.source,c=b.chunkFormatHandler,d=c.chunkFormat,e;this.textureLayout=this.chunkDataSize===b.spec.chunkDataSize?e=c.textureLayout.addRef():e=d.getTextureLayout(a, -this.chunkDataSize);this.chunkFormat.setTextureData(a,e,this.data)}},{key:"getChannelValueAt",value:function(a,b){var d=this.chunkDataSize;b=a[0]+d[0]*(a[1]+d[1]*(a[2]+d[2]*b));d=this.chunkFormat.dataType;a=this.data;switch(d){case c.a.UINT8:case c.a.FLOAT32:case c.a.UINT16:case c.a.UINT32:return a[b];case c.a.UINT64:return b*=2,new e.a(a[b],a[b+1])}throw Error("Invalid data type: "+d);}}]);return b}(h.b),v=function(a){function b(a,c){q(this,b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this)); +this.chunkDataSize);this.chunkFormat.setTextureData(a,e,this.data)}},{key:"getChannelValueAt",value:function(a,b){var c=this.chunkDataSize;b=a[0]+c[0]*(a[1]+c[1]*(a[2]+c[2]*b));c=this.chunkFormat.dataType;a=this.data;switch(c){case d.a.UINT8:case d.a.FLOAT32:case d.a.UINT16:case d.a.UINT32:return a[b];case d.a.UINT64:return b*=2,new e.a(a[b],a[b+1])}throw Error("Invalid data type: "+c);}}]);return b}(h.b),v=function(a){function b(a,c){q(this,b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this)); d.chunkFormat=d.registerDisposer(r.get(a,c.dataType,c.numChannels));d.textureLayout=d.registerDisposer(d.chunkFormat.getTextureLayout(a,c.chunkDataSize));return d}n(b,a);t(b,[{key:"getChunk",value:function(a,b){return new u(a,b)}}]);return b}(b.a);Object(f.c)(function(a,b){return null==b.compressedSegmentationBlockSize?new v(a,b):null})},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); -return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}var c=a(319),b=a(320);h=a(181);var d=a(26);f=a(33);var e=a(1),g=a(2),l=a(14),k=a(116),t=a(21),m=function z(a,b,c){null===a&&(a=Function.prototype); +return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}var d=a(321),b=a(322);h=a(182);var c=a(26);f=a(33);var e=a(1),g=a(2),l=a(14),k=a(117),t=a(21),m=function z(a,b,c){null===a&&(a=Function.prototype); var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return z(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},r=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),u=function(a){function b(a,c,d,e){q(this,b);var f=p(this,(b.__proto__|| -Object.getPrototypeOf(b)).call(this));f.chunkDataSize=c;f.subchunkSize=d;Object(k.d)(f,a,1,e);a=f.subchunkGridSize=g.s.create();for(e=0;3>e;++e)a[e]=Math.ceil(c[e]/d[e]);return f}n(b,a);r(b,null,[{key:"get",value:function(a,c,d,e){return a.memoize.get("sliceview.CompressedSegmentationTextureLayout:"+Object(g.t)(c)+","+(Object(g.t)(d)+","+e),function(){return new b(a,c,d,e)})}}]);return b}(e.a),v=Object(k.c)(new k.b,d.a.UINT32),w=function(a){function b(a,c,d,e){q(this,b);e=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this, -e));e.dataType=a;e.subchunkSize=c;e.numChannels=d;e.textureAccessHelper=new k.a("chunkData");return e}n(b,a);r(b,[{key:"defineShader",value:function(a){m(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"defineShader",this).call(this,a);var c=this.textureAccessHelper;c.defineShader(a);var e=function(a){return"compressedSegmentationChunkFormat_"+a};a.addUniform("highp vec3","uSubchunkGridSize");a.addUniform("highp vec3","uSubchunkSize");a.addFragmentCode(t.g);var g=this.dataType,f=Object(t.a)(g); -g===d.a.UINT64&&a.addFragmentCode(t.n);a.addFragmentCode(c.getAccessor(e("readTextureValue"),"uVolumeChunkSampler",d.a.UINT32));a.addFragmentCode(t.q);a.addFragmentCode(t.p);c="\nfloat "+e("getChannelOffset")+"(int channelIndex) {\n if (channelIndex == 0) {\n return "+this.numChannels+".0;\n }\n vec4 v = "+e("readTextureValue")+"(float(channelIndex)).value;\n return uintleToFloat(v.xyz);\n}\n"+f+" getDataValue (int channelIndex) {\n vec3 chunkPosition = getPositionWithinChunk();\n\n // TODO: maybe premultiply this and store as uniform.\n vec3 subchunkGridPosition = floor(chunkPosition / uSubchunkSize);\n float subchunkGridOffset = getFortranOrderIndex(subchunkGridPosition, uSubchunkGridSize);\n\n float channelOffset = "+ +Object.getPrototypeOf(b)).call(this));f.chunkDataSize=c;f.subchunkSize=d;Object(k.d)(f,a,1,e);a=f.subchunkGridSize=g.s.create();for(e=0;3>e;++e)a[e]=Math.ceil(c[e]/d[e]);return f}n(b,a);r(b,null,[{key:"get",value:function(a,c,d,e){return a.memoize.get("sliceview.CompressedSegmentationTextureLayout:"+Object(g.t)(c)+","+(Object(g.t)(d)+","+e),function(){return new b(a,c,d,e)})}}]);return b}(e.a),v=Object(k.c)(new k.b,c.a.UINT32),w=function(a){function b(a,c,d,e){q(this,b);e=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this, +e));e.dataType=a;e.subchunkSize=c;e.numChannels=d;e.textureAccessHelper=new k.a("chunkData");return e}n(b,a);r(b,[{key:"defineShader",value:function(a){m(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"defineShader",this).call(this,a);var d=this.textureAccessHelper;d.defineShader(a);var e=function(a){return"compressedSegmentationChunkFormat_"+a};a.addUniform("highp vec3","uSubchunkGridSize");a.addUniform("highp vec3","uSubchunkSize");a.addFragmentCode(t.g);var g=this.dataType,f=Object(t.a)(g); +g===c.a.UINT64&&a.addFragmentCode(t.n);a.addFragmentCode(d.getAccessor(e("readTextureValue"),"uVolumeChunkSampler",c.a.UINT32));a.addFragmentCode(t.q);a.addFragmentCode(t.p);d="\nfloat "+e("getChannelOffset")+"(int channelIndex) {\n if (channelIndex == 0) {\n return "+this.numChannels+".0;\n }\n vec4 v = "+e("readTextureValue")+"(float(channelIndex)).value;\n return uintleToFloat(v.xyz);\n}\n"+f+" getDataValue (int channelIndex) {\n vec3 chunkPosition = getPositionWithinChunk();\n\n // TODO: maybe premultiply this and store as uniform.\n vec3 subchunkGridPosition = floor(chunkPosition / uSubchunkSize);\n float subchunkGridOffset = getFortranOrderIndex(subchunkGridPosition, uSubchunkGridSize);\n\n float channelOffset = "+ e("getChannelOffset")+"(channelIndex);\n\n // TODO: Maybe just combine this offset into subchunkGridStrides.\n float subchunkHeaderOffset = subchunkGridOffset * 2.0 + channelOffset;\n\n vec4 subchunkHeader0 = "+e("readTextureValue")+"(subchunkHeaderOffset).value;\n vec4 subchunkHeader1 = "+e("readTextureValue")+"(subchunkHeaderOffset + 1.0).value;\n\n float outputValueOffset = uintleToFloat(subchunkHeader0.xyz) + channelOffset;\n float encodingBits = unnormalizeUint8(subchunkHeader0[3]);\n if (encodingBits > 0.0) {\n vec3 subchunkPosition = floor(min(chunkPosition - subchunkGridPosition * uSubchunkSize, uSubchunkSize - 1.0));\n float subchunkOffset = getFortranOrderIndex(subchunkPosition, uSubchunkSize);\n highp float encodedValueBaseOffset = uintleToFloat(subchunkHeader1.xyz) + channelOffset;\n highp float encodedValueOffset = floor(encodedValueBaseOffset + subchunkOffset * encodingBits / 32.0);\n vec4 encodedValue = "+ e("readTextureValue")+"(encodedValueOffset).value;\n float wordOffset = mod(subchunkOffset * encodingBits, 32.0);\n // If the value is in the first byte, then 0 <= wordOffset < 8.\n // We need to mod by 2**encodedBits\n float wordShifter = pow(2.0, -wordOffset);\n float encodedValueMod = pow(2.0, encodingBits);\n float encodedValueShifted;\n if (wordOffset < 16.0) {\n encodedValueShifted = dot(unnormalizeUint8(encodedValue.xy), vec2(1.0, 256.0));\n } else {\n encodedValueShifted = dot(unnormalizeUint8(encodedValue.zw), vec2(256.0 * 256.0, 256.0 * 256.0 * 256.0));\n }\n encodedValueShifted = floor(encodedValueShifted * wordShifter);\n float decodedValue = mod(encodedValueShifted, encodedValueMod);\n outputValueOffset += decodedValue * "+ -(this.dataType===d.a.UINT64?"2.0":"1.0")+";\n }\n "+f+" result;\n";c=g===d.a.UINT64?c+("\n result.low = "+e("readTextureValue")+"(outputValueOffset).value;\n result.high = "+e("readTextureValue")+"(outputValueOffset+1.0).value;\n"):c+("\n result.value = "+e("readTextureValue")+"(outputValueOffset).value;\n");a.addFragmentCode(c+"\n return result;\n}\n")}},{key:"setupTextureLayout",value:function(a,b,c){a.uniform3fv(b.uniform("uSubchunkGridSize"),c.subchunkGridSize);this.textureAccessHelper.setupTextureLayout(a, +(this.dataType===c.a.UINT64?"2.0":"1.0")+";\n }\n "+f+" result;\n";d=g===c.a.UINT64?d+("\n result.low = "+e("readTextureValue")+"(outputValueOffset).value;\n result.high = "+e("readTextureValue")+"(outputValueOffset+1.0).value;\n"):d+("\n result.value = "+e("readTextureValue")+"(outputValueOffset).value;\n");a.addFragmentCode(d+"\n return result;\n}\n")}},{key:"setupTextureLayout",value:function(a,b,c){a.uniform3fv(b.uniform("uSubchunkGridSize"),c.subchunkGridSize);this.textureAccessHelper.setupTextureLayout(a, b,c)}},{key:"setTextureData",value:function(a,b,c){Object(k.f)(a,b,v,c)}},{key:"getTextureLayout",value:function(a,b,c){return u.get(a,b,this.subchunkSize,c)}},{key:"beginSource",value:function(a,c){m(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"beginSource",this).call(this,a,c);a.uniform3fv(c.uniform("uSubchunkSize"),this.subchunkSize)}}],[{key:"get",value:function(a,c,d,e){var f="sliceview.CompressedSegmentationChunkFormat:"+c+":"+e,k=f+":"+Object(g.t)(d);return a.memoize.get(k,function(){return new b(c, -d,e,f)})}}]);return b}(h.a),y=function(a){function e(){q(this,e);return p(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}n(e,a);r(e,[{key:"setTextureData",value:function(a){var b=this.data,c=this.chunkFormat,d=this.textureLayout=c.getTextureLayout(a,this.chunkDataSize,b.length);c.setTextureData(a,d,b)}},{key:"getChannelValueAt",value:function(a,e){var g=this.chunkDataSize,f=this.chunkFormat,k=this.data;e=k[e];if(f.dataType===d.a.UINT64){var h=new l.a;Object(b.a)(h,k,e,g,f.subchunkSize, -a);return h}return Object(c.a)(k,e,g,f.subchunkSize,a)}}]);return e}(h.b),x=function(a){function b(a,c){q(this,b);var e=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this)),g=c.dataType;if(g!==d.a.UINT64&&g!==d.a.UINT32)throw Error("Unsupported compressed segmentation data type: "+d.a[g]);e.chunkFormat=e.registerDisposer(w.get(a,c.dataType,c.compressedSegmentationBlockSize,c.numChannels));return e}n(b,a);r(b,[{key:"getChunk",value:function(a,b){return new y(a,b)}}]);return b}(e.a);Object(f.c)(function(a, -b){return null!=b.compressedSegmentationBlockSize?new x(a,b):null})},function(h,f,a){f.a=function(a,f,c,b,d){f=Object(q.a)(a,f,c,b,d,1)+f;return a[f]};var q=a(182)},function(h,f,a){f.a=function(a,f,c,b,d,e){c=Object(q.a)(f,c,b,d,e,2)+c;a.low=f[c];a.high=f[c+1];return a};var q=a(182)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); -return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b){for(var c=$jscomp.makeIterator(X),d=c.next();!d.done;d=c.next()){d=d.value;var e=b[d];void 0!==e&&(a[d].value=e)}} +d,e,f)})}}]);return b}(h.a),y=function(a){function e(){q(this,e);return p(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}n(e,a);r(e,[{key:"setTextureData",value:function(a){var b=this.data,c=this.chunkFormat,d=this.textureLayout=c.getTextureLayout(a,this.chunkDataSize,b.length);c.setTextureData(a,d,b)}},{key:"getChannelValueAt",value:function(a,e){var g=this.chunkDataSize,f=this.chunkFormat,k=this.data;e=k[e];if(f.dataType===c.a.UINT64){var h=new l.a;Object(b.a)(h,k,e,g,f.subchunkSize, +a);return h}return Object(d.a)(k,e,g,f.subchunkSize,a)}}]);return e}(h.b),x=function(a){function b(a,d){q(this,b);var e=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this)),g=d.dataType;if(g!==c.a.UINT64&&g!==c.a.UINT32)throw Error("Unsupported compressed segmentation data type: "+c.a[g]);e.chunkFormat=e.registerDisposer(w.get(a,d.dataType,d.compressedSegmentationBlockSize,d.numChannels));return e}n(b,a);r(b,[{key:"getChunk",value:function(a,b){return new y(a,b)}}]);return b}(e.a);Object(f.c)(function(a, +b){return null!=b.compressedSegmentationBlockSize?new x(a,b):null})},function(h,f,a){f.a=function(a,f,d,b,c){f=Object(q.a)(a,f,d,b,c,1)+f;return a[f]};var q=a(183)},function(h,f,a){f.a=function(a,f,d,b,c,e){d=Object(q.a)(f,d,b,c,e,2)+d;a.low=f[d];a.high=f[d+1];return a};var q=a(183)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); +return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function d(a,b){for(var c=$jscomp.makeIterator(X),d=c.next();!d.done;d=c.next()){d=d.value;var e=b[d];void 0!==e&&(a[d].value=e)}} function b(a){var b=new z.a,c=b.element;c.classList.add("neuroglancer-viewer-context-menu");var d=function(a,d){a=b.registerDisposer(new Z.a(d,{label:a}));a.element.classList.add("neuroglancer-viewer-context-menu-limit-widget");c.appendChild(a.element)};d("GPU memory limit",a.chunkQueueManager.capacities.gpuMemory.sizeLimit);d("System memory limit",a.chunkQueueManager.capacities.systemMemory.sizeLimit);d("Concurrent chunk requests",a.chunkQueueManager.capacities.download.itemLimit);d=function(a,d){var e= -document.createElement("label");e.textContent=a;a=b.registerDisposer(new x.c(d));e.appendChild(a.element);c.appendChild(e)};d("Show axis lines",a.showAxisLines);d("Show scale bar",a.showScaleBar);d("Show cross sections in 3-d",a.showPerspectiveSliceViews);d("Show default annotations",a.showDefaultAnnotations);return b}a.d(f,"a",function(){return Za});h=a(10);var d=a.n(h),e=a(23),g=a(150);h=a(82);var l=a(41),k=a(324),t=a(18),m=a(185),r=a(333),u=a(27),v=a(57),w=a(47),y=a(31),x=a(35),A=a(9),z=a(188), -D=a(342),E=a(344),G=a(189),C=a(348),B=a(79),F=a(164);f=a(1);var L=a(8),I=a(25),O=a(2),M=a(60),P=a(7),N=a(66),S=a(29),U=a(354),Z=a(356),H=a(120),Q=a(53),aa=a(109),ba=a(15),ka=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();a(357);a(45);a(83);var fa=function(a){function b(a){q(this,b);var c=p(this,(b.__proto__|| +document.createElement("label");e.textContent=a;a=b.registerDisposer(new x.c(d));e.appendChild(a.element);c.appendChild(e)};d("Show axis lines",a.showAxisLines);d("Show scale bar",a.showScaleBar);d("Show cross sections in 3-d",a.showPerspectiveSliceViews);d("Show default annotations",a.showDefaultAnnotations);return b}a.d(f,"a",function(){return Za});h=a(10);var c=a.n(h),e=a(24),g=a(150);h=a(83);var l=a(41),k=a(324),t=a(18),m=a(185),r=a(333),u=a(27),v=a(57),w=a(47),y=a(31),x=a(35),A=a(9),z=a(188), +D=a(342),E=a(344),G=a(189),C=a(348),B=a(79),F=a(164);f=a(1);var L=a(8),J=a(22),O=a(2),M=a(61),P=a(7),N=a(67),S=a(29),U=a(354),Z=a(356),H=a(120),Q=a(53),aa=a(110),ba=a(15),ka=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();a(357);a(45);a(84);var fa=function(a){function b(a){q(this,b);var c=p(this,(b.__proto__|| Object.getPrototypeOf(b)).call(this));c.gl=a;c.worker=new Worker("chunk_worker.bundle.js");c.chunkQueueManager=c.registerDisposer(new e.d(new ba.a(c.worker),c.gl,{gpuMemory:new e.a({defaultItemLimit:1E6,defaultSizeLimit:1E9}),systemMemory:new e.a({defaultItemLimit:1E7,defaultSizeLimit:2E9}),download:new e.a({defaultItemLimit:32,defaultSizeLimit:Number.POSITIVE_INFINITY})}));c.chunkManager=c.registerDisposer(new e.c(c.chunkQueueManager));c.chunkQueueManager.registerDisposer(function(){return c.worker.terminate()}); return c}n(b,a);ka(b,[{key:"rpc",get:function(){return this.chunkQueueManager.rpc}}]);return b}(f.a);(function(a){function b(){q(this,b);var a=p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.global=new M.a;return a}n(b,a);return b})(h.b);var R=["showHelpButton","showEditStateButton","showLayerPanel","showLocation","showAnnotationToolStatus"],X=[].concat(["showUIControls","showPanelBorders"],$jscomp.arrayFromIterable(R)),Ka=function(a){function b(){q(this,b);var a=p(this,(b.__proto__|| Object.getPrototypeOf(b)).apply(this,arguments));a.showUIControls=new x.b(!0);a.showPanelBorders=new x.b(!0);return a}n(b,a);return b}(function Wb(){q(this,Wb);this.showHelpButton=new x.b(!0);this.showEditStateButton=new x.b(!0);this.showLayerPanel=new x.b(!0);this.showLocation=new x.b(!0);this.showAnnotationToolStatus=new x.b(!0)}),Ba={showLayerDialog:!0,resetStateWhenEmpty:!0},Za=function(a){function e(a,b){b=void 0===b?{}:b;q(this,e);var f=p(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)); f.display=a;f.navigationState=f.registerDisposer(new v.e);f.perspectiveNavigationState=new v.e(new v.g(f.navigationState.position),1);f.mouseState=new t.e;f.layerManager=f.registerDisposer(new t.a);f.selectedLayer=f.registerDisposer(new t.h(f.layerManager.addRef()));f.showAxisLines=new x.b(!0,!0);f.showScaleBar=new x.b(!0,!0);f.showPerspectiveSliceViews=new x.b(!0,!0);f.visibleLayerRoles=Object(t.k)();f.showDefaultAnnotations=new x.b(!0,!0);f.crossSectionBackgroundColor=new F.a(O.s.fromValues(.5, .5,.5));f.scaleBarOptions=new Q.c;f.layerSelectedValues=f.registerDisposer(new t.c(f.layerManager,f.mouseState));f.resetInitiated=new P.a;f.state=new N.a;f.uiControlVisibility={};f.visible=!0;var k=b,h=void 0===k.dataContext?new fa(a.gl):k.dataContext,n=void 0===k.visibility?new S.b(S.b.VISIBLE):k.visibility,r=void 0===k.inputEventBindings?{global:new M.a,sliceView:new M.a,perspectiveView:new M.a}:k.inputEventBindings,z=void 0===k.element?a.makeCanvasOverlayElement():k.element,y=void 0===k.dataSourceProvider? -Object(l.a)({credentialsManager:g.a}):k.dataSourceProvider;k=void 0===k.uiConfiguration?new Ka:k.uiConfiguration;f.visibility=n;f.inputEventBindings=r;f.element=z;f.dataSourceProvider=y;f.uiConfiguration=k;f.registerDisposer(function(){return Object(L.b)(f.element)});f.dataContext=f.registerDisposer(h);c(k,b);h=Object.assign({},Ba,b);b=h.resetStateWhenEmpty;h=h.showLayerDialog;n=$jscomp.makeIterator(R);for(r=n.next();!r.done;r=n.next())r=r.value,f.uiControlVisibility[r]=f.makeUiControlVisibilityState(r); +Object(l.a)({credentialsManager:g.a}):k.dataSourceProvider;k=void 0===k.uiConfiguration?new Ka:k.uiConfiguration;f.visibility=n;f.inputEventBindings=r;f.element=z;f.dataSourceProvider=y;f.uiConfiguration=k;f.registerDisposer(function(){return Object(L.b)(f.element)});f.dataContext=f.registerDisposer(h);d(k,b);h=Object.assign({},Ba,b);b=h.resetStateWhenEmpty;h=h.showLayerDialog;n=$jscomp.makeIterator(R);for(r=n.next();!r.done;r=n.next())r=r.value,f.uiControlVisibility[r]=f.makeUiControlVisibilityState(r); f.registerDisposer(f.uiConfiguration.showPanelBorders.changed.add(function(){f.updateShowBorders();f.display.onResize()}));f.showLayerDialog=h;f.resetStateWhenEmpty=b;f.layerSpecification=new u.c(f.dataSourceProvider,f.layerManager,f.chunkManager,f.layerSelectedValues,f.navigationState.voxelSize);f.registerDisposer(a.updateStarted.add(function(){f.onUpdateDisplay()}));f.registerDisposer(a.updateFinished.add(function(){f.onUpdateDisplayFinished()}));f.showDefaultAnnotations.changed.add(function(){f.showDefaultAnnotations.value? f.visibleLayerRoles.add(t.g.DEFAULT_ANNOTATION):f.visibleLayerRoles.delete(t.g.DEFAULT_ANNOTATION)});b=f.state;b.add("layers",f.layerSpecification);b.add("navigation",f.navigationState);b.add("showAxisLines",f.showAxisLines);b.add("showScaleBar",f.showScaleBar);b.add("showDefaultAnnotations",f.showDefaultAnnotations);b.add("perspectiveOrientation",f.perspectiveNavigationState.pose.orientation);b.add("perspectiveZoom",f.perspectiveNavigationState.zoomFactor);b.add("showSlices",f.showPerspectiveSliceViews); b.add("gpuMemoryLimit",f.dataContext.chunkQueueManager.capacities.gpuMemory.sizeLimit);b.add("systemMemoryLimit",f.dataContext.chunkQueueManager.capacities.systemMemory.sizeLimit);b.add("concurrentDownloads",f.dataContext.chunkQueueManager.capacities.download.itemLimit);b.add("selectedLayer",f.selectedLayer);b.add("crossSectionBackgroundColor",f.crossSectionBackgroundColor);f.registerDisposer(f.navigationState.changed.add(function(){f.handleNavigationStateChanged()}));f.layerManager.initializePosition(f.navigationState.position); -f.registerDisposer(f.layerSpecification.voxelCoordinatesSet.add(function(a){f.navigationState.position.setVoxelCoordinates(a)}));f.registerDisposer(f.layerSpecification.spatialCoordinatesSet.add(function(a){var b=f.navigationState.position;O.s.copy(b.spatialCoordinates,a);b.markSpatialCoordinatesChanged()}));h=f.registerCancellable(d()(function(){!f.wasDisposed&&0===f.layerManager.managedLayers.length&&f.resetStateWhenEmpty&&(f.navigationState.reset(),f.perspectiveNavigationState.pose.orientation.reset(), +f.registerDisposer(f.layerSpecification.voxelCoordinatesSet.add(function(a){f.navigationState.position.setVoxelCoordinates(a)}));f.registerDisposer(f.layerSpecification.spatialCoordinatesSet.add(function(a){var b=f.navigationState.position;O.s.copy(b.spatialCoordinates,a);b.markSpatialCoordinatesChanged()}));h=f.registerCancellable(c()(function(){!f.wasDisposed&&0===f.layerManager.managedLayers.length&&f.resetStateWhenEmpty&&(f.navigationState.reset(),f.perspectiveNavigationState.pose.orientation.reset(), f.perspectiveNavigationState.zoomFactor.reset(),f.resetInitiated.dispatch(),!w.b&&f.showLayerDialog&&f.visibility.visible&&new m.a(f.layerSpecification))}));f.layerManager.layersChanged.add(h);h();f.registerDisposer(f.dataContext.chunkQueueManager.visibleChunksChanged.add(function(){f.layerSelectedValues.handleLayerChange()}));f.registerDisposer(f.dataContext.chunkQueueManager.visibleChunksChanged.add(function(){f.visible&&a.scheduleRedraw()}));f.makeUI();f.updateShowBorders();b.add("layout",f.layout); f.registerActionListeners();f.registerEventActionBindings();f.registerDisposer(Object(G.a)(z,f.navigationState.position));f.registerDisposer(new E.a(f.mouseState,f.layerManager,f.navigationState.voxelSize));return f}n(e,a);ka(e,[{key:"makeUiControlVisibilityState",value:function(a){return this.registerDisposer(Object(A.g)(function(a,b){return a&&b},this.uiConfiguration.showUIControls,this.uiConfiguration[a]))}},{key:"updateShowBorders",value:function(){var a=this.element;this.uiConfiguration.showPanelBorders.value? a.classList.add("neuroglancer-show-panel-borders"):a.classList.remove("neuroglancer-show-panel-borders")}},{key:"makeUI",value:function(){var a=this,c=this.element;c.classList.add("neuroglancer-viewer");c.classList.add("neuroglancer-noselect");c.style.display="flex";c.style.flexDirection="column";var d=document.createElement("div");d.title="Right click for settings";d.classList.add("neuroglancer-viewer-top-row");(this.contextMenu=this.registerDisposer(b(this))).registerParent(d);d.style.display="flex"; @@ -1880,453 +1881,453 @@ d.style.flexDirection="row";d.style.alignItems="stretch";var e=this.registerDisp this.navigationState.voxelSize));e.element.style.flex="1";e.element.style.alignSelf="center";this.registerDisposer(new x.a(this.uiControlVisibility.showLocation,e.element));d.appendChild(e.element);e=this.registerDisposer(new U.a(this.selectedLayer));d.appendChild(e.element);this.registerDisposer(new x.a(this.uiControlVisibility.showAnnotationToolStatus,e.element));e=Object(aa.a)("{}","Edit JSON state");this.registerEventListener(e,"click",function(){a.editJsonState()});this.registerDisposer(new x.a(this.uiControlVisibility.showEditStateButton, e));d.appendChild(e);e=Object(aa.a)("?","Help");this.registerEventListener(e,"click",function(){a.showHelpDialog()});this.registerDisposer(new x.a(this.uiControlVisibility.showHelpButton,e));d.appendChild(e);this.registerDisposer(new x.a(Object(A.g)(function(a){for(var b=[],c=0;c<arguments.length;++c)b[c-0]=arguments[c];return b.reduce(function(a,b){return a||b},!1)},this.uiControlVisibility.showHelpButton,this.uiControlVisibility.showEditStateButton,this.uiControlVisibility.showLocation,this.uiControlVisibility.showAnnotationToolStatus), d));c.appendChild(d);d=document.createElement("div");d.style.display="flex";d.style.flex="1";d.style.flexDirection="row";this.layout=this.registerDisposer(new r.a(this,"4panel"));d.appendChild(this.layout.element);d.appendChild(this.registerDisposer(new D.a(this.selectedLayer.addRef())).element);this.registerDisposer(this.selectedLayer.changed.add(function(){return a.display.onResize()}));c.appendChild(d);this.display.onResize();d=function(){var b=a.visibility.visible;b!==a.visible&&(c.style.visibility= -b?"inherit":"hidden",a.visible=b)};d();this.registerDisposer(this.visibility.changed.add(d))}},{key:"registerEventActionBindings",value:function(){var a=this.element;this.registerDisposer(new M.b(a,this.inputEventMap));this.registerDisposer(new B.a(a))}},{key:"bindAction",value:function(a,b){this.registerDisposer(Object(I.c)(this.element,a,b))}},{key:"registerActionListeners",value:function(){for(var a=this,b={},c=$jscomp.makeIterator(["recolor","clear-segments"]),d=c.next();!d.done;b={action:b.action}, +b?"inherit":"hidden",a.visible=b)};d();this.registerDisposer(this.visibility.changed.add(d))}},{key:"registerEventActionBindings",value:function(){var a=this.element;this.registerDisposer(new M.b(a,this.inputEventMap));this.registerDisposer(new B.a(a))}},{key:"bindAction",value:function(a,b){this.registerDisposer(Object(J.c)(this.element,a,b))}},{key:"registerActionListeners",value:function(){for(var a=this,b={},c=$jscomp.makeIterator(["recolor","clear-segments"]),d=c.next();!d.done;b={action:b.action}, d=c.next())b.action=d.value,this.bindAction(b.action,function(b){return function(){a.layerManager.invokeAction(b.action)}}(b));b={};c=$jscomp.makeIterator(["select"]);for(d=c.next();!d.done;b={action$321:b.action$321},d=c.next())b.action$321=d.value,this.bindAction(b.action$321,function(b){return function(){a.mouseState.updateUnconditionally();a.layerManager.invokeAction(b.action$321)}}(b));this.bindAction("help",function(){return a.showHelpDialog()});for(d={i:1};9>=d.i;d={i:d.i},++d.i)this.bindAction("toggle-layer-"+ d.i,function(b){return function(){var c=b.i-1,d=a.layerManager.managedLayers;c<d.length&&(c=d[c],c.setVisible(!c.visible))}}(d)),this.bindAction("select-layer-"+d.i,function(b){return function(){var c=b.i-1,d=a.layerManager.managedLayers;c<d.length&&(a.selectedLayer.layer=d[c],a.selectedLayer.visible=!0)}}(d));this.bindAction("annotate",function(){var b=a.selectedLayer.layer;if(void 0===b)y.a.showTemporaryMessage("The annotate command requires a layer to be selected.");else{var c=b.layer;null===c|| void 0===c.tool.value?y.a.showTemporaryMessage("The selected layer ("+JSON.stringify(b.name)+") does not have an active annotation tool."):c.tool.value.trigger(a.mouseState)}});this.bindAction("toggle-axis-lines",function(){return a.showAxisLines.toggle()});this.bindAction("toggle-scale-bar",function(){return a.showScaleBar.toggle()});this.bindAction("toggle-default-annotations",function(){return a.showDefaultAnnotations.toggle()});this.bindAction("toggle-show-slices",function(){return a.showPerspectiveSliceViews.toggle()})}}, {key:"showHelpDialog",value:function(){var a=this.inputEventBindings;new k.a([["Global",a.global],["Slice View",a.sliceView],["Perspective View",a.perspectiveView]])}},{key:"editJsonState",value:function(){new C.a(this)}},{key:"onUpdateDisplay",value:function(){this.visible&&(this.dataContext.chunkQueueManager.chunkUpdateDeadline=null)}},{key:"onUpdateDisplayFinished",value:function(){this.visible&&this.mouseState.updateIfStale()}},{key:"handleNavigationStateChanged",value:function(){if(this.visible){var a= -this.dataContext.chunkQueueManager;null===a.chunkUpdateDeadline&&(a.chunkUpdateDeadline=Date.now()+10)}this.mouseState.stale=!0}},{key:"chunkManager",get:function(){return this.dataContext.chunkManager}},{key:"chunkQueueManager",get:function(){return this.dataContext.chunkQueueManager}},{key:"inputEventMap",get:function(){return this.inputEventBindings.global}},{key:"gl",get:function(){return this.display.gl}}]);return e}(f.a)},function(h,f,a){f.c="perspective_view/PerspectiveView";f.a="perspective_view/addLayer"; -f.b="perspective_view/removeLayer"},function(h,f){},function(h,f,a){function q(a,c){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!c||"object"!==typeof c&&"function"!==typeof c?a:c}function p(a,c){if("function"!==typeof c&&null!==c)throw new TypeError("Super expression must either be null or a function, not "+typeof c);a.prototype=Object.create(c&&c.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});c&&(Object.setPrototypeOf? -Object.setPrototypeOf(a,c):a.__proto__=c)}function n(a){return a.startsWith("key")?a.substring(3):a.startsWith("digit")||a.startsWith("arrow")?a.substring(5):a}a.d(f,"a",function(){return c});h=a(47);a(325);var c=function(a){function b(a){function c(a,b){for(var e=$jscomp.makeIterator(a.parents),g=e.next();!g.done;g=e.next())g=g.value,void 0!==g.label?d(g.label,g):c(g,b);a=$jscomp.makeIterator(a.bindings.entries());for(e=a.next();!e.done;e=a.next()){g=$jscomp.makeIterator(e.value);e=g.next().value; -g=g.next().value;var f=e.indexOf(":");e=e.substring(f+1);b.set(e,g.action)}}function d(a,b){r.has(b)||(a={label:a,entries:new Map},c(b,a.entries),r.set(b,a))}if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var e=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this)),f=e.content;f.classList.add("describe-key-bindings");var h=document.createElement("div");h.classList.add("describe-key-bindings-container");var r=new Map;a=$jscomp.makeIterator(a);for(var p=a.next();!p.done;p= -a.next()){var v=$jscomp.makeIterator(p.value);p=v.next().value;v=v.next().value;d(p,v)}a=$jscomp.makeIterator(r.values());for(p=a.next();!p.done;p=a.next()){v=p.value;p=document.createElement("h2");p.textContent=v.label;h.appendChild(p);p=document.createElement("div");p.className="dl";v=$jscomp.makeIterator(v.entries);for(var w=v.next();!w.done;w=v.next()){var y=$jscomp.makeIterator(w.value);w=y.next().value;y=y.next().value;var x=document.createElement("div"),A=document.createElement("div");A.className= -"definition-outer-container";x.className="definition-container";var z=document.createElement("div");z.className="dt";z.textContent=w.split("+").map(n).join("+");w=document.createElement("div");w.className="dd";w.textContent=y;x.appendChild(z);x.appendChild(w);p.appendChild(A);A.appendChild(x)}h.appendChild(p)}f.appendChild(h);return e}p(b,a);return b}(h.a)},function(h,f){},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b|| -"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a){var b=document.createElement("div");b.textContent=a.value;return b}f.b=function(a){var b=document.createElement("div");b.className= -"autocomplete-completion-with-description";b.textContent=a.value;var c=document.createElement("div");c.className="autocomplete-completion-description";c.textContent=a.description||"";b.appendChild(c);return b};a.d(f,"a",function(){return y});h=a(10);var c=a.n(h),b=a(32);h=a(1);var d=a(8),e=a(327),g=a(60),l=a(328),k=a(329),t=a(7),m=a(186),r=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a, -d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),u=function A(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return A(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(330);$jscomp.initSymbol();var v=Symbol("autocompleteIndex"),w=g.a.fromObject({arrowdown:{action:"cycle-next-active-completion"},arrowup:{action:"cycle-prev-active-completion"},tab:{action:"choose-active-completion-or-prefix", -preventDefault:!1},enter:{action:"choose-active-completion",preventDefault:!1},escape:{action:"cancel",preventDefault:!1,stopPropagation:!1}}),y=function(a){function f(a){if(!(this instanceof f))throw new TypeError("Cannot call a class as a function");var d=q(this,(f.__proto__||Object.getPrototypeOf(f)).call(this));d.inputChanged=new t.b;d.prevInputValue="";d.completionsVisible=!1;d.activeCompletionPromise=null;d.activeCompletionCancellationToken=void 0;d.hasFocus=!1;d.completionResult=null;d.dropdownContentsStale= -!0;d.updateHintScrollPositionTimer=null;d.completionElements=null;d.hasResultForDropdown=!1;d.commonPrefix="";d.activeIndex=-1;d.dropdownStyleStale=!0;d.completer=a.completer;a=void 0===a.delay?200:a.delay;var e=d.scheduleUpdateCompletions=c()(function(){var a=d.activeCompletionCancellationToken=new b.b,c=d.activeCompletionPromise=d.completer(d.value,a);null!==c&&c.then(function(a){d.activeCompletionPromise===c&&(d.setCompletions(a),d.activeCompletionPromise=null)})},a);d.registerDisposer(function(){e.cancel()}); -a=d.element=document.createElement("div");a.className="autocomplete";var k=document.createElement("div");k.className="autocomplete-dropdown-wrapper";var l=d.dropdownElement=document.createElement("div");l.className="autocomplete-dropdown";var h=d.promptElement=document.createElement("label");h.className="autocomplete-prompt";var n=d.inputWrapperElement=document.createElement("div");n.className="autocomplete-input-wrapper";a.appendChild(h);var r=d.inputElement=document.createElement("input");r.type= -"text";r.autocomplete="off";r.spellcheck=!1;r.className="autocomplete-input";Object(m.a)(h,r);h=d.hintElement=document.createElement("input");h.type="text";h.spellcheck=!1;h.className="autocomplete-hint";h.disabled=!0;n.appendChild(h);n.appendChild(r);k.appendChild(n);k.appendChild(l);a.appendChild(k);d.registerInputHandler();d.handleInputChanged("");d.registerEventListener(d.inputElement,"focus",function(){d.hasFocus||(d.hasFocus=!0,d.dropdownStyleStale=!0,d.updateDropdown())});d.registerEventListener(d.inputElement, -"blur",function(){d.hasFocus&&(d.hasFocus=!1,d.updateDropdown())});d.registerEventListener(a.ownerDocument.defaultView,"resize",function(){d.dropdownStyleStale=!0});d.registerEventListener(a.ownerDocument.defaultView,"scroll",function(){d.dropdownStyleStale=!0});d.registerEventListener(d.dropdownElement,"mousedown",d.handleDropdownMousedown.bind(d));d.registerEventListener(d.inputElement,"keydown",function(){d.hintScrollPositionMayBeStale()});d.registerEventListener(d.inputElement,"mousemove",function(a){0!== -a.buttons&&d.hintScrollPositionMayBeStale()});d.registerDisposer(new g.b(r,w)).allShortcutsAreGlobal=!0;Object(g.c)(r,"cycle-next-active-completion",function(){d.cycleActiveCompletion(1)});Object(g.c)(r,"cycle-prev-active-completion",function(){d.cycleActiveCompletion(-1)});Object(g.c)(r,"choose-active-completion-or-prefix",function(a){d.selectActiveCompletion(!0)&&a.preventDefault()});Object(g.c)(r,"choose-active-completion",function(a){d.selectActiveCompletion(!1)&&a.preventDefault()});Object(g.c)(r, -"cancel",function(a){a.stopPropagation();d.cancel()&&(a.detail.preventDefault(),a.detail.stopPropagation())});return d}p(f,a);r(f,[{key:"hintScrollPositionMayBeStale",value:function(){""!==this.hintElement.value&&this.scheduleUpdateHintScrollPosition()}},{key:"handleDropdownMousedown",value:function(a){this.inputElement.focus();for(var b=this.dropdownElement,c=a.target;c instanceof HTMLElement;c=c.parentElement){var d=c[v];if(void 0!==d){this.selectCompletion(d);break}if(c===b)break}a.preventDefault()}}, -{key:"cycleActiveCompletion",value:function(a){if(null!==this.completionResult){var b=this.activeIndex,c=this.completionResult.completions.length;this.setActiveIndex(-1===b?0<a?0:c-1:(b+a+c)%c)}}},{key:"registerInputHandler",value:function(){for(var a=this,b=function(b){b=a.inputElement.value;b!==a.prevInputValue&&(a.prevInputValue=b,a.handleInputChanged(b))},c=$jscomp.makeIterator(["input"]),d=c.next();!d.done;d=c.next())this.registerEventListener(this.inputElement,d.value,b,!1)}},{key:"shouldShowDropdown", -value:function(){return null!==this.completionResult&&this.hasFocus?this.hasResultForDropdown:!1}},{key:"updateDropdownStyle",value:function(){Object(e.a)(this.dropdownElement,this.inputElement,{horizontal:!1});this.dropdownStyleStale=!1}},{key:"updateDropdown",value:function(){if(this.shouldShowDropdown()){var a=this.dropdownElement,b=this.activeIndex;if(this.dropdownContentsStale){var c=this.completionResult,d=void 0===c.makeElement?n:c.makeElement;this.completionElements=c.completions.map(function(e, -g){e=d.call(c,e);e[v]=g;e.classList.add("autocomplete-completion");b===g&&e.classList.add("autocomplete-completion-active");a.appendChild(e);return e});this.dropdownContentsStale=!1}this.dropdownStyleStale&&this.updateDropdownStyle();this.completionsVisible||(a.style.display="block",this.completionsVisible=!0);-1!==b&&Object(k.a)(this.completionElements[b])}else this.completionsVisible&&(this.dropdownElement.style.display="none",this.completionsVisible=!1)}},{key:"setCompletions",value:function(a){this.clearCompletions(); -var b=a.completions;0!==b.length&&(this.completionResult=a,1===b.length?(b=b[0],a.showSingleResult?this.hasResultForDropdown=!0:b.value.startsWith(this.prevInputValue)?this.hasResultForDropdown=!1:this.hasResultForDropdown=!0,a.selectSingleResult?this.setActiveIndex(0):this.setHintValue(this.getCompletedValueByIndex(0))):(this.hasResultForDropdown=!0,b=Object(l.a)(function(){function b(b,f){for(;;)switch(c){case 0:g=$jscomp.makeIterator(a.completions),e=g.next();case 1:if(e.done){c=3;break}d=e.value; -c=4;return{value:d.value,done:!1};case 4:if(void 0===f){c=5;break}c=-1;throw f;case 5:case 2:e=g.next();c=1;break;case 3:c=-1;default:return{value:void 0,done:!0}}}var c=0,d,e,g,f={next:function(a){return b(a,void 0)},throw:function(a){return b(void 0,a)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();f[Symbol.iterator]=function(){return this};return f}()),b=this.getCompletedValue(b),b.startsWith(this.prevInputValue)&&(this.commonPrefix=b,this.setHintValue(b))), -this.updateDropdown())}},{key:"scheduleUpdateHintScrollPosition",value:function(){var a=this;null===this.updateHintScrollPositionTimer&&(this.updateHintScrollPositionTimer=setTimeout(function(){a.updateHintScrollPosition()},0))}},{key:"setHintValue",value:function(a){var b=this.prevInputValue;a!==b&&a.startsWith(b)||(a="");this.hintElement.value=a;this.scheduleUpdateHintScrollPosition()}},{key:"setActiveIndex",value:function(a){if(!this.dropdownContentsStale){var b=this.activeIndex;-1!==b&&this.completionElements[b].classList.remove("autocomplete-completion-active"); --1!==a&&(b=this.completionElements[a],b.classList.add("autocomplete-completion-active"),Object(k.a)(b))}-1!==a&&this.setHintValue(this.getCompletedValueByIndex(a));this.activeIndex=a}},{key:"getCompletedValueByIndex",value:function(a){return this.getCompletedValue(this.completionResult.completions[a].value)}},{key:"getCompletedValue",value:function(a){return this.prevInputValue.substring(0,this.completionResult.offset)+a}},{key:"selectActiveCompletion",value:function(a){var b=this.activeIndex;if(-1=== -b){if(!a)return!1;a=this.completionResult;if(null!==a&&1===a.completions.length)b=0;else return a=this.commonPrefix,a.length>this.value.length?(this.value=a,!0):!1}a=this.getCompletedValueByIndex(b);if(this.value===a)return!1;this.value=a;return!0}},{key:"selectCompletion",value:function(a){this.value=this.getCompletedValueByIndex(a)}},{key:"cancel",value:function(){return!1}},{key:"updateHintScrollPosition",value:function(){this.updateHintScrollPositionTimer=null;this.hintElement.scrollLeft=this.inputElement.scrollLeft}}, -{key:"cancelActiveCompletion",value:function(){var a=this.activeCompletionCancellationToken;void 0!==a&&a.cancel();this.activeCompletionCancellationToken=void 0;this.activeCompletionPromise=null}},{key:"handleInputChanged",value:function(a){this.cancelActiveCompletion();this.hintElement.value="";this.clearCompletions();this.inputChanged.dispatch(a);this.scheduleUpdateCompletions()}},{key:"clearCompletions",value:function(){null!==this.completionResult&&(this.activeIndex=-1,this.completionElements= -this.completionResult=null,this.dropdownStyleStale=this.dropdownContentsStale=!0,this.commonPrefix="",Object(d.a)(this.dropdownElement),this.updateDropdown())}},{key:"disposed",value:function(){Object(d.b)(this.element);this.cancelActiveCompletion();null!==this.updateHintScrollPositionTimer&&(clearTimeout(this.updateHintScrollPositionTimer),this.updateHintScrollPositionTimer=null);u(f.prototype.__proto__||Object.getPrototypeOf(f.prototype),"disposed",this).call(this)}},{key:"disabled",get:function(){return this.inputElement.disabled}, -set:function(a){this.inputElement.disabled=a}},{key:"value",get:function(){return this.prevInputValue},set:function(a){a!==this.prevInputValue&&(this.prevInputValue=this.inputElement.value=a,this.handleInputChanged(a))}}]);return f}(h.a)},function(h,f,a){f.a=function(a,f,h){var c=void 0===h?{}:h,b=void 0===c.horizontal?!1:c.horizontal,d=void 0===c.vertical?!0:c.vertical,e=void 0===c.topMargin?6:c.topMargin,g=void 0===c.bottomMargin?6:c.bottomMargin,l=void 0===c.leftMargin?6:c.leftMargin,k=void 0=== -c.rightMargin?6:c.rightMargin;h=void 0===c.maxHeight?!0:c.maxHeight;c=void 0===c.maxWidth?!0:c.maxWidth;f=f.getBoundingClientRect();if(b){b=f.right;var n=a.ownerDocument.documentElement.clientHeight-f.left;b>n?(a.style.left="",a.style.right="0",c&&(a.style.maxWidth=b-l+"px")):(a.style.right="",a.style.left="0",c&&(a.style.maxWidth=n-k+"px"))}d&&(d=f.top-e,g=a.ownerDocument.documentElement.clientHeight-f.bottom-g,d>3*g?(a.style.top="",a.style.bottom="100%",h&&(a.style.maxHeight=d+"px")):(a.style.top= -"100%",a.style.bottom="",h&&(a.style.maxHeight=g+"px")))}},function(h,f,a){f.a=function(a){$jscomp.initSymbol();$jscomp.initSymbolIterator();a=a[Symbol.iterator]();var f=a.next(),h=f.value;if(f.done)return"";for(f=h.length;0<f;){var c=a.next(),b=c.value;if(c.done)break;for(c=0;c<f&&h.charCodeAt(c)===b.charCodeAt(c);++c);f=c}return h.substring(0,f)}},function(h,f,a){f.a=function(a){var f=a.parentElement,h=a.offsetLeft-f.clientLeft,c=a.offsetTop-f.clientTop,b=f.scrollLeft,d=f.scrollTop;c=Math.max(0, -c+a.offsetHeight-(d+f.clientHeight))||Math.min(0,c-d);f.scrollLeft+=Math.max(0,h+a.offsetWidth-(b+f.clientWidth))||Math.min(0,h-b);f.scrollTop+=c}},function(h,f){},function(h,f,a){f.a=function(){var a=document.createElement("button");a.type="submit";a.className="hidden-submit-button";a.style.margin="0";a.style.border="0";a.style.padding="0";a.style.width="0";a.style.height="0";a.style.overflow="hidden";a.tabIndex=-1;return a}},function(h,f){},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function"); -}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a){return{mouseState:a.mouseState, -showAxisLines:a.showAxisLines,showScaleBar:a.showScaleBar,scaleBarOptions:a.scaleBarOptions,showPerspectiveSliceViews:a.showPerspectiveSliceViews,inputEventBindings:a.inputEventBindings,visibility:a.visibility,selectedLayer:a.selectedLayer,visibleLayerRoles:a.visibleLayerRoles,navigationState:a.navigationState.addRef(),perspectiveNavigationState:a.perspectiveNavigationState.addRef(),crossSectionBackgroundColor:a.crossSectionBackgroundColor}}function b(a,b,c){var d=Object(t.c)(a,"dragenter",function(b){void 0!== -Object(k.c)(b)&&a.classList.add("neuroglancer-drag-over")}),e=Object(t.c)(a,"dragleave",function(){a.classList.remove("neuroglancer-drag-over")}),f=Object(t.c)(a,"dragover",function(a){Object(g.c)(a)?(Object(r.e)(a,Object(g.b)(a,b)),a.stopPropagation(),a.preventDefault()):void 0!==Object(k.c)(a)&&(Object(k.f)(a,b,!0),a.stopPropagation(),a.preventDefault())}),l=Object(t.c)(a,"drop",function(d){a.classList.remove("neuroglancer-drag-over");if(Object(g.c)(d)){d.stopPropagation();try{var e=JSON.parse(d.dataTransfer.getData(g.d))}catch(U){return}var f= -Object(k.b)(d,b,!1,!1,!0);if(void 0!==f&&f.finalize(d)){d.preventDefault();d.dataTransfer.dropEffect=Object(r.c)();Object(k.a)(d);var l=c();f=$jscomp.makeIterator(f.layers.keys());for(d=f.next();!d.done;d=f.next())l.layerSpecification.add(d.value);try{l.restoreState(e)}catch(U){}}}else if(e=Object(k.b)(d,b,"copy"===Object(r.c)(),!1,!0),void 0!==e&&e.finalize(d)){d.preventDefault();d.dataTransfer.dropEffect=Object(r.c)();Object(k.a)(d);l=c();f=$jscomp.makeIterator(e.layers.keys());for(d=f.next();!d.done;d= -f.next())l.layerSpecification.add(d.value);try{l.layout.restoreState(e.layoutSpec)}catch(U){l.layout.reset()}}});return function(){l();f();e();d()}}function d(a,b){var d=document.createElement("div");d.style.flex="1";d.style.width="0px";if("string"===typeof b){if(void 0!==a.parent)throw Error("Invalid layout component specification: "+JSON.stringify(b));return new z(d,b,a.viewer)}Object(u.t)(b);var e=Object(u.v)(b,"type",u.A);switch(e){case "row":case "column":return new D(d,e,Object(u.v)(b,"children", -function(b){b=Object(u.a)(b,function(a){return a});if(void 0===a.parent&&0===b.length)throw Error("Stack layout requires at least one child.");return b}),a);case "viewer":e=a.viewer;var f=new l.a(e.layerSpecification.addRef());d=new g.a(d,Object.assign({display:e.display,layerSpecification:f},c(e)),{showLayerPanel:e.uiControlVisibility.showLayerPanel,showViewerMenu:!0});try{d.restoreState(b)}catch(I){throw d.dispose(),I;}return d;default:return new z(d,b,a.viewer)}}a.d(f,"a",function(){return E}); -h=a(10);var e=a.n(h),g=a(334),l=a(27),k=a(118),t=a(1),m=a(8),r=a(119),u=a(4),v=a(7),w=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),y=function C(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return C(a,b,c)}else{if("value"in -d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(341);$jscomp.initSymbol();var x=Symbol("layoutComponentContainer"),A=function(a){function c(a,d,e){q(this,c);var g=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));g.viewer=a;g.parent=e;g.changed=new v.a;g.element=document.createElement("div");var f=g.element;f.style.display="flex";f.style.flex="1";f.style.position="relative";f.style.alignItems="stretch";f.foo="hello";f[x]=g;g.setSpecification(d);var l=[];a=function(a){var c= -document.createElement("div");c.className="neuroglancer-layout-split-drop-zone";c.style[a]="0";switch(a){case "left":case "right":var d="row";c.style.width="10px";c.style.height="100%";break;case "top":case "bottom":d="column",c.style.height="10px",c.style.width="100%"}c.style.display="none";l.push({element:c,direction:d,orientation:a});f.appendChild(c);g.registerDisposer(b(c,g.viewer.layerSpecification,function(){return g.split(a).newContainer.component}))};a("left");a("right");a("top");a("bottom"); -var h=!1;g.registerEventListener(f,"dragenter",function(a){if(!h&&void 0!==Object(k.c)(a)){h=!0;a=$jscomp.makeIterator(l);for(var b=a.next();!b.done;b=a.next()){var c=b.value;b=c.element;var d=c.direction;c=c.orientation;if(void 0===e||d!==e.direction||("left"!==c&&"top"!==c||e.get(0)===g)&&("bottom"!==c&&"right"!==c||e.get(e.length-1)===g))c=g.component,c instanceof D&&c.direction===d||(b.style.display="block")}}},!0);g.registerEventListener(f,"drop",function(a){if(h){h=!1;a=$jscomp.makeIterator(l); -for(var b=a.next();!b.done;b=a.next())b.value.element.style.display="none"}});g.registerEventListener(f,"dragleave",function(a){a=a.relatedTarget;if(h&&!(a instanceof HTMLElement&&g.element.contains(a))){h=!1;a=$jscomp.makeIterator(l);for(var b=a.next();!b.done;b=a.next())b.value.element.style.display="none"}},!0);return g}n(c,a);w(c,[{key:"unsetComponent",value:function(){var a=this.componentValue;void 0!==a&&(a.changed.remove(this.changed.dispatch),this.element.removeChild(a.element),a.dispose())}}, -{key:"setComponent",value:function(a){var b=this;this.unsetComponent();this.componentValue=a;a.changed.add(this.changed.dispatch);this.element.appendChild(a.element);if(a instanceof g.a){var c=a.layerManager,d=a.registerCancellable(e()(function(){0===c.managedLayers.length&&b.dispose()},0));a.registerDisposer(c.layersChanged.add(function(){0===c.managedLayers.length&&d()}));d()}else if(a instanceof D){var f=a.registerCancellable(e()(function(){var c=a.length;if(0===c&&void 0!==b.parent)b.dispose(); -else if(1===c){c=a.get(0).component;if(void 0===b.parent&&c instanceof g.a){var d=c.layout.specification.toJSON();c.viewerNavigationState.copyToParent();var e=new Set(c.layerManager.managedLayers),f=c.layerSpecification;f.rootLayers.filter(function(a){return e.has(a)});f.rootLayers.managedLayers=Array.from(c.layerManager.managedLayers);f.rootLayers.layersChanged.dispatch()}else d=c.toJSON();b.setSpecification(d)}},0));a.registerDisposer(a.changed.add(function(){2>a.length&&f()}));f()}this.changed.dispatch()}}, -{key:"toJSON",value:function(){return this.component.toJSON()}},{key:"setSpecification",value:function(a){this.setComponent(d(this,a))}},{key:"disposed",value:function(){this.unsetComponent();this.componentValue=void 0;y(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"disposed",this).call(this)}},{key:"split",value:function(a){var b={type:"viewer"},c=this.parent;if(void 0!==c){if("left"===a&&"row"===c.direction||"top"===a&&"column"===c.direction)return{newContainer:c.insertChild(b,this), -existingContainer:this};if("right"===a&&"row"===c.direction||"bottom"===a&&"column"===c.direction)return{newContainer:c.insertChild(b),existingContainer:this}}c=this.component;c=c instanceof z?c.layerGroupViewer.toJSON():c.toJSON();var d="left"===a||"right"===a?"row":"column";switch(a){case "left":case "top":var e={type:d,children:[b,c]};var g=0;break;case "right":case "bottom":e={type:d,children:[c,b]},g=1}this.setSpecification(e);a=this.component;return{newContainer:a.get(g),existingContainer:a.get(1- -g)}}},{key:"component",get:function(){return this.componentValue}}],[{key:"getFromElement",value:function(a){return a[x]}}]);return c}(t.a),z=function(a){function b(a,d,e){q(this,b);var f=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));f.element=a;f.layerGroupViewer=f.registerDisposer(new g.a(a,Object.assign({display:e.display,layerSpecification:e.layerSpecification.addRef()},c(e)),{showLayerPanel:e.uiControlVisibility.showLayerPanel,showViewerMenu:!1}));f.layerGroupViewer.layout.restoreState(d); -return f}n(b,a);w(b,[{key:"toJSON",value:function(){return this.layerGroupViewer.layout.specification.toJSON()}},{key:"changed",get:function(){return this.layerGroupViewer.layout.changed}}]);return b}(t.a),D=function(a){function c(a,b,d,e){q(this,c);var g=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));g.element=a;g.direction=b;g.container=e;g.changed=new v.a;a.classList.add("neuroglancer-stack-layout");a.classList.add("neuroglancer-stack-layout-"+b);a.style.display="flex";a.style.flexDirection= -b;a.appendChild(g.makeDropPlaceholder(g));a=$jscomp.makeIterator(d);for(b=a.next();!b.done;b=a.next())g.insertChild(b.value);return g}n(c,a);$jscomp.initSymbol();$jscomp.initSymbolIterator();w(c,[{key:"makeDropPlaceholder",value:function(a){var c=this,d=document.createElement("div");d.className="neuroglancer-stack-layout-drop-placeholder";a.registerDisposer(b(d,this.viewer.layerSpecification,function(){var a=d.nextElementSibling,b;null!==a&&(b=A.getFromElement(a));return c.insertChild({type:"viewer", -layers:[]},b).component}));a.registerDisposer(function(){Object(m.b)(d)});return d}},{key:"get",value:function(a){return A.getFromElement(this.element.children[2*a+1])}},{key:"insertChild",value:function(a,b){var c=this,d=new A(this.viewer,a,this);a=this.makeDropPlaceholder(d);d.element.classList.add("neuroglancer-stack-layout-child");d.registerDisposer(d.changed.add(this.changed.dispatch));d.registerDisposer(function(){c.element.removeChild(d.element);c.changed.dispatch()});b=void 0!==b?b.element: -null;this.element.insertBefore(d.element,b);this.element.insertBefore(a,b);this.changed.dispatch();return d}},{key:"disposed",value:function(){this.clear();y(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"disposed",this).call(this)}},{key:"clear",value:function(){for(;0!==this.length;)this.get(0).dispose()}},{key:Symbol.iterator,value:function(){function a(a,f){for(;;)switch(b){case 0:e=g,d=e.length,c=0;case 1:if(!(c<d)){b=3;break}b=4;return{value:g.get(c),done:!1};case 4:if(void 0=== -f){b=5;break}b=-1;throw f;case 5:case 2:++c;b=1;break;case 3:b=-1;default:return{value:void 0,done:!0}}}var b=0,c,d,e,g=this,f={next:function(b){return a(b,void 0)},throw:function(b){return a(void 0,b)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();f[Symbol.iterator]=function(){return this};return f}},{key:"toJSON",value:function(){return{type:this.direction,children:Array.from(this).map(function(a){return a.toJSON()})}}},{key:"length",get:function(){return(this.element.childElementCount- -1)/2}},{key:"viewer",get:function(){return this.container.viewer}}]);return c}(t.a),E=function(a){function b(a,c){q(this,b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.viewer=a;d.defaultSpecification=c;d.container=d.registerDisposer(new A(d.viewer,d.defaultSpecification,void 0));return d}n(b,a);w(b,[{key:"reset",value:function(){this.container.setSpecification(this.defaultSpecification)}},{key:"restoreState",value:function(a){this.container.setSpecification(a)}},{key:"disposed", -value:function(){y(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}},{key:"toJSON",value:function(){return this.container.toJSON()}},{key:"changed",get:function(){return this.container.changed}},{key:"element",get:function(){return this.container.element}}]);return b}(t.a)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); -return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b){a=new t.a(a);var c=a.element;c.classList.add("neuroglancer-layer-group-viewer-context-menu");var d=document.createElement("button"); -d.textContent="Remove layer group";c.appendChild(d);a.registerEventListener(d,"click",function(){b.layerSpecification.layerManager.clear()});d=b.viewerNavigationState;d=$jscomp.makeIterator([["Position",d.position.link],["Cross-section orientation",d.crossSectionOrientation.link],["Cross-section zoom",d.crossSectionZoom.link],["Perspective orientation",d.perspectiveOrientation.link],["Perspective zoom",d.perspectiveZoom.link]]);for(var e=d.next();!e.done;e=d.next()){var g=$jscomp.makeIterator(e.value); -e=g.next().value;g=g.next().value;g=a.registerDisposer(new x.a(g));var f=document.createElement("label");f.style.display="flex";f.style.flexDirection="row";f.style.whiteSpace="nowrap";f.textContent=e;f.appendChild(g.element);c.appendChild(f)}return a}f.c=function(a){return-1!==a.dataTransfer.types.indexOf("neuroglancer-layer-group-viewer")};f.b=function(a,b){if(a.shiftKey)return"copy";if(a.ctrlKey)return"move";a=D&&D.viewer.layerSpecification.rootLayers===b.rootLayers?D.viewer:void 0;return void 0!== -a?"move":"copy"};a.d(f,"a",function(){return G});h=a(10);var b=a.n(h),d=a(82),e=a(335),g=a(27),l=a(57),k=a(35),t=a(188),m=a(118),r=a(189),u=a(79);h=a(1);var v=a(8),w=a(25),y=a(66),x=a(339),A=function B(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return B(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},z=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c]; -d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();a(340);f.d="neuroglancer-layer-group-viewer";var D,E=function(a){function b(a){q(this,b);var c=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.position=new l.b(a.navigationState.position.addRef());c.crossSectionOrientation=new l.a(a.navigationState.pose.orientation.addRef());c.crossSectionZoom=new l.c(a.navigationState.zoomFactor.addRef()); -c.navigationState=c.registerDisposer(new l.e(new l.g(c.position.value,c.crossSectionOrientation.value),c.crossSectionZoom.value));c.perspectiveOrientation=new l.a(a.perspectiveNavigationState.pose.orientation.addRef());c.perspectiveZoom=new l.c(a.perspectiveNavigationState.zoomFactor.addRef());c.perspectiveNavigationState=c.registerDisposer(new l.e(new l.g(c.position.value.addRef(),c.perspectiveOrientation.value),c.perspectiveZoom.value));return c}n(b,a);z(b,[{key:"copyToParent",value:function(){for(var a= -$jscomp.makeIterator([this.position,this.crossSectionOrientation,this.crossSectionZoom,this.perspectiveOrientation,this.perspectiveZoom]),b=a.next();!b.done;b=a.next())b.value.copyToPeer()}},{key:"register",value:function(a){a.add("position",this.position);a.add("crossSectionOrientation",this.crossSectionOrientation);a.add("crossSectionZoom",this.crossSectionZoom);a.add("perspectiveOrientation",this.perspectiveOrientation);a.add("perspectiveZoom",this.perspectiveZoom)}}]);return b}(h.a),G=function(a){function f(a, -c,e){e=void 0===e?{}:e;q(this,f);var l=p(this,(f.__proto__||Object.getPrototypeOf(f)).call(this));l.element=a;l.viewerState=c;l.state=new y.a;l.options=Object.assign({showLayerPanel:new k.b(!0),showViewerMenu:!1},e);l.layerSpecification=l.registerDisposer(c.layerSpecification);l.viewerNavigationState=l.registerDisposer(new E(c));l.viewerNavigationState.register(l.state);l.layerSpecification instanceof g.a?l.state.add("layers",l.layerSpecification):l.state.add("layers",{changed:l.layerSpecification.changed, -toJSON:function(){return l.layerSpecification.layerManager.managedLayers.map(function(a){return a.name})},reset:function(){throw Error("not implemented");},restoreState:function(){throw Error("not implemented");}});a.classList.add("neuroglancer-layer-group-viewer");l.registerDisposer(new u.a(a));l.layout=l.registerDisposer(new d.a(l,"xy"));l.state.add("layout",l.layout);l.registerActionBindings();l.registerDisposer(l.layerManager.useDirectly());l.registerDisposer(Object(r.a)(a,l.navigationState.position)); -l.registerDisposer(l.options.showLayerPanel.changed.add(l.registerCancellable(b()(function(){return l.updateUI()},0))));l.makeUI();return l}n(f,a);z(f,[{key:"bindAction",value:function(a,b){this.registerDisposer(Object(w.c)(this.element,a,b))}},{key:"registerActionBindings",value:function(){var a=this;this.bindAction("add-layer",function(){a.layerPanel&&a.layerPanel.addLayerMenu()})}},{key:"toJSON",value:function(){return Object.assign({type:"viewer"},this.state.toJSON())}},{key:"reset",value:function(){this.state.reset()}}, -{key:"restoreState",value:function(a){this.state.restoreState(a)}},{key:"makeUI",value:function(){this.element.style.flex="1";this.element.style.display="flex";this.element.style.flexDirection="column";this.element.appendChild(this.layout.element);this.updateUI()}},{key:"updateUI",value:function(){var a=this,b=this.options,d=b.showLayerPanel.value;void 0===this.layerPanel||d?d&&void 0===this.layerPanel&&(d=this.layerPanel=new e.a(this.display,this.layerSpecification,this.viewerNavigationState,this.viewerState.selectedLayer, -function(){return a.layout.toJSON()}),b.showViewerMenu?(d.registerDisposer(c(d.element,this)),d.element.title="Right click for options, drag to move/copy layer group."):d.element.title="Drag to move/copy layer group.",d.element.draggable=!0,this.registerEventListener(d.element,"dragstart",function(b){Object(m.e)(b,{manager:a.layerSpecification,layers:a.layerManager.managedLayers,layoutSpec:a.layout.toJSON()});var c=function(){D&&D.viewer===a&&(D=void 0);a.unregisterDisposer(c)};D={viewer:a,disposer:c}; -a.registerDisposer(c);var d=a.toJSON();delete d.layers;b.dataTransfer.setData("neuroglancer-layer-group-viewer",JSON.stringify(d))}),this.registerEventListener(d.element,"dragend",function(b){Object(m.a)(b);void 0!==D&&D.viewer===a&&D.disposer()}),this.element.insertBefore(d.element,this.element.firstChild)):(this.layerPanel.dispose(),this.layerPanel=void 0)}},{key:"disposed",value:function(){Object(v.a)(this.element);var a=this.layerPanel;void 0!==a&&(a.dispose(),this.layerPanel=void 0);A(f.prototype.__proto__|| -Object.getPrototypeOf(f.prototype),"disposed",this).call(this)}},{key:"perspectiveNavigationState",get:function(){return this.viewerNavigationState.perspectiveNavigationState}},{key:"navigationState",get:function(){return this.viewerNavigationState.navigationState}},{key:"display",get:function(){return this.viewerState.display}},{key:"selectedLayer",get:function(){return this.viewerState.selectedLayer}},{key:"layerManager",get:function(){return this.layerSpecification.layerManager}},{key:"chunkManager", -get:function(){return this.layerSpecification.chunkManager}},{key:"mouseState",get:function(){return this.viewerState.mouseState}},{key:"showAxisLines",get:function(){return this.viewerState.showAxisLines}},{key:"showScaleBar",get:function(){return this.viewerState.showScaleBar}},{key:"showPerspectiveSliceViews",get:function(){return this.viewerState.showPerspectiveSliceViews}},{key:"inputEventBindings",get:function(){return this.viewerState.inputEventBindings}},{key:"visibility",get:function(){return this.viewerState.visibility}}, -{key:"visibleLayerRoles",get:function(){return this.viewerState.visibleLayerRoles}},{key:"crossSectionBackgroundColor",get:function(){return this.viewerState.crossSectionBackgroundColor}},{key:"scaleBarOptions",get:function(){return this.viewerState.scaleBarOptions}},{key:"changed",get:function(){return this.state.changed}}]);return f}(h.a)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); -return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b){if("move"===a.method)return!1;a.manager.layerManager.filter(function(b){return!a.layers.has(b)});return void 0!== -b&&a.layers.has(b)}function b(a,b,d){function e(b,e){var g=a.dropLayers,f=e?Object(l.d)(b,a.manager):Object(r.c)(),k=!0;if(void 0!==g&&(e&&Object(r.e)(b,f),!g.compatibleWithMethod(f)&&(a.dropLayers=void 0,c(g,d))))return;if(void 0===g){g=a.dropLayers=Object(l.b)(b,a.manager,"copy"===f,!0,!1);if(void 0===g)return;k="move"===g.method}if(void 0!==d&&g.layers.has(d))return g;if(k){var h=a.manager.layerManager,m=new Set,n=Number.POSITIVE_INFINITY;b=h.managedLayers=h.managedLayers.filter(function(a,b){return g.layers.has(a)? -(n===Number.POSITIVE_INFINITY&&(n=b),m.add(a),!1):!0});void 0!==d?(e=b.indexOf(d),n<=e&&++e):e=b.length;f=$jscomp.makeIterator(g.layers.keys());for(k=f.next();!k.done;k=f.next())k=k.value,m.has(k)||g.layers.delete(k);b.splice.apply(b,[].concat([e,0],$jscomp.arrayFromIterable(g.layers.keys())));h.layersChanged.dispatch()}else for(void 0!==d&&(h=a.manager.layerManager.managedLayers.indexOf(d)),b=$jscomp.makeIterator(g.layers.keys()),e=b.next();!e.done;e=b.next())a.manager.add(e.value,h);return g}var g= -Object(t.c)(b,"dragenter",function(a){void 0!==e(a,!0)&&a.preventDefault()}),f=Object(t.c)(b,"drop",function(b){b.preventDefault();var d=e(b,!1);void 0!==d&&(d.finalize(b)?(b.dataTransfer.dropEffect=Object(r.c)(),Object(l.a)("move"===d.method?void 0:b)):c(d));a.dropLayers=void 0}),k=Object(t.c)(b,"dragover",function(a){void 0!==e(a,!0)&&(a.preventDefault(),a.stopPropagation())});return function(){k();f();g()}}a.d(f,"a",function(){return A});var d=a(185),e=a(27),g=a(57),l=a(118),k=a(187),t=a(1),m= -a(8),r=a(119),u=a(108),v=a(120),w=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),y=function D(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return D(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0=== -b?void 0:b.call(c)}};a(45);a(337);a(83);var x=function(a){function c(a,g){q(this,c);var f=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));f.layer=a;f.panel=g;var k=f.element=document.createElement("div");k.title="Control+click for layer options, drag to move/copy.";k.className="neuroglancer-layer-item neuroglancer-noselect";var h=f.labelElement=document.createElement("span");h.className="neuroglancer-layer-item-label";var m=f.layerNumberElement=document.createElement("span");m.className= -"neuroglancer-layer-item-number";var n=f.valueElement=document.createElement("span");n.className="neuroglancer-layer-item-value";var r=Object(u.a)();r.title="Delete layer";f.registerEventListener(r,"click",function(a){f.panel.layerManager.removeManagedLayer(f.layer);a.stopPropagation()});k.appendChild(m);k.appendChild(h);k.appendChild(n);k.appendChild(r);f.registerEventListener(k,"click",function(b){b.ctrlKey?(g.selectedLayer.layer=a,g.selectedLayer.visible=!0):a.setVisible(!a.visible)});f.registerEventListener(k, -"contextmenu",function(b){g.selectedLayer.layer=a;g.selectedLayer.visible=!0;b.stopPropagation();b.preventDefault()});k.draggable=!0;f.registerEventListener(k,"dragstart",function(a){Object(l.e)(a,{manager:g.manager,layers:[f.layer],layoutSpec:g.getLayoutSpecForDrag()});a.stopPropagation()});f.registerEventListener(k,"dragend",function(a){Object(l.a)(a)});f.registerDisposer(b(f.panel,k,f.layer));f.registerEventListener(k,"dblclick",function(b){a instanceof e.b&&new d.a(f.panel.manager,a)});return f} -n(c,a);w(c,[{key:"update",value:function(){var a=this.layer;this.labelElement.textContent=a.name;this.element.setAttribute("layer-visible",a.visible.toString());this.element.setAttribute("layer-selected",(a===this.panel.selectedLayer.layer).toString())}},{key:"disposed",value:function(){this.element.parentElement.removeChild(this.element);y(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"disposed",this).call(this)}}]);return c}(t.a),A=function(a){function f(a,d,l,h,m){q(this,f);var n=p(this, -(f.__proto__||Object.getPrototypeOf(f)).call(this));n.display=a;n.manager=d;n.viewerNavigationState=l;n.selectedLayer=h;n.getLayoutSpecForDrag=m;n.layerWidgets=new Map;n.element=document.createElement("div");n.layerUpdateNeeded=!0;n.valueUpdateNeeded=!1;n.layerWidgetInsertionPoint=document.createElement("div");n.positionWidget=n.registerDisposer(new v.b(n.viewerNavigationState.position.value));n.scheduleUpdate=n.registerCancellable(Object(k.a)(function(){return n.update()}));n.registerDisposer(h); -var t=n.element;t.className="neuroglancer-layer-panel";n.registerDisposer(d.layerSelectedValues.changed.add(function(){n.handleLayerValuesChanged()}));n.registerDisposer(d.layerManager.layersChanged.add(function(){n.handleLayersChanged()}));n.registerDisposer(h.changed.add(function(){n.handleLayersChanged()}));n.layerWidgetInsertionPoint.style.display="none";n.element.appendChild(n.layerWidgetInsertionPoint);d=n.addButton=document.createElement("div");d.className="neuroglancer-layer-add-button neuroglancer-button"; -d.title="Click to add layer, control+click to add local annotation layer.";d.textContent="+";l=n.dropZone=document.createElement("div");l.className="neuroglancer-layer-panel-drop-zone";n.registerEventListener(d,"click",function(a){a.ctrlKey?(a=new e.b("annotation",{},n.manager),n.manager.initializeLayerFromSpec(a,{type:"annotation"}),n.manager.add(a)):n.addLayerMenu()});t.appendChild(d);t.appendChild(l);n.registerDisposer(Object(r.d)(d));t.appendChild(n.positionWidget.element);h=function(){n.positionWidget.element.style.display= -n.viewerNavigationState.position.link.value===g.d.LINKED?"none":null};n.registerDisposer(n.viewerNavigationState.position.link.changed.add(h));h();n.update();n.registerEventListener(t,"dragleave",function(a){a.relatedTarget&&t.contains(a.relatedTarget)||(a=n.dropLayers,void 0!==a&&(c(a),n.dropLayers=void 0))});n.registerDisposer(b(n,d,void 0));n.registerDisposer(b(n,l,void 0));n.registerDisposer(a.updateStarted.add(function(){return n.updateLayers()}));return n}n(f,a);w(f,[{key:"disposed",value:function(){this.layerWidgets.forEach(function(a){return a.dispose()}); -this.layerWidgets=void 0;Object(m.b)(this.element);y(f.prototype.__proto__||Object.getPrototypeOf(f.prototype),"disposed",this).call(this)}},{key:"handleLayersChanged",value:function(){this.layerUpdateNeeded=!0;this.handleLayerValuesChanged()}},{key:"handleLayerValuesChanged",value:function(){this.valueUpdateNeeded||(this.valueUpdateNeeded=!0,this.scheduleUpdate())}},{key:"update",value:function(){this.valueUpdateNeeded=!1;this.updateLayers();for(var a=this.manager.layerSelectedValues,b=$jscomp.makeIterator(this.layerWidgets), -c=b.next();!c.done;c=b.next()){c=$jscomp.makeIterator(c.value);var d=c.next().value;c=c.next().value;var e=d.layer;d="";null!==e&&(e=a.get(e),void 0!==e&&(d=""+e));c.valueElement.textContent=d}}},{key:"updateLayers",value:function(){var a=this;if(this.layerUpdateNeeded){this.layerUpdateNeeded=!1;var b=this.element,c=new Set,d=this.layerWidgetInsertionPoint.nextElementSibling;this.manager.layerManager.managedLayers.forEach(function(e){c.add(e);var g=a.layerWidgets.get(e),f=a.manager.rootLayers.managedLayers.indexOf(e); -void 0===g&&(g=new x(e,a),a.layerWidgets.set(e,g));g.layerNumberElement.textContent=""+(1+f);g.update();e=g.element;e!==d&&b.insertBefore(g.element,d);d=e.nextElementSibling});for(var e=$jscomp.makeIterator(this.layerWidgets),g=e.next();!g.done;g=e.next()){var f=$jscomp.makeIterator(g.value);g=f.next().value;f=f.next().value;c.has(g)||(this.layerWidgets.delete(g),f.dispose())}}}},{key:"addLayerMenu",value:function(){new d.a(this.manager)}},{key:"layerManager",get:function(){return this.manager.layerManager}}]); -return f}(t.a)},function(h,f){},function(h,f){},function(h,f){},function(h,f,a){function q(a,c){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!c||"object"!==typeof c&&"function"!==typeof c?a:c}function p(a,c){if("function"!==typeof c&&null!==c)throw new TypeError("Super expression must either be null or a function, not "+typeof c);a.prototype=Object.create(c&&c.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});c&&(Object.setPrototypeOf? -Object.setPrototypeOf(a,c):a.__proto__=c)}a.d(f,"a",function(){return c});h=a(1);var n=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,g){c&&a(b.prototype,c);g&&a(b,g);return b}}(),c=function(a){function b(a){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var c=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this)); -c.model=a;c.element=document.createElement("select");c.valueIndexMap=new Map;for(var d=c.element,e=c.valueIndexMap,f=0,h=$jscomp.makeIterator(Object.keys(a.enumType)),n=h.next();!n.done;n=h.next())if(n=n.value,isNaN(Number(n))){var p=document.createElement("option");p.textContent=p.value=n.toLowerCase();d.appendChild(p);e.set(a.enumType[n],f);++f}c.registerDisposer(a.changed.add(function(){return c.updateView()}));c.registerEventListener(d,"change",function(){return c.updateModel()});c.updateView(); -return c}p(b,a);n(b,[{key:"updateView",value:function(){this.element.selectedIndex=this.valueIndexMap.get(this.model.value)}},{key:"updateModel",value:function(){this.model.restoreState(this.element.value)}}]);return b}(h.a)},function(h,f){},function(h,f){},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&& -"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return r});h=a(343);a.n(h);h=a(1);var c=a(8),b=a(29),d=a(108),e=a(40),g=function v(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a, -b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return v(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},l=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),k=function(a){function b(a){q(this,b);var c=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this)); -c.layer=a;c.tabView=new e.d(c.layer.tabs.addRef(),c.visibility);c.element.appendChild(c.tabView.element);c.element.classList.add("neuroglancer-layer-side-panel-info-panel");c.tabView.element.style.flex="1";return c}n(b,a);return b}(e.b),t=function(a){function b(){q(this,b);var a=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));a.element.classList.add("neuroglancer-layer-side-panel-info-panel-empty");a.element.textContent="Information about this layer will be available once it finishes loading."; -return a}n(b,a);l(b,[{key:"layer",get:function(){return null}}]);return b}(e.b),m=function(a){function b(a,c,g){q(this,b);var f=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));f.layer=a;f.layerManager=c;f.collapse=g;f.element=document.createElement("div");f.title=document.createElement("div");f.layerName=document.createElement("input");f.stack=f.registerDisposer(new e.a(function(a){return null===a?new t:new k(a)},f.visibility));var l=f.element;c=f.title;g=f.layerName;var h=f.stack;l.className= -"neuroglancer-managed-user-layer-info-panel";c.className="neuroglancer-layer-side-panel-title";h.element.classList.add("neuroglancer-layer-side-panel-content-container");l.appendChild(c);l.appendChild(h.element);l=Object(d.a)();l.title="Close side panel";l.addEventListener("click",function(){f.collapse()});c.appendChild(g);g.spellcheck=!1;g.title="Rename layer";c.appendChild(l);g.addEventListener("change",function(){return f.handleLayerNameViewChanged()});g.addEventListener("blur",function(){return f.handleLayerNameViewChanged()}); -f.registerDisposer(a.layerChanged.add(function(){return f.handleLayerNameModelChanged()}));f.handleUserLayerChanged();f.handleLayerNameModelChanged();return f}n(b,a);l(b,[{key:"handleUserLayerChanged",value:function(){this.stack.selected!==this.layer.layer&&(this.stack.invalidateAll(),this.stack.selected=this.layer.layer)}},{key:"handleLayerNameModelChanged",value:function(){this.layerName.value=this.layer.name}},{key:"handleLayerNameViewChanged",value:function(){var a=this.layer;if(void 0!==a){var b= -this.layerName.value;b!==a.name&&(b=this.layerManager.getUniqueLayerName(b),this.layerName.value=b,a.name=b,a.layerChanged.dispatch())}}}]);return b}(e.b),r=function(a){function d(a){q(this,d);var b=p(this,(d.__proto__||Object.getPrototypeOf(d)).call(this));b.state=a;b.element=document.createElement("div");b.stack=b.registerDisposer(new e.a(function(a){return new m(a,b.state.layerManager,b.collapse.bind(b))}));var c=b.element,g=b.stack;c.className="neuroglancer-layer-side-panel";g.element.classList.add("neuroglancer-layer-info-panel-container"); -c.appendChild(g.element);b.registerDisposer(a.changed.add(function(){return b.handleStateChanged()}));b.registerDisposer(a.layerManager.layersChanged.add(function(){return b.handleLayersChanged()}));b.handleStateChanged();return b}n(d,a);l(d,[{key:"handleLayersChanged",value:function(){for(var a=this.state.layerManager,b=this.stack,c=$jscomp.makeIterator(b.tabs.keys()),d=c.next();!d.done;d=c.next())d=d.value,a.has(d)||b.invalidate(d)}},{key:"collapse",value:function(){!0===this.state.visible&&(this.state.visible= -!1,this.state.changed.dispatch())}},{key:"handleStateChanged",value:function(){var a=this.state,c=a.visible;this.element.style.display=c?null:"none";this.stack.visibility.value=c?b.b.VISIBLE:b.b.IGNORED;this.stack.selected=a.layer}},{key:"disposed",value:function(){Object(c.b)(this.element);g(d.prototype.__proto__||Object.getPrototypeOf(d.prototype),"disposed",this).call(this)}}]);return d}(h.a)},function(h,f){},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); -return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return r});h=a(345);a.n(h);h=a(10);var n=a.n(h),c=a(28),b=a(101),d=a(107);h=a(1);var e=a(8),g=a(167),l=a(346), -k=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),t=function v(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return v(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},m=new Map([[c.c.AXIS_ALIGNED_BOUNDING_BOX, -function(a,b,c,d){d=document.createElement("div");d.className="neuroglancer-annotation-details-volume";d.textContent=Object(g.a)(a.pointA,a.pointB,c);b.appendChild(d)}]]),r=function(a){function g(a,b,c){if(!(this instanceof g))throw new TypeError("Cannot call a class as a function");var d=q(this,(g.__proto__||Object.getPrototypeOf(g)).call(this));d.mouseState=a;d.layerManager=b;d.voxelSize=c;d.tooltip=void 0;d.debouncedShowTooltip=d.registerCancellable(n()(function(){return d.doCreateTooltip()},500)); -d.debouncedShowTooltip0=d.registerCancellable(n()(function(){return d.doCreateTooltip()},0));d.doCreateTooltip=function(){d.debouncedShowTooltip.cancel();d.debouncedShowTooltip0.cancel();var a=d.mouseState;d.maybeCreateTooltip()?d.tooltip.updatePosition(a.pageX,a.pageY):(a=d.tooltip,void 0!==a&&(a.dispose(),d.tooltip=void 0),d.setReference(void 0))};d.registerDisposer(a.changed.add(function(){return d.mouseStateChanged()}));return d}p(g,a);k(g,[{key:"setReference",value:function(a){var b=this.reference; -void 0!==b&&(b.changed.remove(this.debouncedShowTooltip0),b.dispose(),this.reference=void 0);this.reference=a;void 0!==a&&a.changed.add(this.debouncedShowTooltip0)}},{key:"maybeCreateTooltip",value:function(){var a=Object(b.a)(this.mouseState,this.layerManager);if(void 0===a||!this.voxelSize.valid)return!1;var g=this.tooltip;void 0===g&&(g=this.tooltip=new l.a,g.element.classList.add("neuroglancer-mouse-selection-tooltip"));var f=a.annotationLayer.source.getReference(a.id);this.setReference(f);if(null=== -f.value)return!1;Object(e.a)(g.element);var k=document.createElement("div");k.className="neuroglancer-mouse-selection-tooltip-title";k.textContent=""+a.layer.name;var h=document.createElement("div");h.className="neuroglancer-mouse-selection-tooltip-description";f=f.value;h.textContent=void 0===f?"Loading...":f.description||"";g.element.appendChild(k);g.element.appendChild(h);if(null!=f){k=f.segments;if(void 0!==k&&0<k.length){var n=document.createElement("div");n.className="neuroglancer-annotation-segment-list"; -var r=a.annotationLayer.segmentationState.value,t=r?r.segmentColorHash:void 0;k.forEach(function(a,b){0!==b&&n.appendChild(document.createTextNode(" "));b=document.createElement("span");b.className="neuroglancer-annotation-segment-item";b.textContent=a.toString();void 0!==r&&(b.style.backgroundColor=t.computeCssColor(a));n.appendChild(b)});g.element.appendChild(n)}a=a.annotationLayer.objectToGlobal;k=Object(c.g)(f.type);h=document.createElement("div");h.appendChild(document.createTextNode(k.icon)); -Object(d.c)(h,f,a,this.voxelSize);h.className="neuroglancer-mouse-selection-tooltip-annotation-corners";g.element.appendChild(h);k=m.get(f.type);void 0!==k&&k(f,g.element,a,this.voxelSize)}return!0}},{key:"mouseStateChanged",value:function(){var a=this.tooltip;void 0!==a&&(a.dispose(),this.tooltip=void 0);this.setReference(void 0);this.debouncedShowTooltip()}},{key:"disposed",value:function(){var a=this.tooltip;void 0!==a&&(a.dispose(),this.tooltip=void 0);this.setReference(void 0);t(g.prototype.__proto__|| -Object.getPrototypeOf(g.prototype),"disposed",this).call(this)}}]);return g}(h.a)},function(h,f){},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return b});h=a(347);a.n(h);h=a(1);var p=a(8),n=function(){function a(a, -b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),c=function e(a,b,c){null===a&&(a=Function.prototype);var g=Object.getOwnPropertyDescriptor(a,b);if(void 0===g){if(a=Object.getPrototypeOf(a),null!==a)return e(a,b,c)}else{if("value"in g)return g.value;b=g.get;return void 0===b?void 0:b.call(c)}},b=function(a){function b(){if(!(this instanceof -b))throw new TypeError("Cannot call a class as a function");var a=(b.__proto__||Object.getPrototypeOf(b)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");a=!a||"object"!==typeof a&&"function"!==typeof a?this:a;a.element=document.createElement("div");var c=a.element;c.className="neuroglancer-tooltip";c.style.visibility="hidden";document.body.appendChild(c);return a}q(b,a);n(b,[{key:"updatePosition",value:function(a,b){var c=this.element;c.style.left= -a+"px";c.style.top=b+"px";c.style.visibility="inherit"}},{key:"disposed",value:function(){Object(p.b)(this.element);c(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}}]);return b}(h.a)},function(h,f){},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+ -typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return e});h=a(169);a.n(h);h=a(349);a.n(h);h=a(190);a.n(h);h=a(350);a.n(h);h=a(351);a.n(h);h=a(352);a.n(h);h=a(170);a.n(h);h=a(353);a.n(h);h=a(48);var n=a.n(h);h=a(10);var c=a.n(h);h=a(47);var b=a(66),d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable|| -!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),e=function(a){function e(a){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");var b=q(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));b.viewer=a;b.parsedValue=null;b.debouncedValueUpdater=c()(function(){var a=b.textEditor.getValue();try{var c=JSON.parse(a);b.parsedValue=c;b.applyButton.disabled=!1;b.textEditor.setOption("lint", -void 0)}catch(y){b.parsedValue=null;b.applyButton.disabled=!0;var d=0,e=0,g="Unknown parse error";y instanceof Error&&(c=y.message.match(/^((?:.|\n)*) in JSON at position ([0-9]+)$/),null!==c?(g=c[1],c=parseInt(c[2],10),a=a.substring(0,c).split("\n"),d=a.length-1,e=a[a.length-1].length):g=y.message);b.textEditor.setOption("lint",{getAnnotations:function(){return[{message:g,severity:"error",from:n.a.Pos(d,e)}]}})}},100);b.content.classList.add("neuroglancer-state-editor");a=b.applyButton=document.createElement("button"); -a.textContent="Apply changes";b.content.appendChild(a);a.addEventListener("click",function(){return b.applyChanges()});a.disabled=!0;b.textEditor=n()(function(a){},{value:"",mode:{name:"javascript",json:!0},foldGutter:!0,gutters:["CodeMirror-lint-markers","CodeMirror-foldgutter"]});b.updateView();b.textEditor.on("change",function(){b.debouncedValueUpdater()});b.content.appendChild(b.textEditor.getWrapperElement());b.textEditor.refresh();return b}p(e,a);d(e,[{key:"applyChanges",value:function(){null!== -this.parsedValue&&(this.viewer.state.reset(),this.viewer.state.restoreState(this.parsedValue));this.applyButton.disabled=!0}},{key:"updateView",value:function(){this.textEditor.setValue(this.getJson());this.textEditor.execCommand("foldAll");this.textEditor.execCommand("unfold")}},{key:"getJson",value:function(){return JSON.stringify(Object(b.b)(this.viewer.state).value,null," ")}}]);return e}(h.a)},function(h,f,a){(function(a){a.defineMode("javascript",function(f,h){function c(a,b,c){ib=a;Va=c;return b} -function b(a,b){var f=a.next();if('"'==f||"'"==f)return b.tokenize=d(f),b.tokenize(a,b);if("."==f&&a.match(/^\d+(?:[eE][+\-]?\d+)?/))return c("number","number");if("."==f&&a.match(".."))return c("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(f))return c(f);if("="==f&&a.eat(">"))return c("=>","operator");if("0"==f&&a.eat(/x/i))return a.eatWhile(/[\da-f]/i),c("number","number");if("0"==f&&a.eat(/o/i))return a.eatWhile(/[0-7]/i),c("number","number");if("0"==f&&a.eat(/b/i))return a.eatWhile(/[01]/i),c("number", -"number");if(/\d/.test(f))return a.match(/^\d*(?:\.\d*)?(?:[eE][+\-]?\d+)?/),c("number","number");if("/"==f){if(a.eat("*"))return b.tokenize=e,e(a,b);if(a.eat("/"))return a.skipToEnd(),c("comment","comment");if(ac(a,b,1)){a:for(var k=b=!1;null!=(f=a.next());){if(!b){if("/"==f&&!k)break a;"["==f?k=!0:k&&"]"==f&&(k=!1)}b=!b&&"\\"==f}a.match(/^\b(([gimyu])(?![gimyu]*\2))+\b/);return c("regexp","string-2")}a.eat("=");return c("operator","operator",a.current())}if("`"==f)return b.tokenize=g,g(a,b);if("#"== -f)return a.skipToEnd(),c("error","error");if(bc.test(f))return">"==f&&b.lexical&&">"==b.lexical.type||(a.eat("=")?"!"!=f&&"="!=f||a.eat("="):/[<>*+\-]/.test(f)&&(a.eat(f),">"==f&&a.eat(f))),c("operator","operator",a.current());if(Oa.test(f)){a.eatWhile(Oa);f=a.current();if("."!=b.lastType){if(Ib.propertyIsEnumerable(f))return a=Ib[f],c(a.type,a.style,f);if("async"==f&&a.match(/^\s*[\(\w]/,!1))return c("async","keyword",f)}return c("variable","variable",f)}}function d(a){return function(d,e){var g= -!1,f;if(bb&&"@"==d.peek()&&d.match(Sc))return e.tokenize=b,c("jsonld-keyword","meta");for(;null!=(f=d.next())&&(f!=a||g);)g=!g&&"\\"==f;g||(e.tokenize=b);return c("string","string")}}function e(a,d){for(var e=!1,g;g=a.next();){if("/"==g&&e){d.tokenize=b;break}e="*"==g}return c("comment","comment")}function g(a,d){for(var e=!1,g;null!=(g=a.next());){if(!e&&("`"==g||"$"==g&&a.eat("{"))){d.tokenize=b;break}e=!e&&"\\"==g}return c("quasi","string-2",a.current())}function l(a,b){b.fatArrowAt&&(b.fatArrowAt= -null);var c=a.string.indexOf("=>",a.start);if(!(0>c)){if(ta){var d=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(a.string.slice(a.start,c));d&&(c=d.index)}d=0;var e=!1;for(--c;0<=c;--c){var g=a.string.charAt(c),f="([{}])".indexOf(g);if(0<=f&&3>f){if(!d){++c;break}if(0==--d){"("==g&&(e=!0);break}}else if(3<=f&&6>f)++d;else if(Oa.test(g))e=!0;else{if(/["'\/]/.test(g))return;if(e&&!d){++c;break}}}e&&!d&&(b.fatArrowAt=c)}}function k(a,b,c,d,e,g){this.indented=a;this.column=b;this.type=c;this.prev= -e;this.info=g;null!=d&&(this.align=d)}function n(){for(var a=arguments.length-1;0<=a;a--)K.cc.push(arguments[a])}function m(){n.apply(null,arguments);return!0}function r(a){function b(b){for(;b;b=b.next)if(b.name==a)return!0;return!1}var c=K.state;K.marked="def";c.context?b(c.localVars)||(c.localVars={name:a,next:c.localVars}):!b(c.globalVars)&&h.globalVars&&(c.globalVars={name:a,next:c.globalVars})}function p(){K.state.context={prev:K.state.context,vars:K.state.localVars};K.state.localVars=dc}function q(){K.state.localVars= -K.state.context.vars;K.state.context=K.state.context.prev}function w(a,b){var c=function(){var c=K.state,d=c.indented;if("stat"==c.lexical.type)d=c.lexical.indented;else for(var e=c.lexical;e&&")"==e.type&&e.align;e=e.prev)d=e.indented;c.lexical=new k(d,K.stream.column(),a,null,c.lexical,b)};c.lex=!0;return c}function y(){var a=K.state;a.lexical.prev&&(")"==a.lexical.type&&(a.indented=a.lexical.indented),a.lexical=a.lexical.prev)}function x(a){function b(c){return c==a?m():";"==a?n():m(b)}return b} -function A(a,b){return"var"==a?m(w("vardef",b.length),Eb,x(";"),y):"keyword a"==a?m(w("form"),E,A,y):"keyword b"==a?m(w("form"),A,y):"keyword d"==a?K.stream.match(/^\s*$/,!1)?m():m(w("stat"),C,x(";"),y):"debugger"==a?m(x(";")):"{"==a?m(w("}"),fa,y):";"==a?m():"if"==a?("else"==K.state.lexical.info&&K.state.cc[K.state.cc.length-1]==y&&K.state.cc.pop()(),m(w("form"),E,A,y,Ga)):"function"==a?m(xa):"for"==a?m(w("form"),Xb,A,y):"variable"==a?ta&&"type"==b?(K.marked="keyword",m(X,x("operator"),X,x(";"))): -ta&&"declare"==b?(K.marked="keyword",m(A)):m(w("stat"),U):"switch"==a?m(w("form"),E,x("{"),w("}","switch"),fa,y,y):"case"==a?m(z,x(":")):"default"==a?m(x(":")):"catch"==a?m(w("form"),p,x("("),ab,x(")"),A,y,q):"class"==a?m(w("form"),Ua,y):"export"==a?m(w("stat"),ia,y):"import"==a?m(w("stat"),Da,y):"module"==a?m(w("form"),Aa,x("{"),w("}"),fa,y,y):"async"==a?m(A):"@"==b?m(z,A):n(w("stat"),z,x(";"),y)}function z(a){return G(a,!1)}function D(a){return G(a,!0)}function E(a){return"("!=a?n():m(w(")"),z, -x(")"),y)}function G(a,b){if(K.state.fatArrowAt==K.stream.start){var c=b?M:O;if("("==a)return m(p,w(")"),ba(ab,")"),y,x("=>"),c,q);if("variable"==a)return n(p,Aa,x("=>"),c,q)}c=b?F:B;return cc.hasOwnProperty(a)?m(c):"function"==a?m(xa,c):"class"==a?m(w("form"),qd,y):"keyword c"==a||"async"==a?m(b?D:z):"("==a?m(w(")"),C,x(")"),y,c):"operator"==a||"spread"==a?m(b?D:z):"["==a?m(w("]"),pb,y,c):"{"==a?ka(H,"}",null,c):"quasi"==a?n(L,c):"new"==a?m(P(b)):m()}function C(a){return a.match(/[;\}\)\],]/)?n(): -n(z)}function B(a,b){return","==a?m(z):F(a,b,!1)}function F(a,b,c){var d=0==c?B:F,e=0==c?z:D;if("=>"==a)return m(p,c?M:O,q);if("operator"==a)return/\+\+|--/.test(b)||ta&&"!"==b?m(d):"?"==b?m(z,x(":"),e):m(e);if("quasi"==a)return n(L,d);if(";"!=a){if("("==a)return ka(D,")","call",d);if("."==a)return m(Z,d);if("["==a)return m(w("]"),C,x("]"),y,d);if(ta&&"as"==b)return K.marked="keyword",m(X,d);if("regexp"==a)return K.state.lastType=K.marked="operator",K.stream.backUp(K.stream.pos-K.stream.start-1), -m(e)}}function L(a,b){return"quasi"!=a?n():"${"!=b.slice(b.length-2)?m(L):m(z,I)}function I(a){if("}"==a)return K.marked="string-2",K.state.tokenize=g,m(L)}function O(a){l(K.stream,K.state);return n("{"==a?A:z)}function M(a){l(K.stream,K.state);return n("{"==a?A:D)}function P(a){return function(b){return"."==b?m(a?S:N):"variable"==b&&ta?m(Wb,a?F:B):n(a?D:z)}}function N(a,b){if("target"==b)return K.marked="keyword",m(B)}function S(a,b){if("target"==b)return K.marked="keyword",m(F)}function U(a){return":"== -a?m(y,A):n(B,x(";"),y)}function Z(a){if("variable"==a)return K.marked="property",m()}function H(a,b){if("async"==a)return K.marked="property",m(H);if("variable"==a||"keyword"==K.style){K.marked="property";if("get"==b||"set"==b)return m(Q);var c;ta&&K.state.fatArrowAt==K.stream.start&&(c=K.stream.match(/^\s*:\s*/,!1))&&(K.state.fatArrowAt=K.stream.pos+c[0].length);return m(aa)}if("number"==a||"string"==a)return K.marked=bb?"property":K.style+" property",m(aa);if("jsonld-keyword"==a)return m(aa);if("modifier"== -a)return m(H);if("["==a)return m(z,x("]"),aa);if("spread"==a)return m(D,aa);if("*"==b)return K.marked="keyword",m(H);if(":"==a)return n(aa)}function Q(a){if("variable"!=a)return n(aa);K.marked="property";return m(xa)}function aa(a){if(":"==a)return m(D);if("("==a)return n(xa)}function ba(a,b,c){function d(e,g){return(c?-1<c.indexOf(e):","==e)?(e=K.state.lexical,"call"==e.info&&(e.pos=(e.pos||0)+1),m(function(c,d){return c==b||d==b?n():n(a)},d)):e==b||g==b?m():m(x(b))}return function(c,e){return c== -b||e==b?m():n(a,d)}}function ka(a,b,c){for(var d=3;d<arguments.length;d++)K.cc.push(arguments[d]);return m(w(b,c),ba(a,b),y)}function fa(a){return"}"==a?m():n(A,fa)}function R(a,b){if(ta){if(":"==a)return m(X);if("?"==b)return m(R)}}function X(a,b){if("variable"==a||"void"==b){if("keyof"==b)return K.marked="keyword",m(X);K.marked="type";return m(Ta)}if("string"==a||"number"==a||"atom"==a)return m(Ta);if("["==a)return m(w("]"),ba(X,"]",","),y,Ta);if("{"==a)return m(w("}"),ba(Ba,"}",",;"),y,Ta);if("("== -a)return m(ba(Za,")"),Ka)}function Ka(a){if("=>"==a)return m(X)}function Ba(a,b){if("variable"==a||"keyword"==K.style)return K.marked="property",m(Ba);if("?"==b)return m(Ba);if(":"==a)return m(X);if("["==a)return m(z,R,x("]"),Ba)}function Za(a){if("variable"==a)return m(Za);if(":"==a)return m(X)}function Ta(a,b){if("<"==b)return m(w(">"),ba(X,">"),y,Ta);if("|"==b||"."==a)return m(X);if("["==a)return m(x("]"),Ta);if("extends"==b)return m(X)}function Wb(a,b){if("<"==b)return m(w(">"),ba(X,">"),y,Ta)} -function Eb(){return n(Aa,R,wa,Fb)}function Aa(a,b){if("modifier"==a)return m(Aa);if("variable"==a)return r(b),m();if("spread"==a)return m(Aa);if("["==a)return ka(Aa,"]");if("{"==a)return ka(Mc,"}")}function Mc(a,b){if("variable"==a&&!K.stream.match(/^\s*:/,!1))return r(b),m(wa);"variable"==a&&(K.marked="property");return"spread"==a?m(Aa):"}"==a?n():m(x(":"),Aa,wa)}function wa(a,b){if("="==b)return m(D)}function Fb(a){if(","==a)return m(Eb)}function Ga(a,b){if("keyword b"==a&&"else"==b)return m(w("form", -"else"),A,y)}function Xb(a){if("("==a)return m(w(")"),Nc,x(")"),y)}function Nc(a){return"var"==a?m(Eb,x(";"),gb):";"==a?m(gb):"variable"==a?m($a):n(z,x(";"),gb)}function $a(a,b){return"in"==b||"of"==b?(K.marked="keyword",m(z)):m(B,gb)}function gb(a,b){return";"==a?m(Ha):"in"==b||"of"==b?(K.marked="keyword",m(z)):n(z,x(";"),Ha)}function Ha(a){")"!=a&&m(z)}function xa(a,b){if("*"==b)return K.marked="keyword",m(xa);if("variable"==a)return r(b),m(xa);if("("==a)return m(p,w(")"),ba(ab,")"),y,R,A,q);if(ta&& -"<"==b)return m(w(">"),ba(X,">"),y,xa)}function ab(a,b){"@"==b&&m(z,ab);return"spread"==a||"modifier"==a?m(ab):n(Aa,R,wa)}function qd(a,b){return"variable"==a?Ua(a,b):Ca(a,b)}function Ua(a,b){if("variable"==a)return r(b),m(Ca)}function Ca(a,b){if("<"==b)return m(w(">"),ba(X,">"),y,Ca);if("extends"==b||"implements"==b||ta&&","==a)return m(ta?X:z,Ca);if("{"==a)return m(w("}"),ha,y)}function ha(a,b){if("modifier"==a||"async"==a||"variable"==a&&("static"==b||"get"==b||"set"==b)&&K.stream.match(/^\s+[\w$\xa1-\uffff]/, -!1))return K.marked="keyword",m(ha);if("variable"==a||"keyword"==K.style)return K.marked="property",m(ta?da:xa,ha);if("["==a)return m(z,x("]"),ta?da:xa,ha);if("*"==b)return K.marked="keyword",m(ha);if(";"==a)return m(ha);if("}"==a)return m();if("@"==b)return m(z,ha)}function da(a,b){return"?"==b?m(da):":"==a?m(X,wa):"="==b?m(D):n(xa)}function ia(a,b){return"*"==b?(K.marked="keyword",m(ob,x(";"))):"default"==b?(K.marked="keyword",m(z,x(";"))):"{"==a?m(ba($b,"}"),ob,x(";")):n(A)}function $b(a,b){if("as"== -b)return K.marked="keyword",m(x("variable"));if("variable"==a)return n(D,$b)}function Da(a){return"string"==a?m():n(La,na,ob)}function La(a,b){if("{"==a)return ka(La,"}");"variable"==a&&r(b);"*"==b&&(K.marked="keyword");return m(Qc)}function na(a){if(","==a)return m(La,na)}function Qc(a,b){if("as"==b)return K.marked="keyword",m(La)}function ob(a,b){if("from"==b)return K.marked="keyword",m(z)}function pb(a){return"]"==a?m():n(ba(D,"]"))}function ac(a,c,d){return c.tokenize==b&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(c.lastType)|| -"quasi"==c.lastType&&/\{\s*$/.test(a.string.slice(0,a.pos-(d||0)))}var hb=f.indentUnit,Rc=h.statementIndent,bb=h.jsonld,Na=h.json||bb,ta=h.typescript,Oa=h.wordCharacters||/[\w$\xa1-\uffff]/,Ib=function(){function a(a){return{type:a,style:"keyword"}}var b=a("keyword a"),c=a("keyword b"),d=a("keyword c"),e=a("keyword d"),g=a("operator"),f={type:"atom",style:"atom"};b={"if":a("if"),"while":b,"with":b,"else":c,"do":c,"try":c,"finally":c,"return":e,"break":e,"continue":e,"new":a("new"),"delete":d,"void":d, -"throw":d,"debugger":a("debugger"),"var":a("var"),"const":a("var"),let:a("var"),"function":a("function"),"catch":a("catch"),"for":a("for"),"switch":a("switch"),"case":a("case"),"default":a("default"),"in":g,"typeof":g,"instanceof":g,"true":f,"false":f,"null":f,undefined:f,NaN:f,Infinity:f,"this":a("this"),"class":a("class"),"super":a("atom"),yield:d,"export":a("export"),"import":a("import"),"extends":d,await:d};if(ta){c={type:"variable",style:"type"};d={"interface":a("class"),"implements":d,namespace:d, -module:a("module"),"enum":a("module"),"public":a("modifier"),"private":a("modifier"),"protected":a("modifier"),"abstract":a("modifier"),readonly:a("modifier"),string:c,number:c,"boolean":c,any:c};for(var k in d)b[k]=d[k]}return b}(),bc=/[+\-*&%=<>!?|~^@]/,Sc=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/,ib,Va,cc={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,"this":!0,"jsonld-keyword":!0},K={state:null,column:null,marked:null,cc:null},dc={name:"this", -next:{name:"arguments"}};y.lex=!0;return{startState:function(a){a={tokenize:b,lastType:"sof",cc:[],lexical:new k((a||0)-hb,0,"block",!1),localVars:h.localVars,context:h.localVars&&{vars:h.localVars},indented:a||0};h.globalVars&&"object"==typeof h.globalVars&&(a.globalVars=h.globalVars);return a},token:function(a,b){a.sol()&&(b.lexical.hasOwnProperty("align")||(b.lexical.align=!1),b.indented=a.indentation(),l(a,b));if(b.tokenize!=e&&a.eatSpace())return null;var c=b.tokenize(a,b);if("comment"==ib)return c; -b.lastType="operator"!=ib||"++"!=Va&&"--"!=Va?ib:"incdec";a:{var d=ib,g=Va,f=b.cc;K.state=b;K.stream=a;K.marked=null;K.cc=f;K.style=c;b.lexical.hasOwnProperty("align")||(b.lexical.align=!0);for(;;)if((f.length?f.pop():Na?z:A)(d,g)){for(;f.length&&f[f.length-1].lex;)f.pop()();if(K.marked){c=K.marked;break a}if(a="variable"==d)b:{for(a=b.localVars;a;a=a.next)if(a.name==g){a=!0;break b}for(b=b.context;b;b=b.prev)for(a=b.vars;a;a=a.next)if(a.name==g){a=!0;break b}a=void 0}if(a){c="variable-2";break a}break a}}return c}, -indent:function(c,d){if(c.tokenize==e)return a.Pass;if(c.tokenize!=b)return 0;var g=d&&d.charAt(0),f=c.lexical,k;if(!/^\s*else\b/.test(d))for(var l=c.cc.length-1;0<=l;--l){var m=c.cc[l];if(m==y)f=f.prev;else if(m!=Ga)break}for(;!("stat"!=f.type&&"form"!=f.type||"}"!=g&&(!(k=c.cc[c.cc.length-1])||k!=B&&k!=F||/^[,\.=+\-*:?[\(]/.test(d)));)f=f.prev;Rc&&")"==f.type&&"stat"==f.prev.type&&(f=f.prev);k=f.type;l=g==k;return"vardef"==k?f.indented+("operator"==c.lastType||","==c.lastType?f.info+1:0):"form"== -k&&"{"==g?f.indented:"form"==k?f.indented+hb:"stat"==k?(g=f.indented,c="operator"==c.lastType||","==c.lastType||bc.test(d.charAt(0))||/[,.]/.test(d.charAt(0)),g+(c?Rc||hb:0)):"switch"!=f.info||l||0==h.doubleIndentSwitch?f.align?f.column+(l?0:1):f.indented+(l?0:hb):f.indented+(/^(?:case|default)\b/.test(d)?hb:2*hb)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:Na?null:"/*",blockCommentEnd:Na?null:"*/",blockCommentContinue:Na?null:" * ",lineComment:Na?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``", -helperType:Na?"json":"javascript",jsonldMode:bb,jsonMode:Na,expressionAllowed:ac,skipExpression:function(a){var b=a.cc[a.cc.length-1];b!=z&&b!=D||a.cc.pop()}}});a.registerHelper("wordChars","javascript",/[\w$]/);a.defineMIME("text/javascript","javascript");a.defineMIME("text/ecmascript","javascript");a.defineMIME("application/javascript","javascript");a.defineMIME("application/x-javascript","javascript");a.defineMIME("application/ecmascript","javascript");a.defineMIME("application/json",{name:"javascript", -json:!0});a.defineMIME("application/x-json",{name:"javascript",json:!0});a.defineMIME("application/ld+json",{name:"javascript",jsonld:!0});a.defineMIME("text/typescript",{name:"javascript",typescript:!0});a.defineMIME("application/typescript",{name:"javascript",typescript:!0})})(a(48))},function(h,f,a){(function(a){function f(a){this.options=a;this.from=this.to=0}function h(a,b){a=a.findMarks(t(b,0),t(b+1,0));for(var c=0;c<a.length;++c)if(a[c].__isFold&&a[c].find().from.line==b)return a[c]}function c(a){if("string"== -typeof a){var b=document.createElement("div");b.className=a+" CodeMirror-guttermarker-subtle";return b}return a.cloneNode(!0)}function b(a,b,d){var e=a.state.foldGutter.options,g=b,f=a.foldOption(e,"minFoldSize"),k=a.foldOption(e,"rangeFinder");a.eachLine(b,d,function(b){var d=null;if(h(a,g))d=c(e.indicatorFolded);else{var l=t(g,0);(l=k&&k(a,l))&&l.to.line-l.from.line>=f&&(d=c(e.indicatorOpen))}a.setGutterMarker(b,e.gutter,d);++g})}function d(a){var c=a.getViewport(),d=a.state.foldGutter;d&&(a.operation(function(){b(a, -c.from,c.to)}),d.from=c.from,d.to=c.to)}function e(a,b,c){var d=a.state.foldGutter;d&&(d=d.options,c==d.gutter&&((c=h(a,b))?c.clear():a.foldCode(t(b,0),d.rangeFinder)))}function g(a){var b=a.state.foldGutter;if(b){var c=b.options;b.from=b.to=0;clearTimeout(b.changeUpdate);b.changeUpdate=setTimeout(function(){d(a)},c.foldOnChangeTimeSpan||600)}}function l(a){var c=a.state.foldGutter;if(c){var e=c.options;clearTimeout(c.changeUpdate);c.changeUpdate=setTimeout(function(){var e=a.getViewport();c.from== -c.to||20<e.from-c.to||20<c.from-e.to?d(a):a.operation(function(){e.from<c.from&&(b(a,e.from,c.from),c.from=e.from);e.to>c.to&&(b(a,c.to,e.to),c.to=e.to)})},e.updateViewportTimeSpan||400)}}function k(a,c){var d=a.state.foldGutter;d&&(c=c.line,c>=d.from&&c<d.to&&b(a,c,c+1))}a.defineOption("foldGutter",!1,function(b,c,h){h&&h!=a.Init&&(b.clearGutter(b.state.foldGutter.options.gutter),b.state.foldGutter=null,b.off("gutterClick",e),b.off("change",g),b.off("viewportChange",l),b.off("fold",k),b.off("unfold", -k),b.off("swapDoc",g));c&&(h=b.state,!0===c&&(c={}),null==c.gutter&&(c.gutter="CodeMirror-foldgutter"),null==c.indicatorOpen&&(c.indicatorOpen="CodeMirror-foldgutter-open"),null==c.indicatorFolded&&(c.indicatorFolded="CodeMirror-foldgutter-folded"),h.foldGutter=new f(c),d(b),b.on("gutterClick",e),b.on("change",g),b.on("viewportChange",l),b.on("fold",k),b.on("unfold",k),b.on("swapDoc",g))});var t=a.Pos})(a(48),a(190))},function(h,f,a){(function(a){a.registerHelper("fold","brace",function(f,h){function c(c){for(var g= -h.ch,k=0;;)if(g=0>=g?-1:d.lastIndexOf(c,g-1),-1==g){if(1==k)break;k=1;g=d.length}else{if(1==k&&g<h.ch)break;e=f.getTokenTypeAt(a.Pos(b,g+1));if(!/^(comment|string)/.test(e))return g+1;--g}}var b=h.line,d=f.getLine(b),e,g="{",l="}",k=c("{");null==k&&(g="[",l="]",k=c("["));if(null!=k){var n=1,m=f.lastLine(),r=b;a:for(;r<=m;++r)for(var p=f.getLine(r),q=r==b?k:0;;){var w=p.indexOf(g,q);q=p.indexOf(l,q);0>w&&(w=p.length);0>q&&(q=p.length);q=Math.min(w,q);if(q==p.length)break;if(f.getTokenTypeAt(a.Pos(r, -q+1))==e)if(q==w)++n;else if(!--n){var y=r;var x=q;break a}++q}if(null!=y&&(b!=y||x!=k))return{from:a.Pos(b,k),to:a.Pos(y,x)}}});a.registerHelper("fold","import",function(f,h){function c(b){if(b<f.firstLine()||b>f.lastLine())return null;var c=f.getTokenAt(a.Pos(b,1));/\S/.test(c.string)||(c=f.getTokenAt(a.Pos(b,c.end+1)));if("keyword"!=c.type||"import"!=c.string)return null;var d=b;for(b=Math.min(f.lastLine(),b+10);d<=b;++d){var e=f.getLine(d).indexOf(";");if(-1!=e)return{startCh:c.end,end:a.Pos(d, -e)}}}h=h.line;var b=c(h),d;if(!b||c(h-1)||(d=c(h-2))&&d.end.line==h-1)return null;for(d=b.end;;){var e=c(d.line+1);if(null==e)break;d=e.end}return{from:f.clipPos(a.Pos(h,b.startCh+1)),to:d}});a.registerHelper("fold","include",function(f,h){function c(b){if(b<f.firstLine()||b>f.lastLine())return null;var c=f.getTokenAt(a.Pos(b,1));/\S/.test(c.string)||(c=f.getTokenAt(a.Pos(b,c.end+1)));if("meta"==c.type&&"#include"==c.string.slice(0,8))return c.start+8}h=h.line;var b=c(h);if(null==b||null!=c(h-1))return null; -for(var d=h;null!=c(d+1);)++d;return{from:a.Pos(h,b+1),to:f.clipPos(a.Pos(d))}})})(a(48))},function(h,f){},function(h,f){},function(h,f,a){function q(a,c){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!c||"object"!==typeof c&&"function"!==typeof c?a:c}function p(a,c){if("function"!==typeof c&&null!==c)throw new TypeError("Super expression must either be null or a function, not "+typeof c);a.prototype=Object.create(c&&c.prototype,{constructor:{value:a, -enumerable:!1,writable:!0,configurable:!0}});c&&(Object.setPrototypeOf?Object.setPrototypeOf(a,c):a.__proto__=c)}a.d(f,"a",function(){return c});h=a(355);a.n(h);a=a(1);var n=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,g){c&&a(b.prototype,c);g&&a(b,g);return b}}(),c=function(a){function b(a){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function"); -var c=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.selectedLayer=a;c.element=document.createElement("div");c.element.className="neuroglancer-annotation-tool-status-widget";c.registerDisposer(a.changed.add(function(){return c.selectedLayerChanged()}));c.selectedLayerChanged();return c}p(b,a);n(b,[{key:"selectedLayerChanged",value:function(){var a=this,b=this.unbindPreviousLayer;void 0!==b&&b();b=this.selectedLayer.layer;void 0!==b&&(this.unbindPreviousLayer=b.specificationChanged.add(function(){a.updateView()})); -this.updateView()}},{key:"disposed",value:function(){var a=this.unbindPreviousLayer;void 0!==a&&a();this.unbindPreviousLayer=void 0}},{key:"getDescriptionText",value:function(){var a=this.selectedLayer.layer;if(void 0!==a&&(a=a.layer,null!==a&&(a=a.tool.value,void 0!==a)))return a.description}},{key:"updateView",value:function(){this.element.textContent=this.getDescriptionText()||""}}]);return b}(a.a)},function(h,f){},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); -return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return e});var n=a(9);h=a(1);var c=a(8),b=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c]; -d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),d=function l(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return l(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},e=function(a){function e(a,b){b=void 0===b?{}:b;if(!(this instanceof e))throw new TypeError("Cannot call a class as a function"); -var c=q(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));c.model=a;c.element=document.createElement("label");c.inputElement=document.createElement("input");var d=b;b=d.validator;d=d.label;var f=c.element,k=c.inputElement;void 0===b&&(b=a instanceof n.c?a.validator:function(a){return a});c.validator=b;void 0!==d&&(f.textContent=d);f.appendChild(k);f.className="neuroglancer-number-input";k.type="input";c.registerDisposer(c.model.changed.add(function(){return c.updateView()}));c.registerEventListener(k, -"change",function(){return c.updateModel()});c.updateView();return c}p(e,a);b(e,[{key:"updateView",value:function(){this.inputElement.value=""+this.model.value}},{key:"updateModel",value:function(){var a=parseFloat(this.inputElement.value.trim());if(Number.isNaN(a))this.updateView();else try{a=this.validator(a),this.model.value=a}catch(m){this.updateView()}}},{key:"disposed",value:function(){Object(c.b)(this.element);d(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"disposed",this).call(this)}}]); -return e}(h.a)},function(h,f){},function(h,f,a){f.a=function(){return Object(q.c)(document,"contextmenu",function(a){a.preventDefault()})};f.b=function(){return Object(q.c)(document,"wheel",function(a){a.ctrlKey&&a.preventDefault()})};var q=a(1)},function(h,f,a){function q(){var a=g.SingleMeshUserLayer.prototype.addRenderLayer;g.SingleMeshUserLayer.prototype.addRenderLayer=function(b){b instanceof l.c&&Object(r.a)(b);a.call(this,b)}}function p(){var a=d.ImageUserLayer.prototype.transformPickedValue; -d.ImageUserLayer.prototype.transformPickedValue=function(b){b=a.call(this,b);null===b&&(b=void 0);return b}}function n(){var a=e.SegmentationUserLayer.prototype.addRenderLayer;e.SegmentationUserLayer.prototype.addRenderLayer=function(b){b instanceof k.a&&(b.segmentColorShaderManager=new u.b("segmentColorHash"));a.call(this,b)}}function c(){e.SegmentationUserLayer.prototype.addMesh=function(a){this.meshLayer=new m.a(this.manager.chunkManager,a,this.displayState);this.addRenderLayer(this.meshLayer)}} -f.a=function(a){a=a.globals||{};v||(a.useNehubaLayout&&(b.c.clear(),b.c.set("4panel",{factory:function(a,b,c,d){return new t.a(a,b,c,d)}}),b.c.set("xy",{factory:function(a,b,c,d){return new t.a(a,b,c,d)}})),a.hideNullImageValues&&p(),a.useCustomSegmentColors&&n(),a.useNehubaMeshLayer&&c(),a.useNehubaSingleMeshLayer&&q(),v=!0)};var b=a(82),d=a(106),e=a(64),g=a(176),l=a(115),k=a(175),t=a(121),m=a(123),r=a(362),u=a(122),v=!1},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function"); -}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return l}); -a.d(f,"b",function(){return k});h=a(1);var c=a(2),b=a(22),d=a(24),e=a(52),g=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),l=function(a){function f(a,b,g){q(this,f);var k=p(this,(f.__proto__||Object.getPrototypeOf(f)).call(this));k.gl=a;k.copyVertexPositionsBuffer=Object(e.a)(k.gl);k.textureCoordinateAdjustment= -new Float32Array(4);k.discardColor=c.u.fromValues(.5,.5,.5,1);var h=new d.a(a);h.addVarying("vec2","vTexCoord");h.addUniform("sampler2D","uSampler");h.addInitializer(function(b){a.uniform1i(b.uniform("uSampler"),0)});h.addUniform("vec4","uColorFactor");h.addUniform("vec4","uBackgroundColor");h.addUniform("mat4","uProjectionMatrix");h.addUniform("vec4","uTextureCoordinateAdjustment");h.addUniform("vec4","uDiscardColor");h.require(b);h.setFragmentMain("none"===g?"\nvec4 sampledColor = texture(uSampler, vTexCoord);\nif (sampledColor.a == 0.0) {\n sampledColor = uBackgroundColor;\n}\nemit(sampledColor * uColorFactor, vec4(0,0,0,0));\n": -"\nvec4 sampledColor = texture(uSampler, vTexCoord);\nif (sampledColor.a == 0.0) {\n sampledColor = uBackgroundColor;\n}\nif (sampledColor.r "+g+" uDiscardColor.r && sampledColor.g "+g+" uDiscardColor.g && sampledColor.b "+g+" uDiscardColor.b) discard;\nelse emit(sampledColor * uColorFactor, vec4(0,0,0,0));\n");h.addAttribute("vec4","aVertexPosition");h.setVertexMain("\nvTexCoord = uTextureCoordinateAdjustment.xy + 0.5 * (aVertexPosition.xy + 1.0) * uTextureCoordinateAdjustment.zw;\ngl_Position = uProjectionMatrix * aVertexPosition;\n"); -k.shader=k.registerDisposer(h.build());return k}n(f,a);g(f,[{key:"draw",value:function(a,b,c,d,e,g,f,k){var h=this.gl,l=this.shader,m=this.textureCoordinateAdjustment;m[0]=e;m[1]=g;m[2]=f-e;m[3]=k-g;l.bind();h.activeTexture(h.TEXTURE0);h.bindTexture(h.TEXTURE_2D,a);h.uniformMatrix4fv(l.uniform("uProjectionMatrix"),!1,b);h.uniform4fv(l.uniform("uColorFactor"),c);h.uniform4fv(l.uniform("uBackgroundColor"),d);h.uniform4fv(l.uniform("uTextureCoordinateAdjustment"),m);h.uniform4fv(l.uniform("uDiscardColor"), -this.discardColor);a=l.attribute("aVertexPosition");this.copyVertexPositionsBuffer.bindToVertexAttrib(a,2);h.drawArrays(h.TRIANGLE_FAN,0,4);h.disableVertexAttribArray(a);h.bindTexture(h.TEXTURE_2D,null)}},{key:"setDiscardColor",value:function(a){this.discardColor=a}}],[{key:"get",value:function(a,c,d){return a.memoize.get("nehuba/NehubaSliceViewRenderHelper:"+Object(b.a)(c)+":"+d,function(){return new f(a,c,d)})}}]);return f}(h.a),k=function(a){function c(a,b){q(this,c);var g=p(this,(c.__proto__|| -Object.getPrototypeOf(c)).call(this));g.gl=a;g.copyVertexPositionsBuffer=Object(e.a)(g.gl);a=new d.a(a);a.addUniform("mat4","uProjectionMatrix");a.addUniform("vec4","uColor");a.require(b);a.setFragmentMain("\nemit(uColor, vec4(0.0));\n");a.addAttribute("vec4","aVertexPosition");a.setVertexMain("\ngl_Position = uProjectionMatrix * aVertexPosition;\n");g.shader=g.registerDisposer(a.build());return g}n(c,a);g(c,[{key:"draw",value:function(a,b,c){var d=this.gl,e=this.shader;e.bind();d.uniformMatrix4fv(e.uniform("uProjectionMatrix"), -!1,a);d.uniform4fv(e.uniform("uColor"),b);a=e.attribute("aVertexPosition");this.copyVertexPositionsBuffer.bindToVertexAttrib(a,2);c&&(d.enable(d.POLYGON_OFFSET_FILL),d.polygonOffset(c.factor,c.units));d.depthMask(!1);d.enable(d.BLEND);d.blendFunc(d.SRC_ALPHA,d.ONE_MINUS_SRC_ALPHA);d.drawArrays(d.TRIANGLE_FAN,0,4);d.disable(d.BLEND);d.depthMask(!0);d.polygonOffset(0,0);d.disable(d.POLYGON_OFFSET_FILL);d.disableVertexAttribArray(a)}}],[{key:"get",value:function(a,d){return a.memoize.get("nehuba/TransparentPlaneRenderHelper:"+ -Object(b.a)(d),function(){return new c(a,d)})}}]);return c}(h.a)},function(h,f){},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}f.a=function(a){a.makeShaderManager=function(a){a=void 0===a?this.displayState.fragmentMain.value: -a;return new e(this.displayState.attributeNames.value,this.source.info.vertexAttributes,a)};a.draw=function(a){if(a.emitColor||!a.alreadyEmittedPickID){var b=this.source.chunks.get(n.b);if(void 0!==b&&b.state===p.d.GPU_MEMORY){var d=this.getShader(a.emitter);if(null!==d){var e=this.gl,g=this.shaderManager;d.bind();g.beginLayer(e,d,a);a.extra||console.error("Bad configuration. Nehuba mesh layer is used by neuroglancer code.");var f=Object(c.c)(a.extra);g.setNavState(e,d,f.navState);g.setOctant(e,d, -f.octant);g.setBackFaceColor(e,d,f.backFaceColor);f=a.pickIDs;g.beginObject(e,d,this.displayState.objectToDataTransform.transform);a.emitPickID&&g.setPickID(e,d,f.register(this,b.numIndices/3));g.drawFragment(e,d,b,this.countingBuffer);g.endLayer(e,d);a.extra.meshRendered=!0}}}}};var p=a(30),n=a(177);h=a(115);var c=a(123),b=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}} -return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),d=function l(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return l(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},e=function(a){function c(){if(!(this instanceof c))throw new TypeError("Cannot call a class as a function");var a=(c.__proto__||Object.getPrototypeOf(c)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); -return!a||"object"!==typeof a&&"function"!==typeof a?this:a}q(c,a);b(c,[{key:"defineShader",value:function(a){d(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"defineShader",this).call(this,a);a.addVarying("highp vec4","vNavPos");a.addUniform("highp mat4","uNavState");a.addUniform("highp vec4","uOctant");a.addUniform("highp vec4","uBackFaceColor");a.addVertexMain("\nvec4 position = uModelMatrix * vec4(vertexPosition, 1.0);\nvNavPos = uNavState * position * uOctant;\n");a.addFragmentCode(this.fragmentMain.replace("void main()", -"void userMain()"));a.setFragmentMain("\nif (vNavPos.x > 0.0 && vNavPos.y > 0.0 && vNavPos.z > 0.0) {\n discard;\n} else {\n if (gl_FrontFacing) userMain();\n else emit(uBackFaceColor, uPickID);\n}\n")}},{key:"setNavState",value:function(a,b,c){a.uniformMatrix4fv(b.uniform("uNavState"),!1,c)}},{key:"setOctant",value:function(a,b,c){a.uniform4fv(b.uniform("uOctant"),c)}},{key:"setBackFaceColor",value:function(a,b,c){a.uniform4fv(b.uniform("uBackFaceColor"),c)}}]);return c}(h.d)},function(h,f,a){f.a= -function(a,c,b){var d=Object.assign({prefire:!0,share:!0},b),e=a instanceof q.a?a:a.s,g=a instanceof q.a?a:a.r;a=p.Observable.create(function(a){d.prefire&&a.next(c(e));var b=e.changed.add(function(){a.next(c(e))}),f=g.registerDisposer(function(){return a.complete()});return function(){b();g.unregisterDisposer(f)}});return d.share?d.prefire?a.publishReplay(1).refCount():a.share():a};var q=a(1),p=a(194);a.n(p)},function(h,f,a){h=a(12);f.Subject=h.Subject;f.AnonymousSubject=h.AnonymousSubject;h=a(0); +this.dataContext.chunkQueueManager;null===a.chunkUpdateDeadline&&(a.chunkUpdateDeadline=Date.now()+10)}this.mouseState.stale=!0}},{key:"chunkManager",get:function(){return this.dataContext.chunkManager}},{key:"chunkQueueManager",get:function(){return this.dataContext.chunkQueueManager}},{key:"inputEventMap",get:function(){return this.inputEventBindings.global}},{key:"gl",get:function(){return this.display.gl}}]);return e}(f.a)},function(h,f,a){function q(a,c){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); +return!c||"object"!==typeof c&&"function"!==typeof c?a:c}function p(a,c){if("function"!==typeof c&&null!==c)throw new TypeError("Super expression must either be null or a function, not "+typeof c);a.prototype=Object.create(c&&c.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});c&&(Object.setPrototypeOf?Object.setPrototypeOf(a,c):a.__proto__=c)}function n(a){return a.startsWith("key")?a.substring(3):a.startsWith("digit")||a.startsWith("arrow")?a.substring(5):a}a.d(f,"a", +function(){return d});h=a(47);a(325);var d=function(a){function b(a){function c(a,b){for(var e=$jscomp.makeIterator(a.parents),g=e.next();!g.done;g=e.next())g=g.value,void 0!==g.label?d(g.label,g):c(g,b);a=$jscomp.makeIterator(a.bindings.entries());for(e=a.next();!e.done;e=a.next()){g=$jscomp.makeIterator(e.value);e=g.next().value;g=g.next().value;var f=e.indexOf(":");e=e.substring(f+1);b.set(e,g.action)}}function d(a,b){r.has(b)||(a={label:a,entries:new Map},c(b,a.entries),r.set(b,a))}if(!(this instanceof +b))throw new TypeError("Cannot call a class as a function");var e=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this)),f=e.content;f.classList.add("describe-key-bindings");var h=document.createElement("div");h.classList.add("describe-key-bindings-container");var r=new Map;a=$jscomp.makeIterator(a);for(var p=a.next();!p.done;p=a.next()){var v=$jscomp.makeIterator(p.value);p=v.next().value;v=v.next().value;d(p,v)}a=$jscomp.makeIterator(r.values());for(p=a.next();!p.done;p=a.next()){v=p.value; +p=document.createElement("h2");p.textContent=v.label;h.appendChild(p);p=document.createElement("div");p.className="dl";v=$jscomp.makeIterator(v.entries);for(var w=v.next();!w.done;w=v.next()){var y=$jscomp.makeIterator(w.value);w=y.next().value;y=y.next().value;var x=document.createElement("div"),A=document.createElement("div");A.className="definition-outer-container";x.className="definition-container";var z=document.createElement("div");z.className="dt";z.textContent=w.split("+").map(n).join("+"); +w=document.createElement("div");w.className="dd";w.textContent=y;x.appendChild(z);x.appendChild(w);p.appendChild(A);A.appendChild(x)}h.appendChild(p)}f.appendChild(h);return e}p(b,a);return b}(h.a)},function(h,f){},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+ +typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a){var b=document.createElement("div");b.textContent=a.value;return b}f.b=function(a){var b=document.createElement("div");b.className="autocomplete-completion-with-description";b.textContent=a.value;var c=document.createElement("div");c.className="autocomplete-completion-description";c.textContent=a.description|| +"";b.appendChild(c);return b};a.d(f,"a",function(){return y});h=a(10);var d=a.n(h),b=a(32);h=a(1);var c=a(8),e=a(327),g=a(61),l=a(328),k=a(329),t=a(7),m=a(186),r=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),u=function A(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b); +if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return A(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(330);$jscomp.initSymbol();var v=Symbol("autocompleteIndex"),w=g.a.fromObject({arrowdown:{action:"cycle-next-active-completion"},arrowup:{action:"cycle-prev-active-completion"},tab:{action:"choose-active-completion-or-prefix",preventDefault:!1},enter:{action:"choose-active-completion",preventDefault:!1},escape:{action:"cancel",preventDefault:!1,stopPropagation:!1}}), +y=function(a){function f(a){if(!(this instanceof f))throw new TypeError("Cannot call a class as a function");var c=q(this,(f.__proto__||Object.getPrototypeOf(f)).call(this));c.inputChanged=new t.b;c.prevInputValue="";c.completionsVisible=!1;c.activeCompletionPromise=null;c.activeCompletionCancellationToken=void 0;c.hasFocus=!1;c.completionResult=null;c.dropdownContentsStale=!0;c.updateHintScrollPositionTimer=null;c.completionElements=null;c.hasResultForDropdown=!1;c.commonPrefix="";c.activeIndex= +-1;c.dropdownStyleStale=!0;c.completer=a.completer;a=void 0===a.delay?200:a.delay;var e=c.scheduleUpdateCompletions=d()(function(){var a=c.activeCompletionCancellationToken=new b.b,d=c.activeCompletionPromise=c.completer(c.value,a);null!==d&&d.then(function(a){c.activeCompletionPromise===d&&(c.setCompletions(a),c.activeCompletionPromise=null)})},a);c.registerDisposer(function(){e.cancel()});a=c.element=document.createElement("div");a.className="autocomplete";var k=document.createElement("div");k.className= +"autocomplete-dropdown-wrapper";var l=c.dropdownElement=document.createElement("div");l.className="autocomplete-dropdown";var h=c.promptElement=document.createElement("label");h.className="autocomplete-prompt";var n=c.inputWrapperElement=document.createElement("div");n.className="autocomplete-input-wrapper";a.appendChild(h);var r=c.inputElement=document.createElement("input");r.type="text";r.autocomplete="off";r.spellcheck=!1;r.className="autocomplete-input";Object(m.a)(h,r);h=c.hintElement=document.createElement("input"); +h.type="text";h.spellcheck=!1;h.className="autocomplete-hint";h.disabled=!0;n.appendChild(h);n.appendChild(r);k.appendChild(n);k.appendChild(l);a.appendChild(k);c.registerInputHandler();c.handleInputChanged("");c.registerEventListener(c.inputElement,"focus",function(){c.hasFocus||(c.hasFocus=!0,c.dropdownStyleStale=!0,c.updateDropdown())});c.registerEventListener(c.inputElement,"blur",function(){c.hasFocus&&(c.hasFocus=!1,c.updateDropdown())});c.registerEventListener(a.ownerDocument.defaultView,"resize", +function(){c.dropdownStyleStale=!0});c.registerEventListener(a.ownerDocument.defaultView,"scroll",function(){c.dropdownStyleStale=!0});c.registerEventListener(c.dropdownElement,"mousedown",c.handleDropdownMousedown.bind(c));c.registerEventListener(c.inputElement,"keydown",function(){c.hintScrollPositionMayBeStale()});c.registerEventListener(c.inputElement,"mousemove",function(a){0!==a.buttons&&c.hintScrollPositionMayBeStale()});c.registerDisposer(new g.b(r,w)).allShortcutsAreGlobal=!0;Object(g.c)(r, +"cycle-next-active-completion",function(){c.cycleActiveCompletion(1)});Object(g.c)(r,"cycle-prev-active-completion",function(){c.cycleActiveCompletion(-1)});Object(g.c)(r,"choose-active-completion-or-prefix",function(a){c.selectActiveCompletion(!0)&&a.preventDefault()});Object(g.c)(r,"choose-active-completion",function(a){c.selectActiveCompletion(!1)&&a.preventDefault()});Object(g.c)(r,"cancel",function(a){a.stopPropagation();c.cancel()&&(a.detail.preventDefault(),a.detail.stopPropagation())});return c} +p(f,a);r(f,[{key:"hintScrollPositionMayBeStale",value:function(){""!==this.hintElement.value&&this.scheduleUpdateHintScrollPosition()}},{key:"handleDropdownMousedown",value:function(a){this.inputElement.focus();for(var b=this.dropdownElement,c=a.target;c instanceof HTMLElement;c=c.parentElement){var d=c[v];if(void 0!==d){this.selectCompletion(d);break}if(c===b)break}a.preventDefault()}},{key:"cycleActiveCompletion",value:function(a){if(null!==this.completionResult){var b=this.activeIndex,c=this.completionResult.completions.length; +this.setActiveIndex(-1===b?0<a?0:c-1:(b+a+c)%c)}}},{key:"registerInputHandler",value:function(){for(var a=this,b=function(b){b=a.inputElement.value;b!==a.prevInputValue&&(a.prevInputValue=b,a.handleInputChanged(b))},c=$jscomp.makeIterator(["input"]),d=c.next();!d.done;d=c.next())this.registerEventListener(this.inputElement,d.value,b,!1)}},{key:"shouldShowDropdown",value:function(){return null!==this.completionResult&&this.hasFocus?this.hasResultForDropdown:!1}},{key:"updateDropdownStyle",value:function(){Object(e.a)(this.dropdownElement, +this.inputElement,{horizontal:!1});this.dropdownStyleStale=!1}},{key:"updateDropdown",value:function(){if(this.shouldShowDropdown()){var a=this.dropdownElement,b=this.activeIndex;if(this.dropdownContentsStale){var c=this.completionResult,d=void 0===c.makeElement?n:c.makeElement;this.completionElements=c.completions.map(function(e,g){e=d.call(c,e);e[v]=g;e.classList.add("autocomplete-completion");b===g&&e.classList.add("autocomplete-completion-active");a.appendChild(e);return e});this.dropdownContentsStale= +!1}this.dropdownStyleStale&&this.updateDropdownStyle();this.completionsVisible||(a.style.display="block",this.completionsVisible=!0);-1!==b&&Object(k.a)(this.completionElements[b])}else this.completionsVisible&&(this.dropdownElement.style.display="none",this.completionsVisible=!1)}},{key:"setCompletions",value:function(a){this.clearCompletions();var b=a.completions;0!==b.length&&(this.completionResult=a,1===b.length?(b=b[0],a.showSingleResult?this.hasResultForDropdown=!0:b.value.startsWith(this.prevInputValue)? +this.hasResultForDropdown=!1:this.hasResultForDropdown=!0,a.selectSingleResult?this.setActiveIndex(0):this.setHintValue(this.getCompletedValueByIndex(0))):(this.hasResultForDropdown=!0,b=Object(l.a)(function(){function b(b,f){for(;;)switch(c){case 0:g=$jscomp.makeIterator(a.completions),e=g.next();case 1:if(e.done){c=3;break}d=e.value;c=4;return{value:d.value,done:!1};case 4:if(void 0===f){c=5;break}c=-1;throw f;case 5:case 2:e=g.next();c=1;break;case 3:c=-1;default:return{value:void 0,done:!0}}} +var c=0,d,e,g,f={next:function(a){return b(a,void 0)},throw:function(a){return b(void 0,a)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();f[Symbol.iterator]=function(){return this};return f}()),b=this.getCompletedValue(b),b.startsWith(this.prevInputValue)&&(this.commonPrefix=b,this.setHintValue(b))),this.updateDropdown())}},{key:"scheduleUpdateHintScrollPosition",value:function(){var a=this;null===this.updateHintScrollPositionTimer&&(this.updateHintScrollPositionTimer= +setTimeout(function(){a.updateHintScrollPosition()},0))}},{key:"setHintValue",value:function(a){var b=this.prevInputValue;a!==b&&a.startsWith(b)||(a="");this.hintElement.value=a;this.scheduleUpdateHintScrollPosition()}},{key:"setActiveIndex",value:function(a){if(!this.dropdownContentsStale){var b=this.activeIndex;-1!==b&&this.completionElements[b].classList.remove("autocomplete-completion-active");-1!==a&&(b=this.completionElements[a],b.classList.add("autocomplete-completion-active"),Object(k.a)(b))}-1!== +a&&this.setHintValue(this.getCompletedValueByIndex(a));this.activeIndex=a}},{key:"getCompletedValueByIndex",value:function(a){return this.getCompletedValue(this.completionResult.completions[a].value)}},{key:"getCompletedValue",value:function(a){return this.prevInputValue.substring(0,this.completionResult.offset)+a}},{key:"selectActiveCompletion",value:function(a){var b=this.activeIndex;if(-1===b){if(!a)return!1;a=this.completionResult;if(null!==a&&1===a.completions.length)b=0;else return a=this.commonPrefix, +a.length>this.value.length?(this.value=a,!0):!1}a=this.getCompletedValueByIndex(b);if(this.value===a)return!1;this.value=a;return!0}},{key:"selectCompletion",value:function(a){this.value=this.getCompletedValueByIndex(a)}},{key:"cancel",value:function(){return!1}},{key:"updateHintScrollPosition",value:function(){this.updateHintScrollPositionTimer=null;this.hintElement.scrollLeft=this.inputElement.scrollLeft}},{key:"cancelActiveCompletion",value:function(){var a=this.activeCompletionCancellationToken; +void 0!==a&&a.cancel();this.activeCompletionCancellationToken=void 0;this.activeCompletionPromise=null}},{key:"handleInputChanged",value:function(a){this.cancelActiveCompletion();this.hintElement.value="";this.clearCompletions();this.inputChanged.dispatch(a);this.scheduleUpdateCompletions()}},{key:"clearCompletions",value:function(){null!==this.completionResult&&(this.activeIndex=-1,this.completionElements=this.completionResult=null,this.dropdownStyleStale=this.dropdownContentsStale=!0,this.commonPrefix= +"",Object(c.a)(this.dropdownElement),this.updateDropdown())}},{key:"disposed",value:function(){Object(c.b)(this.element);this.cancelActiveCompletion();null!==this.updateHintScrollPositionTimer&&(clearTimeout(this.updateHintScrollPositionTimer),this.updateHintScrollPositionTimer=null);u(f.prototype.__proto__||Object.getPrototypeOf(f.prototype),"disposed",this).call(this)}},{key:"disabled",get:function(){return this.inputElement.disabled},set:function(a){this.inputElement.disabled=a}},{key:"value", +get:function(){return this.prevInputValue},set:function(a){a!==this.prevInputValue&&(this.prevInputValue=this.inputElement.value=a,this.handleInputChanged(a))}}]);return f}(h.a)},function(h,f,a){f.a=function(a,f,h){var d=void 0===h?{}:h,b=void 0===d.horizontal?!1:d.horizontal,c=void 0===d.vertical?!0:d.vertical,e=void 0===d.topMargin?6:d.topMargin,g=void 0===d.bottomMargin?6:d.bottomMargin,l=void 0===d.leftMargin?6:d.leftMargin,k=void 0===d.rightMargin?6:d.rightMargin;h=void 0===d.maxHeight?!0:d.maxHeight; +d=void 0===d.maxWidth?!0:d.maxWidth;f=f.getBoundingClientRect();if(b){b=f.right;var n=a.ownerDocument.documentElement.clientHeight-f.left;b>n?(a.style.left="",a.style.right="0",d&&(a.style.maxWidth=b-l+"px")):(a.style.right="",a.style.left="0",d&&(a.style.maxWidth=n-k+"px"))}c&&(c=f.top-e,g=a.ownerDocument.documentElement.clientHeight-f.bottom-g,c>3*g?(a.style.top="",a.style.bottom="100%",h&&(a.style.maxHeight=c+"px")):(a.style.top="100%",a.style.bottom="",h&&(a.style.maxHeight=g+"px")))}},function(h, +f,a){f.a=function(a){$jscomp.initSymbol();$jscomp.initSymbolIterator();a=a[Symbol.iterator]();var f=a.next(),h=f.value;if(f.done)return"";for(f=h.length;0<f;){var d=a.next(),b=d.value;if(d.done)break;for(d=0;d<f&&h.charCodeAt(d)===b.charCodeAt(d);++d);f=d}return h.substring(0,f)}},function(h,f,a){f.a=function(a){var f=a.parentElement,h=a.offsetLeft-f.clientLeft,d=a.offsetTop-f.clientTop,b=f.scrollLeft,c=f.scrollTop;d=Math.max(0,d+a.offsetHeight-(c+f.clientHeight))||Math.min(0,d-c);f.scrollLeft+=Math.max(0, +h+a.offsetWidth-(b+f.clientWidth))||Math.min(0,h-b);f.scrollTop+=d}},function(h,f){},function(h,f,a){f.a=function(){var a=document.createElement("button");a.type="submit";a.className="hidden-submit-button";a.style.margin="0";a.style.border="0";a.style.padding="0";a.style.width="0";a.style.height="0";a.style.overflow="hidden";a.tabIndex=-1;return a}},function(h,f){},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); +return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function d(a){return{mouseState:a.mouseState,showAxisLines:a.showAxisLines,showScaleBar:a.showScaleBar,scaleBarOptions:a.scaleBarOptions, +showPerspectiveSliceViews:a.showPerspectiveSliceViews,inputEventBindings:a.inputEventBindings,visibility:a.visibility,selectedLayer:a.selectedLayer,visibleLayerRoles:a.visibleLayerRoles,navigationState:a.navigationState.addRef(),perspectiveNavigationState:a.perspectiveNavigationState.addRef(),crossSectionBackgroundColor:a.crossSectionBackgroundColor}}function b(a,b,c){var d=Object(t.c)(a,"dragenter",function(b){void 0!==Object(k.c)(b)&&a.classList.add("neuroglancer-drag-over")}),e=Object(t.c)(a,"dragleave", +function(){a.classList.remove("neuroglancer-drag-over")}),f=Object(t.c)(a,"dragover",function(a){Object(g.c)(a)?(Object(r.e)(a,Object(g.b)(a,b)),a.stopPropagation(),a.preventDefault()):void 0!==Object(k.c)(a)&&(Object(k.f)(a,b,!0),a.stopPropagation(),a.preventDefault())}),l=Object(t.c)(a,"drop",function(d){a.classList.remove("neuroglancer-drag-over");if(Object(g.c)(d)){d.stopPropagation();try{var e=JSON.parse(d.dataTransfer.getData(g.d))}catch(U){return}var f=Object(k.b)(d,b,!1,!1,!0);if(void 0!== +f&&f.finalize(d)){d.preventDefault();d.dataTransfer.dropEffect=Object(r.c)();Object(k.a)(d);var l=c();f=$jscomp.makeIterator(f.layers.keys());for(d=f.next();!d.done;d=f.next())l.layerSpecification.add(d.value);try{l.restoreState(e)}catch(U){}}}else if(e=Object(k.b)(d,b,"copy"===Object(r.c)(),!1,!0),void 0!==e&&e.finalize(d)){d.preventDefault();d.dataTransfer.dropEffect=Object(r.c)();Object(k.a)(d);l=c();f=$jscomp.makeIterator(e.layers.keys());for(d=f.next();!d.done;d=f.next())l.layerSpecification.add(d.value); +try{l.layout.restoreState(e.layoutSpec)}catch(U){l.layout.reset()}}});return function(){l();f();e();d()}}function c(a,b){var c=document.createElement("div");c.style.flex="1";c.style.width="0px";if("string"===typeof b){if(void 0!==a.parent)throw Error("Invalid layout component specification: "+JSON.stringify(b));return new z(c,b,a.viewer)}Object(u.t)(b);var e=Object(u.v)(b,"type",u.A);switch(e){case "row":case "column":return new D(c,e,Object(u.v)(b,"children",function(b){b=Object(u.a)(b,function(a){return a}); +if(void 0===a.parent&&0===b.length)throw Error("Stack layout requires at least one child.");return b}),a);case "viewer":e=a.viewer;var f=new l.a(e.layerSpecification.addRef());c=new g.a(c,Object.assign({display:e.display,layerSpecification:f},d(e)),{showLayerPanel:e.uiControlVisibility.showLayerPanel,showViewerMenu:!0});try{c.restoreState(b)}catch(J){throw c.dispose(),J;}return c;default:return new z(c,b,a.viewer)}}a.d(f,"a",function(){return E});h=a(10);var e=a.n(h),g=a(334),l=a(27),k=a(118),t=a(1), +m=a(8),r=a(119),u=a(4),v=a(7),w=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),y=function C(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return C(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b? +void 0:b.call(c)}};a(341);$jscomp.initSymbol();var x=Symbol("layoutComponentContainer"),A=function(a){function d(a,c,e){q(this,d);var g=p(this,(d.__proto__||Object.getPrototypeOf(d)).call(this));g.viewer=a;g.parent=e;g.changed=new v.a;g.element=document.createElement("div");var f=g.element;f.style.display="flex";f.style.flex="1";f.style.position="relative";f.style.alignItems="stretch";f.foo="hello";f[x]=g;g.setSpecification(c);var l=[];a=function(a){var c=document.createElement("div");c.className= +"neuroglancer-layout-split-drop-zone";c.style[a]="0";switch(a){case "left":case "right":var d="row";c.style.width="10px";c.style.height="100%";break;case "top":case "bottom":d="column",c.style.height="10px",c.style.width="100%"}c.style.display="none";l.push({element:c,direction:d,orientation:a});f.appendChild(c);g.registerDisposer(b(c,g.viewer.layerSpecification,function(){return g.split(a).newContainer.component}))};a("left");a("right");a("top");a("bottom");var h=!1;g.registerEventListener(f,"dragenter", +function(a){if(!h&&void 0!==Object(k.c)(a)){h=!0;a=$jscomp.makeIterator(l);for(var b=a.next();!b.done;b=a.next()){var c=b.value;b=c.element;var d=c.direction;c=c.orientation;if(void 0===e||d!==e.direction||("left"!==c&&"top"!==c||e.get(0)===g)&&("bottom"!==c&&"right"!==c||e.get(e.length-1)===g))c=g.component,c instanceof D&&c.direction===d||(b.style.display="block")}}},!0);g.registerEventListener(f,"drop",function(a){if(h){h=!1;a=$jscomp.makeIterator(l);for(var b=a.next();!b.done;b=a.next())b.value.element.style.display= +"none"}});g.registerEventListener(f,"dragleave",function(a){a=a.relatedTarget;if(h&&!(a instanceof HTMLElement&&g.element.contains(a))){h=!1;a=$jscomp.makeIterator(l);for(var b=a.next();!b.done;b=a.next())b.value.element.style.display="none"}},!0);return g}n(d,a);w(d,[{key:"unsetComponent",value:function(){var a=this.componentValue;void 0!==a&&(a.changed.remove(this.changed.dispatch),this.element.removeChild(a.element),a.dispose())}},{key:"setComponent",value:function(a){var b=this;this.unsetComponent(); +this.componentValue=a;a.changed.add(this.changed.dispatch);this.element.appendChild(a.element);if(a instanceof g.a){var c=a.layerManager,d=a.registerCancellable(e()(function(){0===c.managedLayers.length&&b.dispose()},0));a.registerDisposer(c.layersChanged.add(function(){0===c.managedLayers.length&&d()}));d()}else if(a instanceof D){var f=a.registerCancellable(e()(function(){var c=a.length;if(0===c&&void 0!==b.parent)b.dispose();else if(1===c){c=a.get(0).component;if(void 0===b.parent&&c instanceof +g.a){var d=c.layout.specification.toJSON();c.viewerNavigationState.copyToParent();var e=new Set(c.layerManager.managedLayers),f=c.layerSpecification;f.rootLayers.filter(function(a){return e.has(a)});f.rootLayers.managedLayers=Array.from(c.layerManager.managedLayers);f.rootLayers.layersChanged.dispatch()}else d=c.toJSON();b.setSpecification(d)}},0));a.registerDisposer(a.changed.add(function(){2>a.length&&f()}));f()}this.changed.dispatch()}},{key:"toJSON",value:function(){return this.component.toJSON()}}, +{key:"setSpecification",value:function(a){this.setComponent(c(this,a))}},{key:"disposed",value:function(){this.unsetComponent();this.componentValue=void 0;y(d.prototype.__proto__||Object.getPrototypeOf(d.prototype),"disposed",this).call(this)}},{key:"split",value:function(a){var b={type:"viewer"},c=this.parent;if(void 0!==c){if("left"===a&&"row"===c.direction||"top"===a&&"column"===c.direction)return{newContainer:c.insertChild(b,this),existingContainer:this};if("right"===a&&"row"===c.direction||"bottom"=== +a&&"column"===c.direction)return{newContainer:c.insertChild(b),existingContainer:this}}c=this.component;c=c instanceof z?c.layerGroupViewer.toJSON():c.toJSON();var d="left"===a||"right"===a?"row":"column";switch(a){case "left":case "top":var e={type:d,children:[b,c]};var g=0;break;case "right":case "bottom":e={type:d,children:[c,b]},g=1}this.setSpecification(e);a=this.component;return{newContainer:a.get(g),existingContainer:a.get(1-g)}}},{key:"component",get:function(){return this.componentValue}}], +[{key:"getFromElement",value:function(a){return a[x]}}]);return d}(t.a),z=function(a){function b(a,c,e){q(this,b);var f=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));f.element=a;f.layerGroupViewer=f.registerDisposer(new g.a(a,Object.assign({display:e.display,layerSpecification:e.layerSpecification.addRef()},d(e)),{showLayerPanel:e.uiControlVisibility.showLayerPanel,showViewerMenu:!1}));f.layerGroupViewer.layout.restoreState(c);return f}n(b,a);w(b,[{key:"toJSON",value:function(){return this.layerGroupViewer.layout.specification.toJSON()}}, +{key:"changed",get:function(){return this.layerGroupViewer.layout.changed}}]);return b}(t.a),D=function(a){function c(a,b,d,e){q(this,c);var g=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));g.element=a;g.direction=b;g.container=e;g.changed=new v.a;a.classList.add("neuroglancer-stack-layout");a.classList.add("neuroglancer-stack-layout-"+b);a.style.display="flex";a.style.flexDirection=b;a.appendChild(g.makeDropPlaceholder(g));a=$jscomp.makeIterator(d);for(b=a.next();!b.done;b=a.next())g.insertChild(b.value); +return g}n(c,a);$jscomp.initSymbol();$jscomp.initSymbolIterator();w(c,[{key:"makeDropPlaceholder",value:function(a){var c=this,d=document.createElement("div");d.className="neuroglancer-stack-layout-drop-placeholder";a.registerDisposer(b(d,this.viewer.layerSpecification,function(){var a=d.nextElementSibling,b;null!==a&&(b=A.getFromElement(a));return c.insertChild({type:"viewer",layers:[]},b).component}));a.registerDisposer(function(){Object(m.b)(d)});return d}},{key:"get",value:function(a){return A.getFromElement(this.element.children[2* +a+1])}},{key:"insertChild",value:function(a,b){var c=this,d=new A(this.viewer,a,this);a=this.makeDropPlaceholder(d);d.element.classList.add("neuroglancer-stack-layout-child");d.registerDisposer(d.changed.add(this.changed.dispatch));d.registerDisposer(function(){c.element.removeChild(d.element);c.changed.dispatch()});b=void 0!==b?b.element:null;this.element.insertBefore(d.element,b);this.element.insertBefore(a,b);this.changed.dispatch();return d}},{key:"disposed",value:function(){this.clear();y(c.prototype.__proto__|| +Object.getPrototypeOf(c.prototype),"disposed",this).call(this)}},{key:"clear",value:function(){for(;0!==this.length;)this.get(0).dispose()}},{key:Symbol.iterator,value:function(){function a(a,f){for(;;)switch(b){case 0:e=g,d=e.length,c=0;case 1:if(!(c<d)){b=3;break}b=4;return{value:g.get(c),done:!1};case 4:if(void 0===f){b=5;break}b=-1;throw f;case 5:case 2:++c;b=1;break;case 3:b=-1;default:return{value:void 0,done:!0}}}var b=0,c,d,e,g=this,f={next:function(b){return a(b,void 0)},throw:function(b){return a(void 0, +b)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();f[Symbol.iterator]=function(){return this};return f}},{key:"toJSON",value:function(){return{type:this.direction,children:Array.from(this).map(function(a){return a.toJSON()})}}},{key:"length",get:function(){return(this.element.childElementCount-1)/2}},{key:"viewer",get:function(){return this.container.viewer}}]);return c}(t.a),E=function(a){function b(a,c){q(this,b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this)); +d.viewer=a;d.defaultSpecification=c;d.container=d.registerDisposer(new A(d.viewer,d.defaultSpecification,void 0));return d}n(b,a);w(b,[{key:"reset",value:function(){this.container.setSpecification(this.defaultSpecification)}},{key:"restoreState",value:function(a){this.container.setSpecification(a)}},{key:"disposed",value:function(){y(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}},{key:"toJSON",value:function(){return this.container.toJSON()}},{key:"changed", +get:function(){return this.container.changed}},{key:"element",get:function(){return this.container.element}}]);return b}(t.a)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+ +typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function d(a,b){a=new t.a(a);var c=a.element;c.classList.add("neuroglancer-layer-group-viewer-context-menu");var d=document.createElement("button");d.textContent="Remove layer group";c.appendChild(d);a.registerEventListener(d,"click",function(){b.layerSpecification.layerManager.clear()});d=b.viewerNavigationState; +d=$jscomp.makeIterator([["Position",d.position.link],["Cross-section orientation",d.crossSectionOrientation.link],["Cross-section zoom",d.crossSectionZoom.link],["Perspective orientation",d.perspectiveOrientation.link],["Perspective zoom",d.perspectiveZoom.link]]);for(var e=d.next();!e.done;e=d.next()){var g=$jscomp.makeIterator(e.value);e=g.next().value;g=g.next().value;g=a.registerDisposer(new x.a(g));var f=document.createElement("label");f.style.display="flex";f.style.flexDirection="row";f.style.whiteSpace= +"nowrap";f.textContent=e;f.appendChild(g.element);c.appendChild(f)}return a}f.c=function(a){return-1!==a.dataTransfer.types.indexOf("neuroglancer-layer-group-viewer")};f.b=function(a,b){if(a.shiftKey)return"copy";if(a.ctrlKey)return"move";a=D&&D.viewer.layerSpecification.rootLayers===b.rootLayers?D.viewer:void 0;return void 0!==a?"move":"copy"};a.d(f,"a",function(){return G});h=a(10);var b=a.n(h),c=a(83),e=a(335),g=a(27),l=a(57),k=a(35),t=a(188),m=a(118),r=a(189),u=a(79);h=a(1);var v=a(8),w=a(22), +y=a(67),x=a(339),A=function B(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return B(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},z=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(); +a(340);f.d="neuroglancer-layer-group-viewer";var D,E=function(a){function b(a){q(this,b);var c=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.position=new l.b(a.navigationState.position.addRef());c.crossSectionOrientation=new l.a(a.navigationState.pose.orientation.addRef());c.crossSectionZoom=new l.c(a.navigationState.zoomFactor.addRef());c.navigationState=c.registerDisposer(new l.e(new l.g(c.position.value,c.crossSectionOrientation.value),c.crossSectionZoom.value));c.perspectiveOrientation= +new l.a(a.perspectiveNavigationState.pose.orientation.addRef());c.perspectiveZoom=new l.c(a.perspectiveNavigationState.zoomFactor.addRef());c.perspectiveNavigationState=c.registerDisposer(new l.e(new l.g(c.position.value.addRef(),c.perspectiveOrientation.value),c.perspectiveZoom.value));return c}n(b,a);z(b,[{key:"copyToParent",value:function(){for(var a=$jscomp.makeIterator([this.position,this.crossSectionOrientation,this.crossSectionZoom,this.perspectiveOrientation,this.perspectiveZoom]),b=a.next();!b.done;b= +a.next())b.value.copyToPeer()}},{key:"register",value:function(a){a.add("position",this.position);a.add("crossSectionOrientation",this.crossSectionOrientation);a.add("crossSectionZoom",this.crossSectionZoom);a.add("perspectiveOrientation",this.perspectiveOrientation);a.add("perspectiveZoom",this.perspectiveZoom)}}]);return b}(h.a),G=function(a){function f(a,d,e){e=void 0===e?{}:e;q(this,f);var l=p(this,(f.__proto__||Object.getPrototypeOf(f)).call(this));l.element=a;l.viewerState=d;l.state=new y.a; +l.options=Object.assign({showLayerPanel:new k.b(!0),showViewerMenu:!1},e);l.layerSpecification=l.registerDisposer(d.layerSpecification);l.viewerNavigationState=l.registerDisposer(new E(d));l.viewerNavigationState.register(l.state);l.layerSpecification instanceof g.a?l.state.add("layers",l.layerSpecification):l.state.add("layers",{changed:l.layerSpecification.changed,toJSON:function(){return l.layerSpecification.layerManager.managedLayers.map(function(a){return a.name})},reset:function(){throw Error("not implemented"); +},restoreState:function(){throw Error("not implemented");}});a.classList.add("neuroglancer-layer-group-viewer");l.registerDisposer(new u.a(a));l.layout=l.registerDisposer(new c.a(l,"xy"));l.state.add("layout",l.layout);l.registerActionBindings();l.registerDisposer(l.layerManager.useDirectly());l.registerDisposer(Object(r.a)(a,l.navigationState.position));l.registerDisposer(l.options.showLayerPanel.changed.add(l.registerCancellable(b()(function(){return l.updateUI()},0))));l.makeUI();return l}n(f, +a);z(f,[{key:"bindAction",value:function(a,b){this.registerDisposer(Object(w.c)(this.element,a,b))}},{key:"registerActionBindings",value:function(){var a=this;this.bindAction("add-layer",function(){a.layerPanel&&a.layerPanel.addLayerMenu()})}},{key:"toJSON",value:function(){return Object.assign({type:"viewer"},this.state.toJSON())}},{key:"reset",value:function(){this.state.reset()}},{key:"restoreState",value:function(a){this.state.restoreState(a)}},{key:"makeUI",value:function(){this.element.style.flex= +"1";this.element.style.display="flex";this.element.style.flexDirection="column";this.element.appendChild(this.layout.element);this.updateUI()}},{key:"updateUI",value:function(){var a=this,b=this.options,c=b.showLayerPanel.value;void 0===this.layerPanel||c?c&&void 0===this.layerPanel&&(c=this.layerPanel=new e.a(this.display,this.layerSpecification,this.viewerNavigationState,this.viewerState.selectedLayer,function(){return a.layout.toJSON()}),b.showViewerMenu?(c.registerDisposer(d(c.element,this)), +c.element.title="Right click for options, drag to move/copy layer group."):c.element.title="Drag to move/copy layer group.",c.element.draggable=!0,this.registerEventListener(c.element,"dragstart",function(b){Object(m.e)(b,{manager:a.layerSpecification,layers:a.layerManager.managedLayers,layoutSpec:a.layout.toJSON()});var c=function(){D&&D.viewer===a&&(D=void 0);a.unregisterDisposer(c)};D={viewer:a,disposer:c};a.registerDisposer(c);var d=a.toJSON();delete d.layers;b.dataTransfer.setData("neuroglancer-layer-group-viewer", +JSON.stringify(d))}),this.registerEventListener(c.element,"dragend",function(b){Object(m.a)(b);void 0!==D&&D.viewer===a&&D.disposer()}),this.element.insertBefore(c.element,this.element.firstChild)):(this.layerPanel.dispose(),this.layerPanel=void 0)}},{key:"disposed",value:function(){Object(v.a)(this.element);var a=this.layerPanel;void 0!==a&&(a.dispose(),this.layerPanel=void 0);A(f.prototype.__proto__||Object.getPrototypeOf(f.prototype),"disposed",this).call(this)}},{key:"perspectiveNavigationState", +get:function(){return this.viewerNavigationState.perspectiveNavigationState}},{key:"navigationState",get:function(){return this.viewerNavigationState.navigationState}},{key:"display",get:function(){return this.viewerState.display}},{key:"selectedLayer",get:function(){return this.viewerState.selectedLayer}},{key:"layerManager",get:function(){return this.layerSpecification.layerManager}},{key:"chunkManager",get:function(){return this.layerSpecification.chunkManager}},{key:"mouseState",get:function(){return this.viewerState.mouseState}}, +{key:"showAxisLines",get:function(){return this.viewerState.showAxisLines}},{key:"showScaleBar",get:function(){return this.viewerState.showScaleBar}},{key:"showPerspectiveSliceViews",get:function(){return this.viewerState.showPerspectiveSliceViews}},{key:"inputEventBindings",get:function(){return this.viewerState.inputEventBindings}},{key:"visibility",get:function(){return this.viewerState.visibility}},{key:"visibleLayerRoles",get:function(){return this.viewerState.visibleLayerRoles}},{key:"crossSectionBackgroundColor", +get:function(){return this.viewerState.crossSectionBackgroundColor}},{key:"scaleBarOptions",get:function(){return this.viewerState.scaleBarOptions}},{key:"changed",get:function(){return this.state.changed}}]);return f}(h.a)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b} +function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function d(a,b){if("move"===a.method)return!1;a.manager.layerManager.filter(function(b){return!a.layers.has(b)});return void 0!==b&&a.layers.has(b)}function b(a,b,c){function e(b,e){var g= +a.dropLayers,f=e?Object(l.d)(b,a.manager):Object(r.c)(),k=!0;if(void 0!==g&&(e&&Object(r.e)(b,f),!g.compatibleWithMethod(f)&&(a.dropLayers=void 0,d(g,c))))return;if(void 0===g){g=a.dropLayers=Object(l.b)(b,a.manager,"copy"===f,!0,!1);if(void 0===g)return;k="move"===g.method}if(void 0!==c&&g.layers.has(c))return g;if(k){var h=a.manager.layerManager,m=new Set,n=Number.POSITIVE_INFINITY;b=h.managedLayers=h.managedLayers.filter(function(a,b){return g.layers.has(a)?(n===Number.POSITIVE_INFINITY&&(n=b), +m.add(a),!1):!0});void 0!==c?(e=b.indexOf(c),n<=e&&++e):e=b.length;f=$jscomp.makeIterator(g.layers.keys());for(k=f.next();!k.done;k=f.next())k=k.value,m.has(k)||g.layers.delete(k);b.splice.apply(b,[].concat([e,0],$jscomp.arrayFromIterable(g.layers.keys())));h.layersChanged.dispatch()}else for(void 0!==c&&(h=a.manager.layerManager.managedLayers.indexOf(c)),b=$jscomp.makeIterator(g.layers.keys()),e=b.next();!e.done;e=b.next())a.manager.add(e.value,h);return g}var g=Object(t.c)(b,"dragenter",function(a){void 0!== +e(a,!0)&&a.preventDefault()}),f=Object(t.c)(b,"drop",function(b){b.preventDefault();var c=e(b,!1);void 0!==c&&(c.finalize(b)?(b.dataTransfer.dropEffect=Object(r.c)(),Object(l.a)("move"===c.method?void 0:b)):d(c));a.dropLayers=void 0}),k=Object(t.c)(b,"dragover",function(a){void 0!==e(a,!0)&&(a.preventDefault(),a.stopPropagation())});return function(){k();f();g()}}a.d(f,"a",function(){return A});var c=a(185),e=a(27),g=a(57),l=a(118),k=a(187),t=a(1),m=a(8),r=a(119),u=a(109),v=a(120),w=function(){function a(a, +b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),y=function D(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return D(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(45);a(337);a(84);var x=function(a){function d(a, +g){q(this,d);var f=p(this,(d.__proto__||Object.getPrototypeOf(d)).call(this));f.layer=a;f.panel=g;var k=f.element=document.createElement("div");k.title="Control+click for layer options, drag to move/copy.";k.className="neuroglancer-layer-item neuroglancer-noselect";var h=f.labelElement=document.createElement("span");h.className="neuroglancer-layer-item-label";var m=f.layerNumberElement=document.createElement("span");m.className="neuroglancer-layer-item-number";var n=f.valueElement=document.createElement("span"); +n.className="neuroglancer-layer-item-value";var r=Object(u.a)();r.title="Delete layer";f.registerEventListener(r,"click",function(a){f.panel.layerManager.removeManagedLayer(f.layer);a.stopPropagation()});k.appendChild(m);k.appendChild(h);k.appendChild(n);k.appendChild(r);f.registerEventListener(k,"click",function(b){b.ctrlKey?(g.selectedLayer.layer=a,g.selectedLayer.visible=!0):a.setVisible(!a.visible)});f.registerEventListener(k,"contextmenu",function(b){g.selectedLayer.layer=a;g.selectedLayer.visible= +!0;b.stopPropagation();b.preventDefault()});k.draggable=!0;f.registerEventListener(k,"dragstart",function(a){Object(l.e)(a,{manager:g.manager,layers:[f.layer],layoutSpec:g.getLayoutSpecForDrag()});a.stopPropagation()});f.registerEventListener(k,"dragend",function(a){Object(l.a)(a)});f.registerDisposer(b(f.panel,k,f.layer));f.registerEventListener(k,"dblclick",function(b){a instanceof e.b&&new c.a(f.panel.manager,a)});return f}n(d,a);w(d,[{key:"update",value:function(){var a=this.layer;this.labelElement.textContent= +a.name;this.element.setAttribute("layer-visible",a.visible.toString());this.element.setAttribute("layer-selected",(a===this.panel.selectedLayer.layer).toString())}},{key:"disposed",value:function(){this.element.parentElement.removeChild(this.element);y(d.prototype.__proto__||Object.getPrototypeOf(d.prototype),"disposed",this).call(this)}}]);return d}(t.a),A=function(a){function f(a,c,l,h,m){q(this,f);var n=p(this,(f.__proto__||Object.getPrototypeOf(f)).call(this));n.display=a;n.manager=c;n.viewerNavigationState= +l;n.selectedLayer=h;n.getLayoutSpecForDrag=m;n.layerWidgets=new Map;n.element=document.createElement("div");n.layerUpdateNeeded=!0;n.valueUpdateNeeded=!1;n.layerWidgetInsertionPoint=document.createElement("div");n.positionWidget=n.registerDisposer(new v.b(n.viewerNavigationState.position.value));n.scheduleUpdate=n.registerCancellable(Object(k.a)(function(){return n.update()}));n.registerDisposer(h);var t=n.element;t.className="neuroglancer-layer-panel";n.registerDisposer(c.layerSelectedValues.changed.add(function(){n.handleLayerValuesChanged()})); +n.registerDisposer(c.layerManager.layersChanged.add(function(){n.handleLayersChanged()}));n.registerDisposer(h.changed.add(function(){n.handleLayersChanged()}));n.layerWidgetInsertionPoint.style.display="none";n.element.appendChild(n.layerWidgetInsertionPoint);c=n.addButton=document.createElement("div");c.className="neuroglancer-layer-add-button neuroglancer-button";c.title="Click to add layer, control+click to add local annotation layer.";c.textContent="+";l=n.dropZone=document.createElement("div"); +l.className="neuroglancer-layer-panel-drop-zone";n.registerEventListener(c,"click",function(a){a.ctrlKey?(a=new e.b("annotation",{},n.manager),n.manager.initializeLayerFromSpec(a,{type:"annotation"}),n.manager.add(a)):n.addLayerMenu()});t.appendChild(c);t.appendChild(l);n.registerDisposer(Object(r.d)(c));t.appendChild(n.positionWidget.element);h=function(){n.positionWidget.element.style.display=n.viewerNavigationState.position.link.value===g.d.LINKED?"none":null};n.registerDisposer(n.viewerNavigationState.position.link.changed.add(h)); +h();n.update();n.registerEventListener(t,"dragleave",function(a){a.relatedTarget&&t.contains(a.relatedTarget)||(a=n.dropLayers,void 0!==a&&(d(a),n.dropLayers=void 0))});n.registerDisposer(b(n,c,void 0));n.registerDisposer(b(n,l,void 0));n.registerDisposer(a.updateStarted.add(function(){return n.updateLayers()}));return n}n(f,a);w(f,[{key:"disposed",value:function(){this.layerWidgets.forEach(function(a){return a.dispose()});this.layerWidgets=void 0;Object(m.b)(this.element);y(f.prototype.__proto__|| +Object.getPrototypeOf(f.prototype),"disposed",this).call(this)}},{key:"handleLayersChanged",value:function(){this.layerUpdateNeeded=!0;this.handleLayerValuesChanged()}},{key:"handleLayerValuesChanged",value:function(){this.valueUpdateNeeded||(this.valueUpdateNeeded=!0,this.scheduleUpdate())}},{key:"update",value:function(){this.valueUpdateNeeded=!1;this.updateLayers();for(var a=this.manager.layerSelectedValues,b=$jscomp.makeIterator(this.layerWidgets),c=b.next();!c.done;c=b.next()){c=$jscomp.makeIterator(c.value); +var d=c.next().value;c=c.next().value;var e=d.layer;d="";null!==e&&(e=a.get(e),void 0!==e&&(d=""+e));c.valueElement.textContent=d}}},{key:"updateLayers",value:function(){var a=this;if(this.layerUpdateNeeded){this.layerUpdateNeeded=!1;var b=this.element,c=new Set,d=this.layerWidgetInsertionPoint.nextElementSibling;this.manager.layerManager.managedLayers.forEach(function(e){c.add(e);var g=a.layerWidgets.get(e),f=a.manager.rootLayers.managedLayers.indexOf(e);void 0===g&&(g=new x(e,a),a.layerWidgets.set(e, +g));g.layerNumberElement.textContent=""+(1+f);g.update();e=g.element;e!==d&&b.insertBefore(g.element,d);d=e.nextElementSibling});for(var e=$jscomp.makeIterator(this.layerWidgets),g=e.next();!g.done;g=e.next()){var f=$jscomp.makeIterator(g.value);g=f.next().value;f=f.next().value;c.has(g)||(this.layerWidgets.delete(g),f.dispose())}}}},{key:"addLayerMenu",value:function(){new c.a(this.manager)}},{key:"layerManager",get:function(){return this.manager.layerManager}}]);return f}(t.a)},function(h,f){}, +function(h,f){},function(h,f){},function(h,f,a){function q(a,c){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!c||"object"!==typeof c&&"function"!==typeof c?a:c}function p(a,c){if("function"!==typeof c&&null!==c)throw new TypeError("Super expression must either be null or a function, not "+typeof c);a.prototype=Object.create(c&&c.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});c&&(Object.setPrototypeOf?Object.setPrototypeOf(a, +c):a.__proto__=c)}a.d(f,"a",function(){return d});h=a(1);var n=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,d,g){d&&a(b.prototype,d);g&&a(b,g);return b}}(),d=function(a){function b(a){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var c=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.model=a;c.element=document.createElement("select"); +c.valueIndexMap=new Map;for(var d=c.element,e=c.valueIndexMap,f=0,h=$jscomp.makeIterator(Object.keys(a.enumType)),n=h.next();!n.done;n=h.next())if(n=n.value,isNaN(Number(n))){var p=document.createElement("option");p.textContent=p.value=n.toLowerCase();d.appendChild(p);e.set(a.enumType[n],f);++f}c.registerDisposer(a.changed.add(function(){return c.updateView()}));c.registerEventListener(d,"change",function(){return c.updateModel()});c.updateView();return c}p(b,a);n(b,[{key:"updateView",value:function(){this.element.selectedIndex= +this.valueIndexMap.get(this.model.value)}},{key:"updateModel",value:function(){this.model.restoreState(this.element.value)}}]);return b}(h.a)},function(h,f){},function(h,f){},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+ +typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return r});h=a(343);a.n(h);h=a(1);var d=a(8),b=a(29),c=a(109),e=a(40),g=function v(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return v(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0=== +b?void 0:b.call(c)}},l=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),k=function(a){function b(a){q(this,b);var c=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.layer=a;c.tabView=new e.d(c.layer.tabs.addRef(),c.visibility);c.element.appendChild(c.tabView.element);c.element.classList.add("neuroglancer-layer-side-panel-info-panel"); +c.tabView.element.style.flex="1";return c}n(b,a);return b}(e.b),t=function(a){function b(){q(this,b);var a=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));a.element.classList.add("neuroglancer-layer-side-panel-info-panel-empty");a.element.textContent="Information about this layer will be available once it finishes loading.";return a}n(b,a);l(b,[{key:"layer",get:function(){return null}}]);return b}(e.b),m=function(a){function b(a,d,g){q(this,b);var f=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this)); +f.layer=a;f.layerManager=d;f.collapse=g;f.element=document.createElement("div");f.title=document.createElement("div");f.layerName=document.createElement("input");f.stack=f.registerDisposer(new e.a(function(a){return null===a?new t:new k(a)},f.visibility));var l=f.element;d=f.title;g=f.layerName;var h=f.stack;l.className="neuroglancer-managed-user-layer-info-panel";d.className="neuroglancer-layer-side-panel-title";h.element.classList.add("neuroglancer-layer-side-panel-content-container");l.appendChild(d); +l.appendChild(h.element);l=Object(c.a)();l.title="Close side panel";l.addEventListener("click",function(){f.collapse()});d.appendChild(g);g.spellcheck=!1;g.title="Rename layer";d.appendChild(l);g.addEventListener("change",function(){return f.handleLayerNameViewChanged()});g.addEventListener("blur",function(){return f.handleLayerNameViewChanged()});f.registerDisposer(a.layerChanged.add(function(){return f.handleLayerNameModelChanged()}));f.handleUserLayerChanged();f.handleLayerNameModelChanged();return f} +n(b,a);l(b,[{key:"handleUserLayerChanged",value:function(){this.stack.selected!==this.layer.layer&&(this.stack.invalidateAll(),this.stack.selected=this.layer.layer)}},{key:"handleLayerNameModelChanged",value:function(){this.layerName.value=this.layer.name}},{key:"handleLayerNameViewChanged",value:function(){var a=this.layer;if(void 0!==a){var b=this.layerName.value;b!==a.name&&(b=this.layerManager.getUniqueLayerName(b),this.layerName.value=b,a.name=b,a.layerChanged.dispatch())}}}]);return b}(e.b), +r=function(a){function c(a){q(this,c);var b=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));b.state=a;b.element=document.createElement("div");b.stack=b.registerDisposer(new e.a(function(a){return new m(a,b.state.layerManager,b.collapse.bind(b))}));var d=b.element,g=b.stack;d.className="neuroglancer-layer-side-panel";g.element.classList.add("neuroglancer-layer-info-panel-container");d.appendChild(g.element);b.registerDisposer(a.changed.add(function(){return b.handleStateChanged()}));b.registerDisposer(a.layerManager.layersChanged.add(function(){return b.handleLayersChanged()})); +b.handleStateChanged();return b}n(c,a);l(c,[{key:"handleLayersChanged",value:function(){for(var a=this.state.layerManager,b=this.stack,c=$jscomp.makeIterator(b.tabs.keys()),d=c.next();!d.done;d=c.next())d=d.value,a.has(d)||b.invalidate(d)}},{key:"collapse",value:function(){!0===this.state.visible&&(this.state.visible=!1,this.state.changed.dispatch())}},{key:"handleStateChanged",value:function(){var a=this.state,c=a.visible;this.element.style.display=c?null:"none";this.stack.visibility.value=c?b.b.VISIBLE: +b.b.IGNORED;this.stack.selected=a.layer}},{key:"disposed",value:function(){Object(d.b)(this.element);g(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"disposed",this).call(this)}}]);return c}(h.a)},function(h,f){},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+ +typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return r});h=a(345);a.n(h);h=a(10);var n=a.n(h),d=a(28),b=a(102),c=a(108);h=a(1);var e=a(8),g=a(167),l=a(346),k=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b, +c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),t=function v(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return v(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},m=new Map([[d.c.AXIS_ALIGNED_BOUNDING_BOX,function(a,b,c,d){d=document.createElement("div");d.className="neuroglancer-annotation-details-volume";d.textContent=Object(g.a)(a.pointA,a.pointB,c);b.appendChild(d)}]]), +r=function(a){function g(a,b,c){if(!(this instanceof g))throw new TypeError("Cannot call a class as a function");var d=q(this,(g.__proto__||Object.getPrototypeOf(g)).call(this));d.mouseState=a;d.layerManager=b;d.voxelSize=c;d.tooltip=void 0;d.debouncedShowTooltip=d.registerCancellable(n()(function(){return d.doCreateTooltip()},500));d.debouncedShowTooltip0=d.registerCancellable(n()(function(){return d.doCreateTooltip()},0));d.doCreateTooltip=function(){d.debouncedShowTooltip.cancel();d.debouncedShowTooltip0.cancel(); +var a=d.mouseState;d.maybeCreateTooltip()?d.tooltip.updatePosition(a.pageX,a.pageY):(a=d.tooltip,void 0!==a&&(a.dispose(),d.tooltip=void 0),d.setReference(void 0))};d.registerDisposer(a.changed.add(function(){return d.mouseStateChanged()}));return d}p(g,a);k(g,[{key:"setReference",value:function(a){var b=this.reference;void 0!==b&&(b.changed.remove(this.debouncedShowTooltip0),b.dispose(),this.reference=void 0);this.reference=a;void 0!==a&&a.changed.add(this.debouncedShowTooltip0)}},{key:"maybeCreateTooltip", +value:function(){var a=Object(b.a)(this.mouseState,this.layerManager);if(void 0===a||!this.voxelSize.valid)return!1;var g=this.tooltip;void 0===g&&(g=this.tooltip=new l.a,g.element.classList.add("neuroglancer-mouse-selection-tooltip"));var f=a.annotationLayer.source.getReference(a.id);this.setReference(f);if(null===f.value)return!1;Object(e.a)(g.element);var k=document.createElement("div");k.className="neuroglancer-mouse-selection-tooltip-title";k.textContent=""+a.layer.name;var h=document.createElement("div"); +h.className="neuroglancer-mouse-selection-tooltip-description";f=f.value;h.textContent=void 0===f?"Loading...":f.description||"";g.element.appendChild(k);g.element.appendChild(h);if(null!=f){k=f.segments;if(void 0!==k&&0<k.length){var n=document.createElement("div");n.className="neuroglancer-annotation-segment-list";var r=a.annotationLayer.segmentationState.value,t=r?r.segmentColorHash:void 0;k.forEach(function(a,b){0!==b&&n.appendChild(document.createTextNode(" "));b=document.createElement("span"); +b.className="neuroglancer-annotation-segment-item";b.textContent=a.toString();void 0!==r&&(b.style.backgroundColor=t.computeCssColor(a));n.appendChild(b)});g.element.appendChild(n)}a=a.annotationLayer.objectToGlobal;k=Object(d.g)(f.type);h=document.createElement("div");h.appendChild(document.createTextNode(k.icon));Object(c.c)(h,f,a,this.voxelSize);h.className="neuroglancer-mouse-selection-tooltip-annotation-corners";g.element.appendChild(h);k=m.get(f.type);void 0!==k&&k(f,g.element,a,this.voxelSize)}return!0}}, +{key:"mouseStateChanged",value:function(){var a=this.tooltip;void 0!==a&&(a.dispose(),this.tooltip=void 0);this.setReference(void 0);this.debouncedShowTooltip()}},{key:"disposed",value:function(){var a=this.tooltip;void 0!==a&&(a.dispose(),this.tooltip=void 0);this.setReference(void 0);t(g.prototype.__proto__||Object.getPrototypeOf(g.prototype),"disposed",this).call(this)}}]);return g}(h.a)},function(h,f){},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+ +typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return b});h=a(347);a.n(h);h=a(1);var p=a(8),n=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),d=function e(a, +b,d){null===a&&(a=Function.prototype);var g=Object.getOwnPropertyDescriptor(a,b);if(void 0===g){if(a=Object.getPrototypeOf(a),null!==a)return e(a,b,d)}else{if("value"in g)return g.value;b=g.get;return void 0===b?void 0:b.call(d)}},b=function(a){function b(){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var a=(b.__proto__||Object.getPrototypeOf(b)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");a=!a||"object"!== +typeof a&&"function"!==typeof a?this:a;a.element=document.createElement("div");var d=a.element;d.className="neuroglancer-tooltip";d.style.visibility="hidden";document.body.appendChild(d);return a}q(b,a);n(b,[{key:"updatePosition",value:function(a,b){var d=this.element;d.style.left=a+"px";d.style.top=b+"px";d.style.visibility="inherit"}},{key:"disposed",value:function(){Object(p.b)(this.element);d(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}}]);return b}(h.a)}, +function(h,f){},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__= +b)}a.d(f,"a",function(){return e});h=a(169);a.n(h);h=a(349);a.n(h);h=a(190);a.n(h);h=a(350);a.n(h);h=a(351);a.n(h);h=a(352);a.n(h);h=a(170);a.n(h);h=a(353);a.n(h);h=a(48);var n=a.n(h);h=a(10);var d=a.n(h);h=a(47);var b=a(67),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),e=function(a){function e(a){if(!(this instanceof +e))throw new TypeError("Cannot call a class as a function");var b=q(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));b.viewer=a;b.parsedValue=null;b.debouncedValueUpdater=d()(function(){var a=b.textEditor.getValue();try{var c=JSON.parse(a);b.parsedValue=c;b.applyButton.disabled=!1;b.textEditor.setOption("lint",void 0)}catch(y){b.parsedValue=null;b.applyButton.disabled=!0;var d=0,e=0,g="Unknown parse error";y instanceof Error&&(c=y.message.match(/^((?:.|\n)*) in JSON at position ([0-9]+)$/), +null!==c?(g=c[1],c=parseInt(c[2],10),a=a.substring(0,c).split("\n"),d=a.length-1,e=a[a.length-1].length):g=y.message);b.textEditor.setOption("lint",{getAnnotations:function(){return[{message:g,severity:"error",from:n.a.Pos(d,e)}]}})}},100);b.content.classList.add("neuroglancer-state-editor");a=b.applyButton=document.createElement("button");a.textContent="Apply changes";b.content.appendChild(a);a.addEventListener("click",function(){return b.applyChanges()});a.disabled=!0;b.textEditor=n()(function(a){}, +{value:"",mode:{name:"javascript",json:!0},foldGutter:!0,gutters:["CodeMirror-lint-markers","CodeMirror-foldgutter"]});b.updateView();b.textEditor.on("change",function(){b.debouncedValueUpdater()});b.content.appendChild(b.textEditor.getWrapperElement());b.textEditor.refresh();return b}p(e,a);c(e,[{key:"applyChanges",value:function(){null!==this.parsedValue&&(this.viewer.state.reset(),this.viewer.state.restoreState(this.parsedValue));this.applyButton.disabled=!0}},{key:"updateView",value:function(){this.textEditor.setValue(this.getJson()); +this.textEditor.execCommand("foldAll");this.textEditor.execCommand("unfold")}},{key:"getJson",value:function(){return JSON.stringify(Object(b.b)(this.viewer.state).value,null," ")}}]);return e}(h.a)},function(h,f,a){(function(a){a.defineMode("javascript",function(f,h){function d(a,b,c){ib=a;Va=c;return b}function b(a,b){var f=a.next();if('"'==f||"'"==f)return b.tokenize=c(f),b.tokenize(a,b);if("."==f&&a.match(/^\d+(?:[eE][+\-]?\d+)?/))return d("number","number");if("."==f&&a.match(".."))return d("spread", +"meta");if(/[\[\]{}\(\),;\:\.]/.test(f))return d(f);if("="==f&&a.eat(">"))return d("=>","operator");if("0"==f&&a.eat(/x/i))return a.eatWhile(/[\da-f]/i),d("number","number");if("0"==f&&a.eat(/o/i))return a.eatWhile(/[0-7]/i),d("number","number");if("0"==f&&a.eat(/b/i))return a.eatWhile(/[01]/i),d("number","number");if(/\d/.test(f))return a.match(/^\d*(?:\.\d*)?(?:[eE][+\-]?\d+)?/),d("number","number");if("/"==f){if(a.eat("*"))return b.tokenize=e,e(a,b);if(a.eat("/"))return a.skipToEnd(),d("comment", +"comment");if(ac(a,b,1)){a:for(var k=b=!1;null!=(f=a.next());){if(!b){if("/"==f&&!k)break a;"["==f?k=!0:k&&"]"==f&&(k=!1)}b=!b&&"\\"==f}a.match(/^\b(([gimyu])(?![gimyu]*\2))+\b/);return d("regexp","string-2")}a.eat("=");return d("operator","operator",a.current())}if("`"==f)return b.tokenize=g,g(a,b);if("#"==f)return a.skipToEnd(),d("error","error");if(bc.test(f))return">"==f&&b.lexical&&">"==b.lexical.type||(a.eat("=")?"!"!=f&&"="!=f||a.eat("="):/[<>*+\-]/.test(f)&&(a.eat(f),">"==f&&a.eat(f))),d("operator", +"operator",a.current());if(Oa.test(f)){a.eatWhile(Oa);f=a.current();if("."!=b.lastType){if(Ib.propertyIsEnumerable(f))return a=Ib[f],d(a.type,a.style,f);if("async"==f&&a.match(/^\s*[\(\w]/,!1))return d("async","keyword",f)}return d("variable","variable",f)}}function c(a){return function(c,e){var g=!1,f;if(bb&&"@"==c.peek()&&c.match(Sc))return e.tokenize=b,d("jsonld-keyword","meta");for(;null!=(f=c.next())&&(f!=a||g);)g=!g&&"\\"==f;g||(e.tokenize=b);return d("string","string")}}function e(a,c){for(var e= +!1,g;g=a.next();){if("/"==g&&e){c.tokenize=b;break}e="*"==g}return d("comment","comment")}function g(a,c){for(var e=!1,g;null!=(g=a.next());){if(!e&&("`"==g||"$"==g&&a.eat("{"))){c.tokenize=b;break}e=!e&&"\\"==g}return d("quasi","string-2",a.current())}function l(a,b){b.fatArrowAt&&(b.fatArrowAt=null);var c=a.string.indexOf("=>",a.start);if(!(0>c)){if(ta){var d=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(a.string.slice(a.start,c));d&&(c=d.index)}d=0;var e=!1;for(--c;0<=c;--c){var g=a.string.charAt(c), +f="([{}])".indexOf(g);if(0<=f&&3>f){if(!d){++c;break}if(0==--d){"("==g&&(e=!0);break}}else if(3<=f&&6>f)++d;else if(Oa.test(g))e=!0;else{if(/["'\/]/.test(g))return;if(e&&!d){++c;break}}}e&&!d&&(b.fatArrowAt=c)}}function k(a,b,c,d,e,g){this.indented=a;this.column=b;this.type=c;this.prev=e;this.info=g;null!=d&&(this.align=d)}function n(){for(var a=arguments.length-1;0<=a;a--)K.cc.push(arguments[a])}function m(){n.apply(null,arguments);return!0}function r(a){function b(b){for(;b;b=b.next)if(b.name== +a)return!0;return!1}var c=K.state;K.marked="def";c.context?b(c.localVars)||(c.localVars={name:a,next:c.localVars}):!b(c.globalVars)&&h.globalVars&&(c.globalVars={name:a,next:c.globalVars})}function p(){K.state.context={prev:K.state.context,vars:K.state.localVars};K.state.localVars=dc}function q(){K.state.localVars=K.state.context.vars;K.state.context=K.state.context.prev}function w(a,b){var c=function(){var c=K.state,d=c.indented;if("stat"==c.lexical.type)d=c.lexical.indented;else for(var e=c.lexical;e&& +")"==e.type&&e.align;e=e.prev)d=e.indented;c.lexical=new k(d,K.stream.column(),a,null,c.lexical,b)};c.lex=!0;return c}function y(){var a=K.state;a.lexical.prev&&(")"==a.lexical.type&&(a.indented=a.lexical.indented),a.lexical=a.lexical.prev)}function x(a){function b(c){return c==a?m():";"==a?n():m(b)}return b}function A(a,b){return"var"==a?m(w("vardef",b.length),Eb,x(";"),y):"keyword a"==a?m(w("form"),E,A,y):"keyword b"==a?m(w("form"),A,y):"keyword d"==a?K.stream.match(/^\s*$/,!1)?m():m(w("stat"), +C,x(";"),y):"debugger"==a?m(x(";")):"{"==a?m(w("}"),fa,y):";"==a?m():"if"==a?("else"==K.state.lexical.info&&K.state.cc[K.state.cc.length-1]==y&&K.state.cc.pop()(),m(w("form"),E,A,y,Ga)):"function"==a?m(xa):"for"==a?m(w("form"),Xb,A,y):"variable"==a?ta&&"type"==b?(K.marked="keyword",m(X,x("operator"),X,x(";"))):ta&&"declare"==b?(K.marked="keyword",m(A)):m(w("stat"),U):"switch"==a?m(w("form"),E,x("{"),w("}","switch"),fa,y,y):"case"==a?m(z,x(":")):"default"==a?m(x(":")):"catch"==a?m(w("form"),p,x("("), +ab,x(")"),A,y,q):"class"==a?m(w("form"),Ua,y):"export"==a?m(w("stat"),ia,y):"import"==a?m(w("stat"),Da,y):"module"==a?m(w("form"),Aa,x("{"),w("}"),fa,y,y):"async"==a?m(A):"@"==b?m(z,A):n(w("stat"),z,x(";"),y)}function z(a){return G(a,!1)}function D(a){return G(a,!0)}function E(a){return"("!=a?n():m(w(")"),z,x(")"),y)}function G(a,b){if(K.state.fatArrowAt==K.stream.start){var c=b?M:O;if("("==a)return m(p,w(")"),ba(ab,")"),y,x("=>"),c,q);if("variable"==a)return n(p,Aa,x("=>"),c,q)}c=b?F:B;return cc.hasOwnProperty(a)? +m(c):"function"==a?m(xa,c):"class"==a?m(w("form"),qd,y):"keyword c"==a||"async"==a?m(b?D:z):"("==a?m(w(")"),C,x(")"),y,c):"operator"==a||"spread"==a?m(b?D:z):"["==a?m(w("]"),pb,y,c):"{"==a?ka(H,"}",null,c):"quasi"==a?n(L,c):"new"==a?m(P(b)):m()}function C(a){return a.match(/[;\}\)\],]/)?n():n(z)}function B(a,b){return","==a?m(z):F(a,b,!1)}function F(a,b,c){var d=0==c?B:F,e=0==c?z:D;if("=>"==a)return m(p,c?M:O,q);if("operator"==a)return/\+\+|--/.test(b)||ta&&"!"==b?m(d):"?"==b?m(z,x(":"),e):m(e);if("quasi"== +a)return n(L,d);if(";"!=a){if("("==a)return ka(D,")","call",d);if("."==a)return m(Z,d);if("["==a)return m(w("]"),C,x("]"),y,d);if(ta&&"as"==b)return K.marked="keyword",m(X,d);if("regexp"==a)return K.state.lastType=K.marked="operator",K.stream.backUp(K.stream.pos-K.stream.start-1),m(e)}}function L(a,b){return"quasi"!=a?n():"${"!=b.slice(b.length-2)?m(L):m(z,J)}function J(a){if("}"==a)return K.marked="string-2",K.state.tokenize=g,m(L)}function O(a){l(K.stream,K.state);return n("{"==a?A:z)}function M(a){l(K.stream, +K.state);return n("{"==a?A:D)}function P(a){return function(b){return"."==b?m(a?S:N):"variable"==b&&ta?m(Wb,a?F:B):n(a?D:z)}}function N(a,b){if("target"==b)return K.marked="keyword",m(B)}function S(a,b){if("target"==b)return K.marked="keyword",m(F)}function U(a){return":"==a?m(y,A):n(B,x(";"),y)}function Z(a){if("variable"==a)return K.marked="property",m()}function H(a,b){if("async"==a)return K.marked="property",m(H);if("variable"==a||"keyword"==K.style){K.marked="property";if("get"==b||"set"==b)return m(Q); +var c;ta&&K.state.fatArrowAt==K.stream.start&&(c=K.stream.match(/^\s*:\s*/,!1))&&(K.state.fatArrowAt=K.stream.pos+c[0].length);return m(aa)}if("number"==a||"string"==a)return K.marked=bb?"property":K.style+" property",m(aa);if("jsonld-keyword"==a)return m(aa);if("modifier"==a)return m(H);if("["==a)return m(z,x("]"),aa);if("spread"==a)return m(D,aa);if("*"==b)return K.marked="keyword",m(H);if(":"==a)return n(aa)}function Q(a){if("variable"!=a)return n(aa);K.marked="property";return m(xa)}function aa(a){if(":"== +a)return m(D);if("("==a)return n(xa)}function ba(a,b,c){function d(e,g){return(c?-1<c.indexOf(e):","==e)?(e=K.state.lexical,"call"==e.info&&(e.pos=(e.pos||0)+1),m(function(c,d){return c==b||d==b?n():n(a)},d)):e==b||g==b?m():m(x(b))}return function(c,e){return c==b||e==b?m():n(a,d)}}function ka(a,b,c){for(var d=3;d<arguments.length;d++)K.cc.push(arguments[d]);return m(w(b,c),ba(a,b),y)}function fa(a){return"}"==a?m():n(A,fa)}function R(a,b){if(ta){if(":"==a)return m(X);if("?"==b)return m(R)}}function X(a, +b){if("variable"==a||"void"==b){if("keyof"==b)return K.marked="keyword",m(X);K.marked="type";return m(Ta)}if("string"==a||"number"==a||"atom"==a)return m(Ta);if("["==a)return m(w("]"),ba(X,"]",","),y,Ta);if("{"==a)return m(w("}"),ba(Ba,"}",",;"),y,Ta);if("("==a)return m(ba(Za,")"),Ka)}function Ka(a){if("=>"==a)return m(X)}function Ba(a,b){if("variable"==a||"keyword"==K.style)return K.marked="property",m(Ba);if("?"==b)return m(Ba);if(":"==a)return m(X);if("["==a)return m(z,R,x("]"),Ba)}function Za(a){if("variable"== +a)return m(Za);if(":"==a)return m(X)}function Ta(a,b){if("<"==b)return m(w(">"),ba(X,">"),y,Ta);if("|"==b||"."==a)return m(X);if("["==a)return m(x("]"),Ta);if("extends"==b)return m(X)}function Wb(a,b){if("<"==b)return m(w(">"),ba(X,">"),y,Ta)}function Eb(){return n(Aa,R,wa,Fb)}function Aa(a,b){if("modifier"==a)return m(Aa);if("variable"==a)return r(b),m();if("spread"==a)return m(Aa);if("["==a)return ka(Aa,"]");if("{"==a)return ka(Mc,"}")}function Mc(a,b){if("variable"==a&&!K.stream.match(/^\s*:/, +!1))return r(b),m(wa);"variable"==a&&(K.marked="property");return"spread"==a?m(Aa):"}"==a?n():m(x(":"),Aa,wa)}function wa(a,b){if("="==b)return m(D)}function Fb(a){if(","==a)return m(Eb)}function Ga(a,b){if("keyword b"==a&&"else"==b)return m(w("form","else"),A,y)}function Xb(a){if("("==a)return m(w(")"),Nc,x(")"),y)}function Nc(a){return"var"==a?m(Eb,x(";"),gb):";"==a?m(gb):"variable"==a?m($a):n(z,x(";"),gb)}function $a(a,b){return"in"==b||"of"==b?(K.marked="keyword",m(z)):m(B,gb)}function gb(a,b){return";"== +a?m(Ha):"in"==b||"of"==b?(K.marked="keyword",m(z)):n(z,x(";"),Ha)}function Ha(a){")"!=a&&m(z)}function xa(a,b){if("*"==b)return K.marked="keyword",m(xa);if("variable"==a)return r(b),m(xa);if("("==a)return m(p,w(")"),ba(ab,")"),y,R,A,q);if(ta&&"<"==b)return m(w(">"),ba(X,">"),y,xa)}function ab(a,b){"@"==b&&m(z,ab);return"spread"==a||"modifier"==a?m(ab):n(Aa,R,wa)}function qd(a,b){return"variable"==a?Ua(a,b):Ca(a,b)}function Ua(a,b){if("variable"==a)return r(b),m(Ca)}function Ca(a,b){if("<"==b)return m(w(">"), +ba(X,">"),y,Ca);if("extends"==b||"implements"==b||ta&&","==a)return m(ta?X:z,Ca);if("{"==a)return m(w("}"),ha,y)}function ha(a,b){if("modifier"==a||"async"==a||"variable"==a&&("static"==b||"get"==b||"set"==b)&&K.stream.match(/^\s+[\w$\xa1-\uffff]/,!1))return K.marked="keyword",m(ha);if("variable"==a||"keyword"==K.style)return K.marked="property",m(ta?da:xa,ha);if("["==a)return m(z,x("]"),ta?da:xa,ha);if("*"==b)return K.marked="keyword",m(ha);if(";"==a)return m(ha);if("}"==a)return m();if("@"==b)return m(z, +ha)}function da(a,b){return"?"==b?m(da):":"==a?m(X,wa):"="==b?m(D):n(xa)}function ia(a,b){return"*"==b?(K.marked="keyword",m(ob,x(";"))):"default"==b?(K.marked="keyword",m(z,x(";"))):"{"==a?m(ba($b,"}"),ob,x(";")):n(A)}function $b(a,b){if("as"==b)return K.marked="keyword",m(x("variable"));if("variable"==a)return n(D,$b)}function Da(a){return"string"==a?m():n(La,na,ob)}function La(a,b){if("{"==a)return ka(La,"}");"variable"==a&&r(b);"*"==b&&(K.marked="keyword");return m(Qc)}function na(a){if(","== +a)return m(La,na)}function Qc(a,b){if("as"==b)return K.marked="keyword",m(La)}function ob(a,b){if("from"==b)return K.marked="keyword",m(z)}function pb(a){return"]"==a?m():n(ba(D,"]"))}function ac(a,c,d){return c.tokenize==b&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(c.lastType)||"quasi"==c.lastType&&/\{\s*$/.test(a.string.slice(0,a.pos-(d||0)))}var hb=f.indentUnit,Rc=h.statementIndent,bb=h.jsonld,Na=h.json||bb,ta=h.typescript,Oa=h.wordCharacters||/[\w$\xa1-\uffff]/, +Ib=function(){function a(a){return{type:a,style:"keyword"}}var b=a("keyword a"),c=a("keyword b"),d=a("keyword c"),e=a("keyword d"),g=a("operator"),f={type:"atom",style:"atom"};b={"if":a("if"),"while":b,"with":b,"else":c,"do":c,"try":c,"finally":c,"return":e,"break":e,"continue":e,"new":a("new"),"delete":d,"void":d,"throw":d,"debugger":a("debugger"),"var":a("var"),"const":a("var"),let:a("var"),"function":a("function"),"catch":a("catch"),"for":a("for"),"switch":a("switch"),"case":a("case"),"default":a("default"), +"in":g,"typeof":g,"instanceof":g,"true":f,"false":f,"null":f,undefined:f,NaN:f,Infinity:f,"this":a("this"),"class":a("class"),"super":a("atom"),yield:d,"export":a("export"),"import":a("import"),"extends":d,await:d};if(ta){c={type:"variable",style:"type"};d={"interface":a("class"),"implements":d,namespace:d,module:a("module"),"enum":a("module"),"public":a("modifier"),"private":a("modifier"),"protected":a("modifier"),"abstract":a("modifier"),readonly:a("modifier"),string:c,number:c,"boolean":c,any:c}; +for(var k in d)b[k]=d[k]}return b}(),bc=/[+\-*&%=<>!?|~^@]/,Sc=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/,ib,Va,cc={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,"this":!0,"jsonld-keyword":!0},K={state:null,column:null,marked:null,cc:null},dc={name:"this",next:{name:"arguments"}};y.lex=!0;return{startState:function(a){a={tokenize:b,lastType:"sof",cc:[],lexical:new k((a||0)-hb,0,"block",!1),localVars:h.localVars,context:h.localVars&&{vars:h.localVars}, +indented:a||0};h.globalVars&&"object"==typeof h.globalVars&&(a.globalVars=h.globalVars);return a},token:function(a,b){a.sol()&&(b.lexical.hasOwnProperty("align")||(b.lexical.align=!1),b.indented=a.indentation(),l(a,b));if(b.tokenize!=e&&a.eatSpace())return null;var c=b.tokenize(a,b);if("comment"==ib)return c;b.lastType="operator"!=ib||"++"!=Va&&"--"!=Va?ib:"incdec";a:{var d=ib,g=Va,f=b.cc;K.state=b;K.stream=a;K.marked=null;K.cc=f;K.style=c;b.lexical.hasOwnProperty("align")||(b.lexical.align=!0);for(;;)if((f.length? +f.pop():Na?z:A)(d,g)){for(;f.length&&f[f.length-1].lex;)f.pop()();if(K.marked){c=K.marked;break a}if(a="variable"==d)b:{for(a=b.localVars;a;a=a.next)if(a.name==g){a=!0;break b}for(b=b.context;b;b=b.prev)for(a=b.vars;a;a=a.next)if(a.name==g){a=!0;break b}a=void 0}if(a){c="variable-2";break a}break a}}return c},indent:function(c,d){if(c.tokenize==e)return a.Pass;if(c.tokenize!=b)return 0;var g=d&&d.charAt(0),f=c.lexical,k;if(!/^\s*else\b/.test(d))for(var l=c.cc.length-1;0<=l;--l){var m=c.cc[l];if(m== +y)f=f.prev;else if(m!=Ga)break}for(;!("stat"!=f.type&&"form"!=f.type||"}"!=g&&(!(k=c.cc[c.cc.length-1])||k!=B&&k!=F||/^[,\.=+\-*:?[\(]/.test(d)));)f=f.prev;Rc&&")"==f.type&&"stat"==f.prev.type&&(f=f.prev);k=f.type;l=g==k;return"vardef"==k?f.indented+("operator"==c.lastType||","==c.lastType?f.info+1:0):"form"==k&&"{"==g?f.indented:"form"==k?f.indented+hb:"stat"==k?(g=f.indented,c="operator"==c.lastType||","==c.lastType||bc.test(d.charAt(0))||/[,.]/.test(d.charAt(0)),g+(c?Rc||hb:0)):"switch"!=f.info|| +l||0==h.doubleIndentSwitch?f.align?f.column+(l?0:1):f.indented+(l?0:hb):f.indented+(/^(?:case|default)\b/.test(d)?hb:2*hb)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:Na?null:"/*",blockCommentEnd:Na?null:"*/",blockCommentContinue:Na?null:" * ",lineComment:Na?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:Na?"json":"javascript",jsonldMode:bb,jsonMode:Na,expressionAllowed:ac,skipExpression:function(a){var b=a.cc[a.cc.length-1];b!=z&&b!=D||a.cc.pop()}}});a.registerHelper("wordChars", +"javascript",/[\w$]/);a.defineMIME("text/javascript","javascript");a.defineMIME("text/ecmascript","javascript");a.defineMIME("application/javascript","javascript");a.defineMIME("application/x-javascript","javascript");a.defineMIME("application/ecmascript","javascript");a.defineMIME("application/json",{name:"javascript",json:!0});a.defineMIME("application/x-json",{name:"javascript",json:!0});a.defineMIME("application/ld+json",{name:"javascript",jsonld:!0});a.defineMIME("text/typescript",{name:"javascript", +typescript:!0});a.defineMIME("application/typescript",{name:"javascript",typescript:!0})})(a(48))},function(h,f,a){(function(a){function f(a){this.options=a;this.from=this.to=0}function h(a,b){a=a.findMarks(t(b,0),t(b+1,0));for(var c=0;c<a.length;++c)if(a[c].__isFold&&a[c].find().from.line==b)return a[c]}function d(a){if("string"==typeof a){var b=document.createElement("div");b.className=a+" CodeMirror-guttermarker-subtle";return b}return a.cloneNode(!0)}function b(a,b,c){var e=a.state.foldGutter.options, +g=b,f=a.foldOption(e,"minFoldSize"),k=a.foldOption(e,"rangeFinder");a.eachLine(b,c,function(b){var c=null;if(h(a,g))c=d(e.indicatorFolded);else{var l=t(g,0);(l=k&&k(a,l))&&l.to.line-l.from.line>=f&&(c=d(e.indicatorOpen))}a.setGutterMarker(b,e.gutter,c);++g})}function c(a){var c=a.getViewport(),d=a.state.foldGutter;d&&(a.operation(function(){b(a,c.from,c.to)}),d.from=c.from,d.to=c.to)}function e(a,b,c){var d=a.state.foldGutter;d&&(d=d.options,c==d.gutter&&((c=h(a,b))?c.clear():a.foldCode(t(b,0),d.rangeFinder)))} +function g(a){var b=a.state.foldGutter;if(b){var d=b.options;b.from=b.to=0;clearTimeout(b.changeUpdate);b.changeUpdate=setTimeout(function(){c(a)},d.foldOnChangeTimeSpan||600)}}function l(a){var d=a.state.foldGutter;if(d){var e=d.options;clearTimeout(d.changeUpdate);d.changeUpdate=setTimeout(function(){var e=a.getViewport();d.from==d.to||20<e.from-d.to||20<d.from-e.to?c(a):a.operation(function(){e.from<d.from&&(b(a,e.from,d.from),d.from=e.from);e.to>d.to&&(b(a,d.to,e.to),d.to=e.to)})},e.updateViewportTimeSpan|| +400)}}function k(a,c){var d=a.state.foldGutter;d&&(c=c.line,c>=d.from&&c<d.to&&b(a,c,c+1))}a.defineOption("foldGutter",!1,function(b,d,h){h&&h!=a.Init&&(b.clearGutter(b.state.foldGutter.options.gutter),b.state.foldGutter=null,b.off("gutterClick",e),b.off("change",g),b.off("viewportChange",l),b.off("fold",k),b.off("unfold",k),b.off("swapDoc",g));d&&(h=b.state,!0===d&&(d={}),null==d.gutter&&(d.gutter="CodeMirror-foldgutter"),null==d.indicatorOpen&&(d.indicatorOpen="CodeMirror-foldgutter-open"),null== +d.indicatorFolded&&(d.indicatorFolded="CodeMirror-foldgutter-folded"),h.foldGutter=new f(d),c(b),b.on("gutterClick",e),b.on("change",g),b.on("viewportChange",l),b.on("fold",k),b.on("unfold",k),b.on("swapDoc",g))});var t=a.Pos})(a(48),a(190))},function(h,f,a){(function(a){a.registerHelper("fold","brace",function(f,h){function d(d){for(var g=h.ch,k=0;;)if(g=0>=g?-1:c.lastIndexOf(d,g-1),-1==g){if(1==k)break;k=1;g=c.length}else{if(1==k&&g<h.ch)break;e=f.getTokenTypeAt(a.Pos(b,g+1));if(!/^(comment|string)/.test(e))return g+ +1;--g}}var b=h.line,c=f.getLine(b),e,g="{",l="}",k=d("{");null==k&&(g="[",l="]",k=d("["));if(null!=k){var n=1,m=f.lastLine(),r=b;a:for(;r<=m;++r)for(var p=f.getLine(r),q=r==b?k:0;;){var w=p.indexOf(g,q);q=p.indexOf(l,q);0>w&&(w=p.length);0>q&&(q=p.length);q=Math.min(w,q);if(q==p.length)break;if(f.getTokenTypeAt(a.Pos(r,q+1))==e)if(q==w)++n;else if(!--n){var y=r;var x=q;break a}++q}if(null!=y&&(b!=y||x!=k))return{from:a.Pos(b,k),to:a.Pos(y,x)}}});a.registerHelper("fold","import",function(f,h){function d(b){if(b< +f.firstLine()||b>f.lastLine())return null;var c=f.getTokenAt(a.Pos(b,1));/\S/.test(c.string)||(c=f.getTokenAt(a.Pos(b,c.end+1)));if("keyword"!=c.type||"import"!=c.string)return null;var d=b;for(b=Math.min(f.lastLine(),b+10);d<=b;++d){var e=f.getLine(d).indexOf(";");if(-1!=e)return{startCh:c.end,end:a.Pos(d,e)}}}h=h.line;var b=d(h),c;if(!b||d(h-1)||(c=d(h-2))&&c.end.line==h-1)return null;for(c=b.end;;){var e=d(c.line+1);if(null==e)break;c=e.end}return{from:f.clipPos(a.Pos(h,b.startCh+1)),to:c}});a.registerHelper("fold", +"include",function(f,h){function d(b){if(b<f.firstLine()||b>f.lastLine())return null;var c=f.getTokenAt(a.Pos(b,1));/\S/.test(c.string)||(c=f.getTokenAt(a.Pos(b,c.end+1)));if("meta"==c.type&&"#include"==c.string.slice(0,8))return c.start+8}h=h.line;var b=d(h);if(null==b||null!=d(h-1))return null;for(var c=h;null!=d(c+1);)++c;return{from:a.Pos(h,b+1),to:f.clipPos(a.Pos(c))}})})(a(48))},function(h,f){},function(h,f){},function(h,f,a){function q(a,c){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); +return!c||"object"!==typeof c&&"function"!==typeof c?a:c}function p(a,c){if("function"!==typeof c&&null!==c)throw new TypeError("Super expression must either be null or a function, not "+typeof c);a.prototype=Object.create(c&&c.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});c&&(Object.setPrototypeOf?Object.setPrototypeOf(a,c):a.__proto__=c)}a.d(f,"a",function(){return d});h=a(355);a.n(h);a=a(1);var n=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable= +d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,d,g){d&&a(b.prototype,d);g&&a(b,g);return b}}(),d=function(a){function b(a){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var c=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.selectedLayer=a;c.element=document.createElement("div");c.element.className="neuroglancer-annotation-tool-status-widget";c.registerDisposer(a.changed.add(function(){return c.selectedLayerChanged()})); +c.selectedLayerChanged();return c}p(b,a);n(b,[{key:"selectedLayerChanged",value:function(){var a=this,b=this.unbindPreviousLayer;void 0!==b&&b();b=this.selectedLayer.layer;void 0!==b&&(this.unbindPreviousLayer=b.specificationChanged.add(function(){a.updateView()}));this.updateView()}},{key:"disposed",value:function(){var a=this.unbindPreviousLayer;void 0!==a&&a();this.unbindPreviousLayer=void 0}},{key:"getDescriptionText",value:function(){var a=this.selectedLayer.layer;if(void 0!==a&&(a=a.layer,null!== +a&&(a=a.tool.value,void 0!==a)))return a.description}},{key:"updateView",value:function(){this.element.textContent=this.getDescriptionText()||""}}]);return b}(a.a)},function(h,f){},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b); +a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return e});var n=a(9);h=a(1);var d=a(8),b=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),c=function l(a,b,c){null=== +a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return l(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},e=function(a){function e(a,b){b=void 0===b?{}:b;if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");var c=q(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));c.model=a;c.element=document.createElement("label");c.inputElement=document.createElement("input"); +var d=b;b=d.validator;d=d.label;var f=c.element,k=c.inputElement;void 0===b&&(b=a instanceof n.c?a.validator:function(a){return a});c.validator=b;void 0!==d&&(f.textContent=d);f.appendChild(k);f.className="neuroglancer-number-input";k.type="input";c.registerDisposer(c.model.changed.add(function(){return c.updateView()}));c.registerEventListener(k,"change",function(){return c.updateModel()});c.updateView();return c}p(e,a);b(e,[{key:"updateView",value:function(){this.inputElement.value=""+this.model.value}}, +{key:"updateModel",value:function(){var a=parseFloat(this.inputElement.value.trim());if(Number.isNaN(a))this.updateView();else try{a=this.validator(a),this.model.value=a}catch(m){this.updateView()}}},{key:"disposed",value:function(){Object(d.b)(this.element);c(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"disposed",this).call(this)}}]);return e}(h.a)},function(h,f){},function(h,f,a){f.a=function(){return Object(q.c)(document,"contextmenu",function(a){a.preventDefault()})};f.b=function(){return Object(q.c)(document, +"wheel",function(a){a.ctrlKey&&a.preventDefault()})};var q=a(1)},function(h,f,a){function q(){var a=g.SingleMeshUserLayer.prototype.addRenderLayer;g.SingleMeshUserLayer.prototype.addRenderLayer=function(b){b instanceof l.c&&Object(r.a)(b);a.call(this,b)}}function p(){var a=c.ImageUserLayer.prototype.transformPickedValue;c.ImageUserLayer.prototype.transformPickedValue=function(b){b=a.call(this,b);null===b&&(b=void 0);return b}}function n(){var a=e.SegmentationUserLayer.prototype.addRenderLayer;e.SegmentationUserLayer.prototype.addRenderLayer= +function(b){b instanceof k.a&&(b.segmentColorShaderManager=new u.b("segmentColorHash"));a.call(this,b)}}function d(){e.SegmentationUserLayer.prototype.addMesh=function(a){this.meshLayer=new m.a(this.manager.chunkManager,a,this.displayState);this.addRenderLayer(this.meshLayer)}}f.a=function(a){a=a.globals||{};v||(a.useNehubaLayout&&(b.c.clear(),b.c.set("4panel",{factory:function(a,b,c,d){return new t.a(a,b,c,d)}}),b.c.set("xy",{factory:function(a,b,c,d){return new t.a(a,b,c,d)}})),a.hideNullImageValues&& +p(),a.useCustomSegmentColors&&n(),a.useNehubaMeshLayer&&d(),a.useNehubaSingleMeshLayer&&q(),v=!0)};var b=a(83),c=a(107),e=a(65),g=a(176),l=a(116),k=a(175),t=a(121),m=a(123),r=a(362),u=a(122),v=!1},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!== +typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return l});a.d(f,"b",function(){return k});h=a(1);var d=a(2),b=a(23),c=a(25),e=a(52),g=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable= +!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),l=function(a){function f(a,b,g){q(this,f);var k=p(this,(f.__proto__||Object.getPrototypeOf(f)).call(this));k.gl=a;k.copyVertexPositionsBuffer=Object(e.a)(k.gl);k.textureCoordinateAdjustment=new Float32Array(4);k.discardColor=d.u.fromValues(.5,.5,.5,1);var h=new c.a(a);h.addVarying("vec2","vTexCoord");h.addUniform("sampler2D","uSampler");h.addInitializer(function(b){a.uniform1i(b.uniform("uSampler"), +0)});h.addUniform("vec4","uColorFactor");h.addUniform("vec4","uBackgroundColor");h.addUniform("mat4","uProjectionMatrix");h.addUniform("vec4","uTextureCoordinateAdjustment");h.addUniform("vec4","uDiscardColor");h.require(b);h.setFragmentMain("none"===g?"\nvec4 sampledColor = texture(uSampler, vTexCoord);\nif (sampledColor.a == 0.0) {\n sampledColor = uBackgroundColor;\n}\nemit(sampledColor * uColorFactor, vec4(0,0,0,0));\n":"\nvec4 sampledColor = texture(uSampler, vTexCoord);\nif (sampledColor.a == 0.0) {\n sampledColor = uBackgroundColor;\n}\nif (sampledColor.r "+ +g+" uDiscardColor.r && sampledColor.g "+g+" uDiscardColor.g && sampledColor.b "+g+" uDiscardColor.b) discard;\nelse emit(sampledColor * uColorFactor, vec4(0,0,0,0));\n");h.addAttribute("vec4","aVertexPosition");h.setVertexMain("\nvTexCoord = uTextureCoordinateAdjustment.xy + 0.5 * (aVertexPosition.xy + 1.0) * uTextureCoordinateAdjustment.zw;\ngl_Position = uProjectionMatrix * aVertexPosition;\n");k.shader=k.registerDisposer(h.build());return k}n(f,a);g(f,[{key:"draw",value:function(a,b,c,d,e,g,f, +k){var h=this.gl,l=this.shader,m=this.textureCoordinateAdjustment;m[0]=e;m[1]=g;m[2]=f-e;m[3]=k-g;l.bind();h.activeTexture(h.TEXTURE0);h.bindTexture(h.TEXTURE_2D,a);h.uniformMatrix4fv(l.uniform("uProjectionMatrix"),!1,b);h.uniform4fv(l.uniform("uColorFactor"),c);h.uniform4fv(l.uniform("uBackgroundColor"),d);h.uniform4fv(l.uniform("uTextureCoordinateAdjustment"),m);h.uniform4fv(l.uniform("uDiscardColor"),this.discardColor);a=l.attribute("aVertexPosition");this.copyVertexPositionsBuffer.bindToVertexAttrib(a, +2);h.drawArrays(h.TRIANGLE_FAN,0,4);h.disableVertexAttribArray(a);h.bindTexture(h.TEXTURE_2D,null)}},{key:"setDiscardColor",value:function(a){this.discardColor=a}}],[{key:"get",value:function(a,c,d){return a.memoize.get("nehuba/NehubaSliceViewRenderHelper:"+Object(b.a)(c)+":"+d,function(){return new f(a,c,d)})}}]);return f}(h.a),k=function(a){function d(a,b){q(this,d);var g=p(this,(d.__proto__||Object.getPrototypeOf(d)).call(this));g.gl=a;g.copyVertexPositionsBuffer=Object(e.a)(g.gl);a=new c.a(a); +a.addUniform("mat4","uProjectionMatrix");a.addUniform("vec4","uColor");a.require(b);a.setFragmentMain("\nemit(uColor, vec4(0.0));\n");a.addAttribute("vec4","aVertexPosition");a.setVertexMain("\ngl_Position = uProjectionMatrix * aVertexPosition;\n");g.shader=g.registerDisposer(a.build());return g}n(d,a);g(d,[{key:"draw",value:function(a,b,c){var d=this.gl,e=this.shader;e.bind();d.uniformMatrix4fv(e.uniform("uProjectionMatrix"),!1,a);d.uniform4fv(e.uniform("uColor"),b);a=e.attribute("aVertexPosition"); +this.copyVertexPositionsBuffer.bindToVertexAttrib(a,2);c&&(d.enable(d.POLYGON_OFFSET_FILL),d.polygonOffset(c.factor,c.units));d.depthMask(!1);d.enable(d.BLEND);d.blendFunc(d.SRC_ALPHA,d.ONE_MINUS_SRC_ALPHA);d.drawArrays(d.TRIANGLE_FAN,0,4);d.disable(d.BLEND);d.depthMask(!0);d.polygonOffset(0,0);d.disable(d.POLYGON_OFFSET_FILL);d.disableVertexAttribArray(a)}}],[{key:"get",value:function(a,c){return a.memoize.get("nehuba/TransparentPlaneRenderHelper:"+Object(b.a)(c),function(){return new d(a,c)})}}]); +return d}(h.a)},function(h,f){},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}f.a=function(a){a.makeShaderManager=function(a){a=void 0===a?this.displayState.fragmentMain.value:a;return new e(this.displayState.attributeNames.value, +this.source.info.vertexAttributes,a)};a.draw=function(a){if(a.emitColor||!a.alreadyEmittedPickID){var b=this.source.chunks.get(n.b);if(void 0!==b&&b.state===p.d.GPU_MEMORY){var c=this.getShader(a.emitter);if(null!==c){var e=this.gl,g=this.shaderManager;c.bind();g.beginLayer(e,c,a);a.extra||console.error("Bad configuration. Nehuba mesh layer is used by neuroglancer code.");var f=Object(d.c)(a.extra);g.setNavState(e,c,f.navState);g.setOctant(e,c,f.octant);g.setBackFaceColor(e,c,f.backFaceColor);f=a.pickIDs; +g.beginObject(e,c,this.displayState.objectToDataTransform.transform);a.emitPickID&&g.setPickID(e,c,f.register(this,b.numIndices/3));g.drawFragment(e,c,b,this.countingBuffer);g.endLayer(e,c);a.extra.meshRendered=!0}}}}};var p=a(30),n=a(177);h=a(116);var d=a(123),b=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(), +c=function l(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return l(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},e=function(a){function d(){if(!(this instanceof d))throw new TypeError("Cannot call a class as a function");var a=(d.__proto__||Object.getPrototypeOf(d)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); +return!a||"object"!==typeof a&&"function"!==typeof a?this:a}q(d,a);b(d,[{key:"defineShader",value:function(a){c(d.prototype.__proto__||Object.getPrototypeOf(d.prototype),"defineShader",this).call(this,a);a.addVarying("highp vec4","vNavPos");a.addUniform("highp mat4","uNavState");a.addUniform("highp vec4","uOctant");a.addUniform("highp vec4","uBackFaceColor");a.addVertexMain("\nvec4 position = uModelMatrix * vec4(vertexPosition, 1.0);\nvNavPos = uNavState * position * uOctant;\n");a.addFragmentCode(this.fragmentMain.replace("void main()", +"void userMain()"));a.setFragmentMain("\nif (vNavPos.x > 0.0 && vNavPos.y > 0.0 && vNavPos.z > 0.0) {\n discard;\n} else {\n if (gl_FrontFacing) userMain();\n else emit(uBackFaceColor, uPickID);\n}\n")}},{key:"setNavState",value:function(a,b,c){a.uniformMatrix4fv(b.uniform("uNavState"),!1,c)}},{key:"setOctant",value:function(a,b,c){a.uniform4fv(b.uniform("uOctant"),c)}},{key:"setBackFaceColor",value:function(a,b,c){a.uniform4fv(b.uniform("uBackFaceColor"),c)}}]);return d}(h.d)},function(h,f,a){f.a= +function(a,d,b){var c=Object.assign({prefire:!0,share:!0},b),e=a instanceof q.a?a:a.s,g=a instanceof q.a?a:a.r;a=p.Observable.create(function(a){c.prefire&&a.next(d(e));var b=e.changed.add(function(){a.next(d(e))}),f=g.registerDisposer(function(){return a.complete()});return function(){b();g.unregisterDisposer(f)}});return c.share?c.prefire?a.publishReplay(1).refCount():a.share():a};var q=a(1),p=a(194);a.n(p)},function(h,f,a){h=a(12);f.Subject=h.Subject;f.AnonymousSubject=h.AnonymousSubject;h=a(0); f.Observable=h.Observable;a(366);a(369);a(372);a(375);a(377);a(380);a(382);a(385);a(389);a(392);a(395);a(397);a(400);a(403);a(408);a(410);a(412);a(415);a(417);a(419);a(422);a(425);a(428);a(431);a(434);a(436);a(438);a(444);a(446);a(448);a(450);a(452);a(454);a(456);a(458);a(459);a(460);a(462);a(464);a(466);a(468);a(470);a(472);a(474);a(476);a(478);a(480);a(483);a(484);a(486);a(488);a(490);a(492);a(494);a(496);a(497);a(499);a(500);a(502);a(504);a(509);a(511);a(513);a(515);a(517);a(519);a(521);a(523); -a(524);a(526);a(528);a(530);a(531);a(532);a(533);a(534);a(536);a(538);a(539);a(540);a(541);a(543);a(546);a(548);a(550);a(552);a(554);a(556);a(557);a(558);a(560);a(562);a(564);a(566);a(568);a(570);a(572);a(574);a(576);a(578);a(580);a(582);a(584);a(586);a(588);a(590);a(598);a(600);a(602);a(604);a(606);a(608);a(610);a(612);a(613);a(615);a(616);a(618);a(620);a(621);a(623);a(625);a(627);a(629);a(631);a(633);a(635);a(637);a(638);h=a(11);f.Subscription=h.Subscription;h=a(3);f.Subscriber=h.Subscriber;h=a(88); -f.AsyncSubject=h.AsyncSubject;h=a(92);f.ReplaySubject=h.ReplaySubject;h=a(215);f.BehaviorSubject=h.BehaviorSubject;h=a(214);f.ConnectableObservable=h.ConnectableObservable;h=a(68);f.Notification=h.Notification;h=a(93);f.EmptyError=h.EmptyError;h=a(71);f.ArgumentOutOfRangeError=h.ArgumentOutOfRangeError;h=a(87);f.ObjectUnsubscribedError=h.ObjectUnsubscribedError;h=a(220);f.TimeoutError=h.TimeoutError;h=a(196);f.UnsubscriptionError=h.UnsubscriptionError;h=a(219);f.TimeInterval=h.TimeInterval;h=a(221); -f.Timestamp=h.Timestamp;h=a(640);f.TestScheduler=h.TestScheduler;h=a(225);f.VirtualTimeScheduler=h.VirtualTimeScheduler;h=a(207);f.AjaxResponse=h.AjaxResponse;f.AjaxError=h.AjaxError;f.AjaxTimeoutError=h.AjaxTimeoutError;h=a(216);var q=a(19),p=a(208),n=a(643),c=a(85),b=a(67);a=a(86);f.Scheduler={asap:h.asap,queue:p.queue,animationFrame:n.animationFrame,async:q.async};f.Symbol={rxSubscriber:c.rxSubscriber,observable:a.observable,iterator:b.iterator}},function(h,f,a){var q=a(3),p=a(85),n=a(197);f.toSubscriber= -function(a,b,d){if(a){if(a instanceof q.Subscriber)return a;if(a[p.rxSubscriber])return a[p.rxSubscriber]()}return a||b||d?new q.Subscriber(a,b,d):new q.Subscriber(n.empty)}},function(h,f,a){h=a(0);a=a(367);h.Observable.bindCallback=a.bindCallback},function(h,f,a){h=a(368);f.bindCallback=h.BoundCallbackObservable.create},function(h,f,a){function q(a){var b=a.subject;b.next(a.value);b.complete()}function p(a){a.subject.error(a.err)}var n=this&&this.__extends||function(a,b){function c(){this.constructor= -a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(0);var c=a(17),b=a(13),d=a(88);a=function(a){function e(b,c,d,e,g){a.call(this);this.callbackFunc=b;this.selector=c;this.args=d;this.context=e;this.scheduler=g}n(e,a);e.create=function(a,b,c){void 0===b&&(b=void 0);return function(){for(var d=[],g=0;g<arguments.length;g++)d[g-0]=arguments[g];return new e(a,b,d,this,c)}};e.prototype._subscribe=function(a){var g=this.callbackFunc, -f=this.args,h=this.scheduler,l=this.subject;if(h)return h.schedule(e.dispatch,0,{source:this,subscriber:a,context:this.context});l||(l=this.subject=new d.AsyncSubject,h=function v(){for(var a=[],d=0;d<arguments.length;d++)a[d-0]=arguments[d];var e=v.source;d=e.selector;e=e.subject;d?(a=c.tryCatch(d).apply(this,a),a===b.errorObject?e.error(b.errorObject.e):(e.next(a),e.complete())):(e.next(1>=a.length?a[0]:a),e.complete())},h.source=this,c.tryCatch(g).apply(this.context,f.concat(h))===b.errorObject&& -l.error(b.errorObject.e));return l.subscribe(a)};e.dispatch=function(a){var e=this,g=a.source,f=a.subscriber;a=a.context;var h=g.callbackFunc,l=g.args,n=g.scheduler,w=g.subject;if(!w){w=g.subject=new d.AsyncSubject;var y=function A(){for(var a=[],d=0;d<arguments.length;d++)a[d-0]=arguments[d];var g=A.source;d=g.selector;g=g.subject;d?(a=c.tryCatch(d).apply(this,a),a===b.errorObject?e.add(n.schedule(p,0,{err:b.errorObject.e,subject:g})):e.add(n.schedule(q,0,{value:a,subject:g}))):e.add(n.schedule(q, -0,{value:1>=a.length?a[0]:a,subject:g}))};y.source=g;c.tryCatch(h).apply(a,l.concat(y))===b.errorObject&&w.error(b.errorObject.e)}e.add(w.subscribe(f))};return e}(h.Observable);f.BoundCallbackObservable=a},function(h,f,a){h=a(0);a=a(370);h.Observable.bindNodeCallback=a.bindNodeCallback},function(h,f,a){h=a(371);f.bindNodeCallback=h.BoundNodeCallbackObservable.create},function(h,f,a){function q(a){var c=this,g=a.source,f=a.subscriber;a=a.context;var h=g.callbackFunc,r=g.args,q=g.scheduler,v=g.subject; -if(!v){v=g.subject=new e.AsyncSubject;var w=function x(){for(var a=[],e=0;e<arguments.length;e++)a[e-0]=arguments[e];var g=x.source;e=g.selector;g=g.subject;var f=a.shift();f?c.add(q.schedule(n,0,{err:f,subject:g})):e?(a=b.tryCatch(e).apply(this,a),a===d.errorObject?c.add(q.schedule(n,0,{err:d.errorObject.e,subject:g})):c.add(q.schedule(p,0,{value:a,subject:g}))):c.add(q.schedule(p,0,{value:1>=a.length?a[0]:a,subject:g}))};w.source=g;b.tryCatch(h).apply(a,r.concat(w))===d.errorObject&&c.add(q.schedule(n, -0,{err:d.errorObject.e,subject:v}))}c.add(v.subscribe(f))}function p(a){var b=a.subject;b.next(a.value);b.complete()}function n(a){a.subject.error(a.err)}var c=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(0);var b=a(17),d=a(13),e=a(88);a=function(a){function g(b,c,d,e,g){a.call(this);this.callbackFunc=b;this.selector=c;this.args=d;this.context=e;this.scheduler= -g}c(g,a);g.create=function(a,b,c){void 0===b&&(b=void 0);return function(){for(var d=[],e=0;e<arguments.length;e++)d[e-0]=arguments[e];return new g(a,b,d,this,c)}};g.prototype._subscribe=function(a){var c=this.callbackFunc,g=this.args,f=this.scheduler,k=this.subject;if(f)return f.schedule(q,0,{source:this,subscriber:a,context:this.context});k||(k=this.subject=new e.AsyncSubject,f=function w(){for(var a=[],c=0;c<arguments.length;c++)a[c-0]=arguments[c];var e=w.source;c=e.selector;e=e.subject;var g= -a.shift();g?e.error(g):c?(a=b.tryCatch(c).apply(this,a),a===d.errorObject?e.error(d.errorObject.e):(e.next(a),e.complete())):(e.next(1>=a.length?a[0]:a),e.complete())},f.source=this,b.tryCatch(c).apply(this.context,g.concat(f))===d.errorObject&&k.error(d.errorObject.e));return k.subscribe(a)};return g}(h.Observable);f.BoundNodeCallbackObservable=a},function(h,f,a){h=a(0);a=a(373);h.Observable.combineLatest=a.combineLatest},function(h,f,a){var q=a(37),p=a(36),n=a(38),c=a(125);f.combineLatest=function(){for(var a= -[],d=0;d<arguments.length;d++)a[d-0]=arguments[d];var e=d=null;q.isScheduler(a[a.length-1])&&(e=a.pop());"function"===typeof a[a.length-1]&&(d=a.pop());1===a.length&&p.isArray(a[0])&&(a=a[0]);return(new n.ArrayObservable(a,e)).lift(new c.CombineLatestOperator(d))}},function(h,f,a){var q=this&&this.__extends||function(a,f){function c(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(c.prototype=f.prototype,new c)};h=function(a){function f(c, -b,d){a.call(this);this.parent=c;this.outerValue=b;this.outerIndex=d;this.index=0}q(f,a);f.prototype._next=function(a){this.parent.notifyNext(this.outerValue,a,this.outerIndex,this.index++,this)};f.prototype._error=function(a){this.parent.notifyError(a,this);this.unsubscribe()};f.prototype._complete=function(){this.parent.notifyComplete(this);this.unsubscribe()};return f}(a(3).Subscriber);f.InnerSubscriber=h},function(h,f,a){h=a(0);a=a(376);h.Observable.concat=a.concat},function(h,f,a){h=a(126);f.concat= -h.concatStatic},function(h,f,a){h=a(0);a=a(378);h.Observable.defer=a.defer},function(h,f,a){h=a(379);f.defer=h.DeferObservable.create},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(0);var p=a(6);a=a(5);h=function(a){function b(b){a.call(this);this.observableFactory=b}q(b,a);b.create=function(a){return new b(a)};b.prototype._subscribe= -function(a){return new n(a,this.observableFactory)};return b}(h.Observable);f.DeferObservable=h;var n=function(a){function b(b,c){a.call(this,b);this.factory=c;this.tryDefer()}q(b,a);b.prototype.tryDefer=function(){try{this._callFactory()}catch(d){this._error(d)}};b.prototype._callFactory=function(){var a=this.factory();a&&this.add(p.subscribeToResult(this,a))};return b}(a.OuterSubscriber)},function(h,f,a){h=a(0);a=a(381);h.Observable.empty=a.empty},function(h,f,a){h=a(42);f.empty=h.EmptyObservable.create}, -function(h,f,a){h=a(0);a=a(383);h.Observable.forkJoin=a.forkJoin},function(h,f,a){h=a(384);f.forkJoin=h.ForkJoinObservable.create},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(0);var p=a(42),n=a(36),c=a(6);a=a(5);h=function(a){function c(b,c){a.call(this);this.sources=b;this.resultSelector=c}q(c,a);c.create=function(){for(var a=[], -b=0;b<arguments.length;b++)a[b-0]=arguments[b];if(null===a||0===arguments.length)return new p.EmptyObservable;b=null;"function"===typeof a[a.length-1]&&(b=a.pop());1===a.length&&n.isArray(a[0])&&(a=a[0]);return 0===a.length?new p.EmptyObservable:new c(a,b)};c.prototype._subscribe=function(a){return new b(a,this.sources,this.resultSelector)};return c}(h.Observable);f.ForkJoinObservable=h;var b=function(a){function b(b,d,e){a.call(this,b);this.sources=d;this.resultSelector=e;this.haveValues=this.completed= -0;this.total=b=d.length;this.values=Array(b);for(e=0;e<b;e++){var g=c.subscribeToResult(this,d[e],null,e);g&&(g.outerIndex=e,this.add(g))}}q(b,a);b.prototype.notifyNext=function(a,b,c,d,e){this.values[c]=b;e._hasValue||(e._hasValue=!0,this.haveValues++)};b.prototype.notifyComplete=function(a){var b=this.destination,c=this.haveValues,d=this.resultSelector,e=this.values,g=e.length;a._hasValue?(this.completed++,this.completed===g&&(c===g&&(a=d?d.apply(this,e):e,b.next(a)),b.complete())):b.complete()}; -return b}(a.OuterSubscriber)},function(h,f,a){h=a(0);a=a(386);h.Observable.from=a.from},function(h,f,a){h=a(201);f.from=h.FromObservable.create},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(16);h=a(0);var n=a(67);a=function(a){function d(d,e){a.call(this);this.scheduler=e;if(null==d)throw Error("iterator cannot be null.");if((e=d[n.iterator])|| -"string"!==typeof d)if(e||void 0===d.length){if(!e)throw new TypeError("object is not iterable");d=d[n.iterator]()}else d=new b(d);else d=new c(d);this.iterator=d}q(d,a);d.create=function(a,b){return new d(a,b)};d.dispatch=function(a){var b=a.index,c=a.iterator,d=a.subscriber;if(a.hasError)d.error(a.error);else{var e=c.next();e.done?d.complete():(d.next(e.value),a.index=b+1,d.closed?"function"===typeof c.return&&c.return():this.schedule(a))}};d.prototype._subscribe=function(a){var b=this.iterator, -c=this.scheduler;if(c)return c.schedule(d.dispatch,0,{index:0,iterator:b,subscriber:a});do{c=b.next();if(c.done){a.complete();break}else a.next(c.value);if(a.closed){"function"===typeof b.return&&b.return();break}}while(1)};return d}(h.Observable);f.IteratorObservable=a;var c=function(){function a(a,b,c){void 0===b&&(b=0);void 0===c&&(c=a.length);this.str=a;this.idx=b;this.len=c}a.prototype[n.iterator]=function(){return this};a.prototype.next=function(){return this.idx<this.len?{done:!1,value:this.str.charAt(this.idx++)}: -{done:!0,value:void 0}};return a}(),b=function(){function a(a,b,c){void 0===b&&(b=0);if(void 0===c)if(c=+a.length,isNaN(c))c=0;else if(0!==c&&"number"===typeof c&&p.root.isFinite(c)){var e=+c;e=0===e?e:isNaN(e)?e:0>e?-1:1;c=e*Math.floor(Math.abs(c));c=0>=c?0:c>d?d:c}this.arr=a;this.idx=b;this.len=c}a.prototype[n.iterator]=function(){return this};a.prototype.next=function(){return this.idx<this.len?{done:!1,value:this.arr[this.idx++]}:{done:!0,value:void 0}};return a}(),d=Math.pow(2,53)-1},function(h, -f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(0);var p=a(124),n=a(42);a=function(a){function b(b,c){a.call(this);this.arrayLike=b;this.scheduler=c;c||1!==b.length||(this._isScalar=!0,this.value=b[0])}q(b,a);b.create=function(a,c){var d=a.length;return 0===d?new n.EmptyObservable:1===d?new p.ScalarObservable(a[0],c):new b(a,c)};b.dispatch=function(a){var b= +a(524);a(526);a(528);a(530);a(531);a(532);a(533);a(534);a(536);a(538);a(539);a(540);a(541);a(543);a(546);a(548);a(550);a(552);a(554);a(556);a(557);a(558);a(560);a(562);a(564);a(566);a(568);a(570);a(572);a(574);a(576);a(578);a(580);a(582);a(584);a(586);a(588);a(590);a(598);a(600);a(602);a(604);a(606);a(608);a(610);a(612);a(613);a(615);a(616);a(618);a(620);a(621);a(623);a(625);a(627);a(629);a(631);a(633);a(635);a(637);a(638);h=a(11);f.Subscription=h.Subscription;h=a(3);f.Subscriber=h.Subscriber;h=a(89); +f.AsyncSubject=h.AsyncSubject;h=a(93);f.ReplaySubject=h.ReplaySubject;h=a(215);f.BehaviorSubject=h.BehaviorSubject;h=a(214);f.ConnectableObservable=h.ConnectableObservable;h=a(69);f.Notification=h.Notification;h=a(94);f.EmptyError=h.EmptyError;h=a(72);f.ArgumentOutOfRangeError=h.ArgumentOutOfRangeError;h=a(88);f.ObjectUnsubscribedError=h.ObjectUnsubscribedError;h=a(220);f.TimeoutError=h.TimeoutError;h=a(196);f.UnsubscriptionError=h.UnsubscriptionError;h=a(219);f.TimeInterval=h.TimeInterval;h=a(221); +f.Timestamp=h.Timestamp;h=a(640);f.TestScheduler=h.TestScheduler;h=a(225);f.VirtualTimeScheduler=h.VirtualTimeScheduler;h=a(207);f.AjaxResponse=h.AjaxResponse;f.AjaxError=h.AjaxError;f.AjaxTimeoutError=h.AjaxTimeoutError;h=a(216);var q=a(19),p=a(208),n=a(643),d=a(86),b=a(68);a=a(87);f.Scheduler={asap:h.asap,queue:p.queue,animationFrame:n.animationFrame,async:q.async};f.Symbol={rxSubscriber:d.rxSubscriber,observable:a.observable,iterator:b.iterator}},function(h,f,a){var q=a(3),p=a(86),n=a(197);f.toSubscriber= +function(a,b,c){if(a){if(a instanceof q.Subscriber)return a;if(a[p.rxSubscriber])return a[p.rxSubscriber]()}return a||b||c?new q.Subscriber(a,b,c):new q.Subscriber(n.empty)}},function(h,f,a){h=a(0);a=a(367);h.Observable.bindCallback=a.bindCallback},function(h,f,a){h=a(368);f.bindCallback=h.BoundCallbackObservable.create},function(h,f,a){function q(a){var b=a.subject;b.next(a.value);b.complete()}function p(a){a.subject.error(a.err)}var n=this&&this.__extends||function(a,b){function c(){this.constructor= +a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(0);var d=a(17),b=a(13),c=a(89);a=function(a){function e(b,c,d,e,g){a.call(this);this.callbackFunc=b;this.selector=c;this.args=d;this.context=e;this.scheduler=g}n(e,a);e.create=function(a,b,c){void 0===b&&(b=void 0);return function(){for(var d=[],g=0;g<arguments.length;g++)d[g-0]=arguments[g];return new e(a,b,d,this,c)}};e.prototype._subscribe=function(a){var g=this.callbackFunc, +f=this.args,h=this.scheduler,l=this.subject;if(h)return h.schedule(e.dispatch,0,{source:this,subscriber:a,context:this.context});l||(l=this.subject=new c.AsyncSubject,h=function v(){for(var a=[],c=0;c<arguments.length;c++)a[c-0]=arguments[c];var e=v.source;c=e.selector;e=e.subject;c?(a=d.tryCatch(c).apply(this,a),a===b.errorObject?e.error(b.errorObject.e):(e.next(a),e.complete())):(e.next(1>=a.length?a[0]:a),e.complete())},h.source=this,d.tryCatch(g).apply(this.context,f.concat(h))===b.errorObject&& +l.error(b.errorObject.e));return l.subscribe(a)};e.dispatch=function(a){var e=this,g=a.source,f=a.subscriber;a=a.context;var h=g.callbackFunc,l=g.args,n=g.scheduler,w=g.subject;if(!w){w=g.subject=new c.AsyncSubject;var y=function A(){for(var a=[],c=0;c<arguments.length;c++)a[c-0]=arguments[c];var g=A.source;c=g.selector;g=g.subject;c?(a=d.tryCatch(c).apply(this,a),a===b.errorObject?e.add(n.schedule(p,0,{err:b.errorObject.e,subject:g})):e.add(n.schedule(q,0,{value:a,subject:g}))):e.add(n.schedule(q, +0,{value:1>=a.length?a[0]:a,subject:g}))};y.source=g;d.tryCatch(h).apply(a,l.concat(y))===b.errorObject&&w.error(b.errorObject.e)}e.add(w.subscribe(f))};return e}(h.Observable);f.BoundCallbackObservable=a},function(h,f,a){h=a(0);a=a(370);h.Observable.bindNodeCallback=a.bindNodeCallback},function(h,f,a){h=a(371);f.bindNodeCallback=h.BoundNodeCallbackObservable.create},function(h,f,a){function q(a){var d=this,g=a.source,f=a.subscriber;a=a.context;var h=g.callbackFunc,r=g.args,q=g.scheduler,v=g.subject; +if(!v){v=g.subject=new e.AsyncSubject;var w=function x(){for(var a=[],e=0;e<arguments.length;e++)a[e-0]=arguments[e];var g=x.source;e=g.selector;g=g.subject;var f=a.shift();f?d.add(q.schedule(n,0,{err:f,subject:g})):e?(a=b.tryCatch(e).apply(this,a),a===c.errorObject?d.add(q.schedule(n,0,{err:c.errorObject.e,subject:g})):d.add(q.schedule(p,0,{value:a,subject:g}))):d.add(q.schedule(p,0,{value:1>=a.length?a[0]:a,subject:g}))};w.source=g;b.tryCatch(h).apply(a,r.concat(w))===c.errorObject&&d.add(q.schedule(n, +0,{err:c.errorObject.e,subject:v}))}d.add(v.subscribe(f))}function p(a){var b=a.subject;b.next(a.value);b.complete()}function n(a){a.subject.error(a.err)}var d=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(0);var b=a(17),c=a(13),e=a(89);a=function(a){function g(b,c,d,e,g){a.call(this);this.callbackFunc=b;this.selector=c;this.args=d;this.context=e;this.scheduler= +g}d(g,a);g.create=function(a,b,c){void 0===b&&(b=void 0);return function(){for(var d=[],e=0;e<arguments.length;e++)d[e-0]=arguments[e];return new g(a,b,d,this,c)}};g.prototype._subscribe=function(a){var d=this.callbackFunc,g=this.args,f=this.scheduler,k=this.subject;if(f)return f.schedule(q,0,{source:this,subscriber:a,context:this.context});k||(k=this.subject=new e.AsyncSubject,f=function w(){for(var a=[],d=0;d<arguments.length;d++)a[d-0]=arguments[d];var e=w.source;d=e.selector;e=e.subject;var g= +a.shift();g?e.error(g):d?(a=b.tryCatch(d).apply(this,a),a===c.errorObject?e.error(c.errorObject.e):(e.next(a),e.complete())):(e.next(1>=a.length?a[0]:a),e.complete())},f.source=this,b.tryCatch(d).apply(this.context,g.concat(f))===c.errorObject&&k.error(c.errorObject.e));return k.subscribe(a)};return g}(h.Observable);f.BoundNodeCallbackObservable=a},function(h,f,a){h=a(0);a=a(373);h.Observable.combineLatest=a.combineLatest},function(h,f,a){var q=a(37),p=a(36),n=a(38),d=a(125);f.combineLatest=function(){for(var a= +[],c=0;c<arguments.length;c++)a[c-0]=arguments[c];var e=c=null;q.isScheduler(a[a.length-1])&&(e=a.pop());"function"===typeof a[a.length-1]&&(c=a.pop());1===a.length&&p.isArray(a[0])&&(a=a[0]);return(new n.ArrayObservable(a,e)).lift(new d.CombineLatestOperator(c))}},function(h,f,a){var q=this&&this.__extends||function(a,f){function d(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(d.prototype=f.prototype,new d)};h=function(a){function f(d, +b,c){a.call(this);this.parent=d;this.outerValue=b;this.outerIndex=c;this.index=0}q(f,a);f.prototype._next=function(a){this.parent.notifyNext(this.outerValue,a,this.outerIndex,this.index++,this)};f.prototype._error=function(a){this.parent.notifyError(a,this);this.unsubscribe()};f.prototype._complete=function(){this.parent.notifyComplete(this);this.unsubscribe()};return f}(a(3).Subscriber);f.InnerSubscriber=h},function(h,f,a){h=a(0);a=a(376);h.Observable.concat=a.concat},function(h,f,a){h=a(126);f.concat= +h.concatStatic},function(h,f,a){h=a(0);a=a(378);h.Observable.defer=a.defer},function(h,f,a){h=a(379);f.defer=h.DeferObservable.create},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(0);var p=a(6);a=a(5);h=function(a){function b(b){a.call(this);this.observableFactory=b}q(b,a);b.create=function(a){return new b(a)};b.prototype._subscribe= +function(a){return new n(a,this.observableFactory)};return b}(h.Observable);f.DeferObservable=h;var n=function(a){function b(b,d){a.call(this,b);this.factory=d;this.tryDefer()}q(b,a);b.prototype.tryDefer=function(){try{this._callFactory()}catch(c){this._error(c)}};b.prototype._callFactory=function(){var a=this.factory();a&&this.add(p.subscribeToResult(this,a))};return b}(a.OuterSubscriber)},function(h,f,a){h=a(0);a=a(381);h.Observable.empty=a.empty},function(h,f,a){h=a(42);f.empty=h.EmptyObservable.create}, +function(h,f,a){h=a(0);a=a(383);h.Observable.forkJoin=a.forkJoin},function(h,f,a){h=a(384);f.forkJoin=h.ForkJoinObservable.create},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(0);var p=a(42),n=a(36),d=a(6);a=a(5);h=function(a){function c(b,c){a.call(this);this.sources=b;this.resultSelector=c}q(c,a);c.create=function(){for(var a=[], +b=0;b<arguments.length;b++)a[b-0]=arguments[b];if(null===a||0===arguments.length)return new p.EmptyObservable;b=null;"function"===typeof a[a.length-1]&&(b=a.pop());1===a.length&&n.isArray(a[0])&&(a=a[0]);return 0===a.length?new p.EmptyObservable:new c(a,b)};c.prototype._subscribe=function(a){return new b(a,this.sources,this.resultSelector)};return c}(h.Observable);f.ForkJoinObservable=h;var b=function(a){function b(b,c,e){a.call(this,b);this.sources=c;this.resultSelector=e;this.haveValues=this.completed= +0;this.total=b=c.length;this.values=Array(b);for(e=0;e<b;e++){var g=d.subscribeToResult(this,c[e],null,e);g&&(g.outerIndex=e,this.add(g))}}q(b,a);b.prototype.notifyNext=function(a,b,c,d,e){this.values[c]=b;e._hasValue||(e._hasValue=!0,this.haveValues++)};b.prototype.notifyComplete=function(a){var b=this.destination,c=this.haveValues,d=this.resultSelector,e=this.values,g=e.length;a._hasValue?(this.completed++,this.completed===g&&(c===g&&(a=d?d.apply(this,e):e,b.next(a)),b.complete())):b.complete()}; +return b}(a.OuterSubscriber)},function(h,f,a){h=a(0);a=a(386);h.Observable.from=a.from},function(h,f,a){h=a(201);f.from=h.FromObservable.create},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(16);h=a(0);var n=a(68);a=function(a){function c(c,e){a.call(this);this.scheduler=e;if(null==c)throw Error("iterator cannot be null.");if((e=c[n.iterator])|| +"string"!==typeof c)if(e||void 0===c.length){if(!e)throw new TypeError("object is not iterable");c=c[n.iterator]()}else c=new b(c);else c=new d(c);this.iterator=c}q(c,a);c.create=function(a,b){return new c(a,b)};c.dispatch=function(a){var b=a.index,c=a.iterator,d=a.subscriber;if(a.hasError)d.error(a.error);else{var e=c.next();e.done?d.complete():(d.next(e.value),a.index=b+1,d.closed?"function"===typeof c.return&&c.return():this.schedule(a))}};c.prototype._subscribe=function(a){var b=this.iterator, +d=this.scheduler;if(d)return d.schedule(c.dispatch,0,{index:0,iterator:b,subscriber:a});do{d=b.next();if(d.done){a.complete();break}else a.next(d.value);if(a.closed){"function"===typeof b.return&&b.return();break}}while(1)};return c}(h.Observable);f.IteratorObservable=a;var d=function(){function a(a,b,c){void 0===b&&(b=0);void 0===c&&(c=a.length);this.str=a;this.idx=b;this.len=c}a.prototype[n.iterator]=function(){return this};a.prototype.next=function(){return this.idx<this.len?{done:!1,value:this.str.charAt(this.idx++)}: +{done:!0,value:void 0}};return a}(),b=function(){function a(a,b,d){void 0===b&&(b=0);if(void 0===d)if(d=+a.length,isNaN(d))d=0;else if(0!==d&&"number"===typeof d&&p.root.isFinite(d)){var e=+d;e=0===e?e:isNaN(e)?e:0>e?-1:1;d=e*Math.floor(Math.abs(d));d=0>=d?0:d>c?c:d}this.arr=a;this.idx=b;this.len=d}a.prototype[n.iterator]=function(){return this};a.prototype.next=function(){return this.idx<this.len?{done:!1,value:this.arr[this.idx++]}:{done:!0,value:void 0}};return a}(),c=Math.pow(2,53)-1},function(h, +f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(0);var p=a(124),n=a(42);a=function(a){function b(b,d){a.call(this);this.arrayLike=b;this.scheduler=d;d||1!==b.length||(this._isScalar=!0,this.value=b[0])}q(b,a);b.create=function(a,d){var c=a.length;return 0===c?new n.EmptyObservable:1===c?new p.ScalarObservable(a[0],d):new b(a,d)};b.dispatch=function(a){var b= a.arrayLike,c=a.index,d=a.subscriber;d.closed||(c>=a.length?d.complete():(d.next(b[c]),a.index=c+1,this.schedule(a)))};b.prototype._subscribe=function(a){var c=this.arrayLike,d=this.scheduler,f=c.length;if(d)return d.schedule(b.dispatch,0,{arrayLike:c,index:0,length:f,subscriber:a});for(d=0;d<f&&!a.closed;d++)a.next(c[d]);a.complete()};return b}(h.Observable);f.ArrayLikeObservable=a},function(h,f,a){h=a(0);a=a(390);h.Observable.fromEvent=a.fromEvent},function(h,f,a){h=a(391);f.fromEvent=h.FromEventObservable.create}, -function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(0);var p=a(17),n=a(84),c=a(13),b=a(11),d=Object.prototype.toString;a=function(a){function e(b,c,d,e){a.call(this);this.sourceObj=b;this.eventName=c;this.selector=d;this.options=e}q(e,a);e.create=function(a,b,c,d){n.isFunction(c)&&(d=c,c=void 0);return new e(a,b,d,c)};e.setupSubscription= -function(a,c,g,f,h){if(a&&"[object NodeList]"===d.call(a)||a&&"[object HTMLCollection]"===d.call(a))for(var k=0,l=a.length;k<l;k++)e.setupSubscription(a[k],c,g,f,h);else if(a&&"function"===typeof a.addEventListener&&"function"===typeof a.removeEventListener){a.addEventListener(c,g,h);var m=function(){return a.removeEventListener(c,g)}}else if(a&&"function"===typeof a.on&&"function"===typeof a.off)a.on(c,g),m=function(){return a.off(c,g)};else if(a&&"function"===typeof a.addListener&&"function"=== -typeof a.removeListener)a.addListener(c,g),m=function(){return a.removeListener(c,g)};else throw new TypeError("Invalid event target");f.add(new b.Subscription(m))};e.prototype._subscribe=function(a){var b=this.selector;e.setupSubscription(this.sourceObj,this.eventName,b?function(){for(var d=[],e=0;e<arguments.length;e++)d[e-0]=arguments[e];d=p.tryCatch(b).apply(void 0,d);d===c.errorObject?a.error(c.errorObject.e):a.next(d)}:function(b){return a.next(b)},a,this.options)};return e}(h.Observable);f.FromEventObservable= -a},function(h,f,a){h=a(0);a=a(393);h.Observable.fromEventPattern=a.fromEventPattern},function(h,f,a){h=a(394);f.fromEventPattern=h.FromEventPatternObservable.create},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(84);h=a(0);var n=a(11);a=function(a){function b(b,c,g){a.call(this);this.addHandler=b;this.removeHandler=c;this.selector=g} -q(b,a);b.create=function(a,c,g){return new b(a,c,g)};b.prototype._subscribe=function(a){var b=this,c=this.removeHandler,d=this.selector?function(){for(var c=[],d=0;d<arguments.length;d++)c[d-0]=arguments[d];b._callSelector(a,c)}:function(b){a.next(b)},f=this._callAddHandler(d,a);p.isFunction(c)&&a.add(new n.Subscription(function(){c(d,f)}))};b.prototype._callSelector=function(a,b){try{var c=this.selector.apply(this,b);a.next(c)}catch(l){a.error(l)}};b.prototype._callAddHandler=function(a,b){try{return this.addHandler(a)|| -null}catch(g){b.error(g)}};return b}(h.Observable);f.FromEventPatternObservable=a},function(h,f,a){h=a(0);a=a(396);h.Observable.fromPromise=a.fromPromise},function(h,f,a){h=a(202);f.fromPromise=h.PromiseObservable.create},function(h,f,a){h=a(0);a=a(398);h.Observable.generate=a.generate},function(h,f,a){h=a(399);f.generate=h.GenerateObservable.create},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype= -null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(0);var p=a(37),n=function(a){return a};a=function(a){function b(b,c,g,f,k){a.call(this);this.initialState=b;this.condition=c;this.iterate=g;this.resultSelector=f;this.scheduler=k}q(b,a);b.create=function(a,c,g,f,k){return 1==arguments.length?new b(a.initialState,a.condition,a.iterate,a.resultSelector||n,a.scheduler):void 0===f||p.isScheduler(f)?new b(a,c,g,n,f):new b(a,c,g,f,k)};b.prototype._subscribe=function(a){var c=this.initialState; +function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(0);var p=a(17),n=a(85),d=a(13),b=a(11),c=Object.prototype.toString;a=function(a){function e(b,c,d,e){a.call(this);this.sourceObj=b;this.eventName=c;this.selector=d;this.options=e}q(e,a);e.create=function(a,b,c,d){n.isFunction(c)&&(d=c,c=void 0);return new e(a,b,d,c)};e.setupSubscription= +function(a,d,g,f,h){if(a&&"[object NodeList]"===c.call(a)||a&&"[object HTMLCollection]"===c.call(a))for(var k=0,l=a.length;k<l;k++)e.setupSubscription(a[k],d,g,f,h);else if(a&&"function"===typeof a.addEventListener&&"function"===typeof a.removeEventListener){a.addEventListener(d,g,h);var m=function(){return a.removeEventListener(d,g)}}else if(a&&"function"===typeof a.on&&"function"===typeof a.off)a.on(d,g),m=function(){return a.off(d,g)};else if(a&&"function"===typeof a.addListener&&"function"=== +typeof a.removeListener)a.addListener(d,g),m=function(){return a.removeListener(d,g)};else throw new TypeError("Invalid event target");f.add(new b.Subscription(m))};e.prototype._subscribe=function(a){var b=this.selector;e.setupSubscription(this.sourceObj,this.eventName,b?function(){for(var c=[],e=0;e<arguments.length;e++)c[e-0]=arguments[e];c=p.tryCatch(b).apply(void 0,c);c===d.errorObject?a.error(d.errorObject.e):a.next(c)}:function(b){return a.next(b)},a,this.options)};return e}(h.Observable);f.FromEventObservable= +a},function(h,f,a){h=a(0);a=a(393);h.Observable.fromEventPattern=a.fromEventPattern},function(h,f,a){h=a(394);f.fromEventPattern=h.FromEventPatternObservable.create},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(85);h=a(0);var n=a(11);a=function(a){function b(b,d,g){a.call(this);this.addHandler=b;this.removeHandler=d;this.selector=g} +q(b,a);b.create=function(a,d,g){return new b(a,d,g)};b.prototype._subscribe=function(a){var b=this,c=this.removeHandler,d=this.selector?function(){for(var c=[],d=0;d<arguments.length;d++)c[d-0]=arguments[d];b._callSelector(a,c)}:function(b){a.next(b)},f=this._callAddHandler(d,a);p.isFunction(c)&&a.add(new n.Subscription(function(){c(d,f)}))};b.prototype._callSelector=function(a,b){try{var c=this.selector.apply(this,b);a.next(c)}catch(l){a.error(l)}};b.prototype._callAddHandler=function(a,b){try{return this.addHandler(a)|| +null}catch(g){b.error(g)}};return b}(h.Observable);f.FromEventPatternObservable=a},function(h,f,a){h=a(0);a=a(396);h.Observable.fromPromise=a.fromPromise},function(h,f,a){h=a(202);f.fromPromise=h.PromiseObservable.create},function(h,f,a){h=a(0);a=a(398);h.Observable.generate=a.generate},function(h,f,a){h=a(399);f.generate=h.GenerateObservable.create},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype= +null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(0);var p=a(37),n=function(a){return a};a=function(a){function b(b,d,g,f,k){a.call(this);this.initialState=b;this.condition=d;this.iterate=g;this.resultSelector=f;this.scheduler=k}q(b,a);b.create=function(a,d,g,f,k){return 1==arguments.length?new b(a.initialState,a.condition,a.iterate,a.resultSelector||n,a.scheduler):void 0===f||p.isScheduler(f)?new b(a,d,g,n,f):new b(a,d,g,f,k)};b.prototype._subscribe=function(a){var c=this.initialState; if(this.scheduler)return this.scheduler.schedule(b.dispatch,0,{subscriber:a,iterate:this.iterate,condition:this.condition,resultSelector:this.resultSelector,state:c});var d=this.condition,f=this.resultSelector,k=this.iterate;do{if(d){var h=void 0;try{h=d(c)}catch(m){a.error(m);break}if(!h){a.complete();break}}h=void 0;try{h=f(c)}catch(m){a.error(m);break}a.next(h);if(a.closed)break;try{c=k(c)}catch(m){a.error(m);break}}while(1)};b.dispatch=function(a){var b=a.subscriber,c=a.condition;if(!b.closed){if(a.needIterate)try{a.state= a.iterate(a.state)}catch(t){b.error(t);return}else a.needIterate=!0;if(c){var d=void 0;try{d=c(a.state)}catch(t){b.error(t);return}if(!d){b.complete();return}if(b.closed)return}try{var f=a.resultSelector(a.state)}catch(t){b.error(t);return}if(!b.closed&&(b.next(f),!b.closed))return this.schedule(a)}};return b}(h.Observable);f.GenerateObservable=a},function(h,f,a){h=a(0);a=a(401);h.Observable.if=a._if},function(h,f,a){h=a(402);f._if=h.IfObservable.create},function(h,f,a){var q=this&&this.__extends|| -function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(0);var p=a(6);a=a(5);h=function(a){function b(b,c,g){a.call(this);this.condition=b;this.thenSource=c;this.elseSource=g}q(b,a);b.create=function(a,c,g){return new b(a,c,g)};b.prototype._subscribe=function(a){return new n(a,this.condition,this.thenSource,this.elseSource)};return b}(h.Observable);f.IfObservable=h;var n=function(a){function b(b, -c,g,f){a.call(this,b);this.condition=c;this.thenSource=g;this.elseSource=f;this.tryIf()}q(b,a);b.prototype.tryIf=function(){var a=this.condition,b=this.thenSource,c=this.elseSource,f;try{(a=(f=a())?b:c)?this.add(p.subscribeToResult(this,a)):this._complete()}catch(k){this._error(k)}};return b}(a.OuterSubscriber)},function(h,f,a){h=a(0);a=a(404);h.Observable.interval=a.interval},function(h,f,a){h=a(405);f.interval=h.IntervalObservable.create},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor= -a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(90);h=a(0);var n=a(19);a=function(a){function b(b,c){void 0===b&&(b=0);void 0===c&&(c=n.async);a.call(this);this.period=b;this.scheduler=c;if(!p.isNumeric(b)||0>b)this.period=0;c&&"function"===typeof c.schedule||(this.scheduler=n.async)}q(b,a);b.create=function(a,c){void 0===a&&(a=0);void 0===c&&(c=n.async);return new b(a,c)};b.dispatch=function(a){var b=a.subscriber,c=a.period; -b.next(a.index);b.closed||(a.index+=1,this.schedule(a,c))};b.prototype._subscribe=function(a){var c=this.period;a.add(this.scheduler.schedule(b.dispatch,c,{index:0,subscriber:a,period:c}))};return b}(h.Observable);f.IntervalObservable=a},function(h,f,a){var q=this&&this.__extends||function(a,f){function c(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(c.prototype=f.prototype,new c)};h=function(a){function f(c,b){a.call(this)}q(f,a);f.prototype.schedule= -function(a,b){return this};return f}(a(11).Subscription);f.Action=h},function(h,f,a){h=function(){function a(f,h){void 0===h&&(h=a.now);this.SchedulerAction=f;this.now=h}a.prototype.schedule=function(a,f,c){void 0===f&&(f=0);return(new this.SchedulerAction(this,a)).schedule(c,f)};a.now=Date.now?Date.now:function(){return+new Date};return a}();f.Scheduler=h},function(h,f,a){h=a(0);a=a(409);h.Observable.merge=a.merge},function(h,f,a){h=a(203);f.merge=h.mergeStatic},function(h,f,a){h=a(0);a=a(411);h.Observable.race= -a.race},function(h,f,a){h=a(204);f.race=h.raceStatic},function(h,f,a){h=a(0);a=a(413);h.Observable.never=a.never},function(h,f,a){h=a(414);f.never=h.NeverObservable.create},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(0);var p=a(205);a=function(a){function c(){a.call(this)}q(c,a);c.create=function(){return new c};c.prototype._subscribe= -function(a){p.noop()};return c}(h.Observable);f.NeverObservable=a},function(h,f,a){h=a(0);a=a(416);h.Observable.of=a.of},function(h,f,a){h=a(38);f.of=h.ArrayObservable.of},function(h,f,a){h=a(0);a=a(418);h.Observable.onErrorResumeNext=a.onErrorResumeNext},function(h,f,a){h=a(206);f.onErrorResumeNext=h.onErrorResumeNextStatic},function(h,f,a){h=a(0);a=a(420);h.Observable.pairs=a.pairs},function(h,f,a){h=a(421);f.pairs=h.PairsObservable.create},function(h,f,a){function q(a){var c=a.obj,b=a.keys,d=a.index, -e=a.subscriber;d===a.length?e.complete():(b=b[d],e.next([b,c[b]]),a.index=d+1,this.schedule(a))}var p=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=function(a){function c(b,c){a.call(this);this.obj=b;this.scheduler=c;this.keys=Object.keys(b)}p(c,a);c.create=function(a,d){return new c(a,d)};c.prototype._subscribe=function(a){var b=this.keys,c=this.scheduler, -g=b.length;if(c)return c.schedule(q,0,{obj:this.obj,keys:b,length:g,index:0,subscriber:a});for(c=0;c<g;c++){var f=b[c];a.next([f,this.obj[f]])}a.complete()};return c}(a(0).Observable);f.PairsObservable=h},function(h,f,a){h=a(0);a=a(423);h.Observable.range=a.range},function(h,f,a){h=a(424);f.range=h.RangeObservable.create},function(h,f,a){var q=this&&this.__extends||function(a,f){function c(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(c.prototype= -f.prototype,new c)};h=function(a){function f(c,b,d){a.call(this);this.start=c;this._count=b;this.scheduler=d}q(f,a);f.create=function(a,b,d){void 0===a&&(a=0);void 0===b&&(b=0);return new f(a,b,d)};f.dispatch=function(a){var b=a.start,c=a.index,e=a.subscriber;c>=a.count?e.complete():(e.next(b),e.closed||(a.index=c+1,a.start=b+1,this.schedule(a)))};f.prototype._subscribe=function(a){var b=0,c=this.start,e=this._count,g=this.scheduler;if(g)return g.schedule(f.dispatch,0,{index:b,count:e,start:c,subscriber:a}); -do{if(b++>=e){a.complete();break}a.next(c++);if(a.closed)break}while(1)};return f}(a(0).Observable);f.RangeObservable=h},function(h,f,a){h=a(0);a=a(426);h.Observable.using=a.using},function(h,f,a){h=a(427);f.using=h.UsingObservable.create},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(0);var p=a(6);a=a(5);h=function(a){function b(b, -c){a.call(this);this.resourceFactory=b;this.observableFactory=c}q(b,a);b.create=function(a,c){return new b(a,c)};b.prototype._subscribe=function(a){var b=this.resourceFactory,c=this.observableFactory;try{var d=b();return new n(a,d,c)}catch(k){a.error(k)}};return b}(h.Observable);f.UsingObservable=h;var n=function(a){function b(b,c,g){a.call(this,b);this.resource=c;this.observableFactory=g;b.add(c);this.tryUse()}q(b,a);b.prototype.tryUse=function(){try{var a=this.observableFactory.call(this,this.resource); -a&&this.add(p.subscribeToResult(this,a))}catch(e){this._error(e)}};return b}(a.OuterSubscriber)},function(h,f,a){h=a(0);a=a(429);h.Observable.throw=a._throw},function(h,f,a){h=a(430);f._throw=h.ErrorObservable.create},function(h,f,a){var q=this&&this.__extends||function(a,f){function c(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(c.prototype=f.prototype,new c)};h=function(a){function f(c,b){a.call(this);this.error=c;this.scheduler=b}q(f, +function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(0);var p=a(6);a=a(5);h=function(a){function b(b,d,g){a.call(this);this.condition=b;this.thenSource=d;this.elseSource=g}q(b,a);b.create=function(a,d,g){return new b(a,d,g)};b.prototype._subscribe=function(a){return new n(a,this.condition,this.thenSource,this.elseSource)};return b}(h.Observable);f.IfObservable=h;var n=function(a){function b(b, +d,g,f){a.call(this,b);this.condition=d;this.thenSource=g;this.elseSource=f;this.tryIf()}q(b,a);b.prototype.tryIf=function(){var a=this.condition,b=this.thenSource,d=this.elseSource,f;try{(a=(f=a())?b:d)?this.add(p.subscribeToResult(this,a)):this._complete()}catch(k){this._error(k)}};return b}(a.OuterSubscriber)},function(h,f,a){h=a(0);a=a(404);h.Observable.interval=a.interval},function(h,f,a){h=a(405);f.interval=h.IntervalObservable.create},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor= +a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(91);h=a(0);var n=a(19);a=function(a){function b(b,d){void 0===b&&(b=0);void 0===d&&(d=n.async);a.call(this);this.period=b;this.scheduler=d;if(!p.isNumeric(b)||0>b)this.period=0;d&&"function"===typeof d.schedule||(this.scheduler=n.async)}q(b,a);b.create=function(a,d){void 0===a&&(a=0);void 0===d&&(d=n.async);return new b(a,d)};b.dispatch=function(a){var b=a.subscriber,c=a.period; +b.next(a.index);b.closed||(a.index+=1,this.schedule(a,c))};b.prototype._subscribe=function(a){var c=this.period;a.add(this.scheduler.schedule(b.dispatch,c,{index:0,subscriber:a,period:c}))};return b}(h.Observable);f.IntervalObservable=a},function(h,f,a){var q=this&&this.__extends||function(a,f){function d(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(d.prototype=f.prototype,new d)};h=function(a){function f(d,b){a.call(this)}q(f,a);f.prototype.schedule= +function(a,b){return this};return f}(a(11).Subscription);f.Action=h},function(h,f,a){h=function(){function a(f,h){void 0===h&&(h=a.now);this.SchedulerAction=f;this.now=h}a.prototype.schedule=function(a,f,d){void 0===f&&(f=0);return(new this.SchedulerAction(this,a)).schedule(d,f)};a.now=Date.now?Date.now:function(){return+new Date};return a}();f.Scheduler=h},function(h,f,a){h=a(0);a=a(409);h.Observable.merge=a.merge},function(h,f,a){h=a(203);f.merge=h.mergeStatic},function(h,f,a){h=a(0);a=a(411);h.Observable.race= +a.race},function(h,f,a){h=a(204);f.race=h.raceStatic},function(h,f,a){h=a(0);a=a(413);h.Observable.never=a.never},function(h,f,a){h=a(414);f.never=h.NeverObservable.create},function(h,f,a){var q=this&&this.__extends||function(a,d){function b(){this.constructor=a}for(var c in d)d.hasOwnProperty(c)&&(a[c]=d[c]);a.prototype=null===d?Object.create(d):(b.prototype=d.prototype,new b)};h=a(0);var p=a(205);a=function(a){function d(){a.call(this)}q(d,a);d.create=function(){return new d};d.prototype._subscribe= +function(a){p.noop()};return d}(h.Observable);f.NeverObservable=a},function(h,f,a){h=a(0);a=a(416);h.Observable.of=a.of},function(h,f,a){h=a(38);f.of=h.ArrayObservable.of},function(h,f,a){h=a(0);a=a(418);h.Observable.onErrorResumeNext=a.onErrorResumeNext},function(h,f,a){h=a(206);f.onErrorResumeNext=h.onErrorResumeNextStatic},function(h,f,a){h=a(0);a=a(420);h.Observable.pairs=a.pairs},function(h,f,a){h=a(421);f.pairs=h.PairsObservable.create},function(h,f,a){function q(a){var d=a.obj,b=a.keys,c=a.index, +e=a.subscriber;c===a.length?e.complete():(b=b[c],e.next([b,d[b]]),a.index=c+1,this.schedule(a))}var p=this&&this.__extends||function(a,d){function b(){this.constructor=a}for(var c in d)d.hasOwnProperty(c)&&(a[c]=d[c]);a.prototype=null===d?Object.create(d):(b.prototype=d.prototype,new b)};h=function(a){function d(b,c){a.call(this);this.obj=b;this.scheduler=c;this.keys=Object.keys(b)}p(d,a);d.create=function(a,c){return new d(a,c)};d.prototype._subscribe=function(a){var b=this.keys,d=this.scheduler, +g=b.length;if(d)return d.schedule(q,0,{obj:this.obj,keys:b,length:g,index:0,subscriber:a});for(d=0;d<g;d++){var f=b[d];a.next([f,this.obj[f]])}a.complete()};return d}(a(0).Observable);f.PairsObservable=h},function(h,f,a){h=a(0);a=a(423);h.Observable.range=a.range},function(h,f,a){h=a(424);f.range=h.RangeObservable.create},function(h,f,a){var q=this&&this.__extends||function(a,f){function d(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(d.prototype= +f.prototype,new d)};h=function(a){function f(d,b,c){a.call(this);this.start=d;this._count=b;this.scheduler=c}q(f,a);f.create=function(a,b,c){void 0===a&&(a=0);void 0===b&&(b=0);return new f(a,b,c)};f.dispatch=function(a){var b=a.start,c=a.index,d=a.subscriber;c>=a.count?d.complete():(d.next(b),d.closed||(a.index=c+1,a.start=b+1,this.schedule(a)))};f.prototype._subscribe=function(a){var b=0,c=this.start,d=this._count,g=this.scheduler;if(g)return g.schedule(f.dispatch,0,{index:b,count:d,start:c,subscriber:a}); +do{if(b++>=d){a.complete();break}a.next(c++);if(a.closed)break}while(1)};return f}(a(0).Observable);f.RangeObservable=h},function(h,f,a){h=a(0);a=a(426);h.Observable.using=a.using},function(h,f,a){h=a(427);f.using=h.UsingObservable.create},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(0);var p=a(6);a=a(5);h=function(a){function b(b, +d){a.call(this);this.resourceFactory=b;this.observableFactory=d}q(b,a);b.create=function(a,d){return new b(a,d)};b.prototype._subscribe=function(a){var b=this.resourceFactory,c=this.observableFactory;try{var d=b();return new n(a,d,c)}catch(k){a.error(k)}};return b}(h.Observable);f.UsingObservable=h;var n=function(a){function b(b,d,g){a.call(this,b);this.resource=d;this.observableFactory=g;b.add(d);this.tryUse()}q(b,a);b.prototype.tryUse=function(){try{var a=this.observableFactory.call(this,this.resource); +a&&this.add(p.subscribeToResult(this,a))}catch(e){this._error(e)}};return b}(a.OuterSubscriber)},function(h,f,a){h=a(0);a=a(429);h.Observable.throw=a._throw},function(h,f,a){h=a(430);f._throw=h.ErrorObservable.create},function(h,f,a){var q=this&&this.__extends||function(a,f){function d(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(d.prototype=f.prototype,new d)};h=function(a){function f(d,b){a.call(this);this.error=d;this.scheduler=b}q(f, a);f.create=function(a,b){return new f(a,b)};f.dispatch=function(a){a.subscriber.error(a.error)};f.prototype._subscribe=function(a){var b=this.error,c=this.scheduler;a.syncErrorThrowable=!0;if(c)return c.schedule(f.dispatch,0,{error:b,subscriber:a});a.error(b)};return f}(a(0).Observable);f.ErrorObservable=h},function(h,f,a){h=a(0);a=a(432);h.Observable.timer=a.timer},function(h,f,a){h=a(433);f.timer=h.TimerObservable.create},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor= -a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(90);h=a(0);var n=a(19),c=a(37),b=a(91);a=function(a){function d(d,e,f){void 0===d&&(d=0);a.call(this);this.period=-1;this.dueTime=0;p.isNumeric(e)?this.period=1>Number(e)&&1||Number(e):c.isScheduler(e)&&(f=e);c.isScheduler(f)||(f=n.async);this.scheduler=f;this.dueTime=b.isDate(d)?+d-this.scheduler.now():d}q(d,a);d.create=function(a,b,c){void 0===a&&(a=0);return new d(a,b,c)}; -d.dispatch=function(a){var b=a.index,c=a.period,d=a.subscriber;d.next(b);if(!d.closed){if(-1===c)return d.complete();a.index=b+1;this.schedule(a,c)}};d.prototype._subscribe=function(a){return this.scheduler.schedule(d.dispatch,this.dueTime,{index:0,period:this.period,subscriber:a})};return d}(h.Observable);f.TimerObservable=a},function(h,f,a){h=a(0);a=a(435);h.Observable.zip=a.zip},function(h,f,a){h=a(128);f.zip=h.zipStatic},function(h,f,a){h=a(0);a=a(437);h.Observable.ajax=a.ajax},function(h,f,a){h= -a(207);f.ajax=h.AjaxObservable.create},function(h,f,a){h=a(0);a=a(439);h.Observable.webSocket=a.webSocket},function(h,f,a){h=a(440);f.webSocket=h.WebSocketSubject.create},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(12),n=a(3),c=a(0),b=a(11),d=a(16),e=a(92),g=a(17),l=a(13),k=a(443);h=function(a){function f(b,g){if(b instanceof c.Observable)a.call(this, -g,b);else{a.call(this);this.WebSocketCtor=d.root.WebSocket;this._output=new p.Subject;"string"===typeof b?this.url=b:k.assign(this,b);if(!this.WebSocketCtor)throw Error("no WebSocket constructor can be found");this.destination=new e.ReplaySubject}}q(f,a);f.prototype.resultSelector=function(a){return JSON.parse(a.data)};f.create=function(a){return new f(a)};f.prototype.lift=function(a){var b=new f(this,this.destination);b.operator=a;return b};f.prototype._resetState=function(){this.socket=null;this.source|| -(this.destination=new e.ReplaySubject);this._output=new p.Subject};f.prototype.multiplex=function(a,b,d){var e=this;return new c.Observable(function(c){var f=g.tryCatch(a)();f===l.errorObject?c.error(l.errorObject.e):e.next(f);var k=e.subscribe(function(a){var b=g.tryCatch(d)(a);b===l.errorObject?c.error(l.errorObject.e):b&&c.next(a)},function(a){return c.error(a)},function(){return c.complete()});return function(){var a=g.tryCatch(b)();a===l.errorObject?c.error(l.errorObject.e):e.next(a);k.unsubscribe()}})}; +a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(91);h=a(0);var n=a(19),d=a(37),b=a(92);a=function(a){function c(c,e,f){void 0===c&&(c=0);a.call(this);this.period=-1;this.dueTime=0;p.isNumeric(e)?this.period=1>Number(e)&&1||Number(e):d.isScheduler(e)&&(f=e);d.isScheduler(f)||(f=n.async);this.scheduler=f;this.dueTime=b.isDate(c)?+c-this.scheduler.now():c}q(c,a);c.create=function(a,b,d){void 0===a&&(a=0);return new c(a,b,d)}; +c.dispatch=function(a){var b=a.index,c=a.period,d=a.subscriber;d.next(b);if(!d.closed){if(-1===c)return d.complete();a.index=b+1;this.schedule(a,c)}};c.prototype._subscribe=function(a){return this.scheduler.schedule(c.dispatch,this.dueTime,{index:0,period:this.period,subscriber:a})};return c}(h.Observable);f.TimerObservable=a},function(h,f,a){h=a(0);a=a(435);h.Observable.zip=a.zip},function(h,f,a){h=a(128);f.zip=h.zipStatic},function(h,f,a){h=a(0);a=a(437);h.Observable.ajax=a.ajax},function(h,f,a){h= +a(207);f.ajax=h.AjaxObservable.create},function(h,f,a){h=a(0);a=a(439);h.Observable.webSocket=a.webSocket},function(h,f,a){h=a(440);f.webSocket=h.WebSocketSubject.create},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(12),n=a(3),d=a(0),b=a(11),c=a(16),e=a(93),g=a(17),l=a(13),k=a(443);h=function(a){function f(b,g){if(b instanceof d.Observable)a.call(this, +g,b);else{a.call(this);this.WebSocketCtor=c.root.WebSocket;this._output=new p.Subject;"string"===typeof b?this.url=b:k.assign(this,b);if(!this.WebSocketCtor)throw Error("no WebSocket constructor can be found");this.destination=new e.ReplaySubject}}q(f,a);f.prototype.resultSelector=function(a){return JSON.parse(a.data)};f.create=function(a){return new f(a)};f.prototype.lift=function(a){var b=new f(this,this.destination);b.operator=a;return b};f.prototype._resetState=function(){this.socket=null;this.source|| +(this.destination=new e.ReplaySubject);this._output=new p.Subject};f.prototype.multiplex=function(a,b,c){var e=this;return new d.Observable(function(d){var f=g.tryCatch(a)();f===l.errorObject?d.error(l.errorObject.e):e.next(f);var k=e.subscribe(function(a){var b=g.tryCatch(c)(a);b===l.errorObject?d.error(l.errorObject.e):b&&d.next(a)},function(a){return d.error(a)},function(){return d.complete()});return function(){var a=g.tryCatch(b)();a===l.errorObject?d.error(l.errorObject.e):e.next(a);k.unsubscribe()}})}; f.prototype._connectSocket=function(){var a=this,c=this.WebSocketCtor,d=this._output,f=null;try{this.socket=f=this.protocol?new c(this.url,this.protocol):new c(this.url),this.binaryType&&(this.socket.binaryType=this.binaryType)}catch(x){d.error(x);return}var k=new b.Subscription(function(){a.socket=null;f&&1===f.readyState&&f.close()});f.onopen=function(b){var c=a.openObserver;c&&c.next(b);b=a.destination;a.destination=n.Subscriber.create(function(a){return 1===f.readyState&&f.send(a)},function(b){var c= a.closingObserver;c&&c.next(void 0);b&&b.code?f.close(b.code,b.reason):d.error(new TypeError("WebSocketSubject.error must be called with an object with an error code, and an optional reason: { code: number, reason: string }"));a._resetState()},function(){var b=a.closingObserver;b&&b.next(void 0);f.close();a._resetState()});b&&b instanceof e.ReplaySubject&&k.add(b.subscribe(a.destination))};f.onerror=function(b){a._resetState();d.error(b)};f.onclose=function(b){a._resetState();var c=a.closeObserver; c&&c.next(b);b.wasClean?d.complete():d.error(b)};f.onmessage=function(b){b=g.tryCatch(a.resultSelector)(b);b===l.errorObject?d.error(l.errorObject.e):d.next(b)}};f.prototype._subscribe=function(a){var c=this,d=this.source;if(d)return d.subscribe(a);this.socket||this._connectSocket();d=new b.Subscription;d.add(this._output.subscribe(a));d.add(function(){var a=c.socket;0===c._output.observers.length&&(a&&1===a.readyState&&a.close(),c._resetState())});return d};f.prototype.unsubscribe=function(){var b= -this.source,c=this.socket;c&&1===c.readyState&&(c.close(),this._resetState());a.prototype.unsubscribe.call(this);b||(this.destination=new e.ReplaySubject)};return f}(p.AnonymousSubject);f.WebSocketSubject=h},function(h,f,a){var q=this&&this.__extends||function(a,f){function c(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(c.prototype=f.prototype,new c)};h=function(a){function f(c,b){a.call(this,c,b);this.scheduler=c;this.work=b}q(f,a);f.prototype.schedule= -function(c,b){void 0===b&&(b=0);if(0<b)return a.prototype.schedule.call(this,c,b);this.delay=b;this.state=c;this.scheduler.flush(this);return this};f.prototype.execute=function(c,b){return 0<b||this.closed?a.prototype.execute.call(this,c,b):this._execute(c,b)};f.prototype.requestAsyncId=function(c,b,d){void 0===d&&(d=0);return null!==d&&0<d||null===d&&0<this.delay?a.prototype.requestAsyncId.call(this,c,b,d):c.flush(this)};return f}(a(69).AsyncAction);f.QueueAction=h},function(h,f,a){var q=this&&this.__extends|| -function(a,f){function c(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(c.prototype=f.prototype,new c)};h=function(a){function f(){a.apply(this,arguments)}q(f,a);return f}(a(70).AsyncScheduler);f.QueueScheduler=h},function(h,f,a){function q(a){for(var c=[],b=1;b<arguments.length;b++)c[b-1]=arguments[b];b=c.length;for(var d=0;d<b;d++){var e=c[d],g;for(g in e)e.hasOwnProperty(g)&&(a[g]=e[g])}return a}function p(a){return a.Object.assign|| -q}h=a(16);f.assignImpl=q;f.getAssign=p;f.assign=p(h.root)},function(h,f,a){h=a(0);a=a(445);h.Observable.prototype.buffer=a.buffer},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(5);var p=a(6);f.buffer=function(a){return this.lift(new n(a))};var n=function(){function a(a){this.closingNotifier=a}a.prototype.call=function(a,b){return b.subscribe(new c(a, -this.closingNotifier))};return a}(),c=function(a){function b(b,c){a.call(this,b);this.buffer=[];this.add(p.subscribeToResult(this,c))}q(b,a);b.prototype._next=function(a){this.buffer.push(a)};b.prototype.notifyNext=function(a,b,c,d,f){a=this.buffer;this.buffer=[];this.destination.next(a)};return b}(h.OuterSubscriber)},function(h,f,a){h=a(0);a=a(447);h.Observable.prototype.bufferCount=a.bufferCount},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&& -(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(3);f.bufferCount=function(a,c){void 0===c&&(c=null);return this.lift(new p(a,c))};var p=function(){function a(a,b){this.bufferSize=a;this.subscriberClass=(this.startBufferEvery=b)&&a!==b?c:n}a.prototype.call=function(a,b){return b.subscribe(new this.subscriberClass(a,this.bufferSize,this.startBufferEvery))};return a}(),n=function(a){function b(b,c){a.call(this,b);this.bufferSize=c;this.buffer=[]}q(b,a);b.prototype._next= -function(a){var b=this.buffer;b.push(a);b.length==this.bufferSize&&(this.destination.next(b),this.buffer=[])};b.prototype._complete=function(){var b=this.buffer;0<b.length&&this.destination.next(b);a.prototype._complete.call(this)};return b}(h.Subscriber),c=function(a){function b(b,c,d){a.call(this,b);this.bufferSize=c;this.startBufferEvery=d;this.buffers=[];this.count=0}q(b,a);b.prototype._next=function(a){var b=this.bufferSize,c=this.startBufferEvery,d=this.buffers,e=this.count;this.count++;0=== +this.source,c=this.socket;c&&1===c.readyState&&(c.close(),this._resetState());a.prototype.unsubscribe.call(this);b||(this.destination=new e.ReplaySubject)};return f}(p.AnonymousSubject);f.WebSocketSubject=h},function(h,f,a){var q=this&&this.__extends||function(a,f){function d(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(d.prototype=f.prototype,new d)};h=function(a){function f(d,b){a.call(this,d,b);this.scheduler=d;this.work=b}q(f,a);f.prototype.schedule= +function(d,b){void 0===b&&(b=0);if(0<b)return a.prototype.schedule.call(this,d,b);this.delay=b;this.state=d;this.scheduler.flush(this);return this};f.prototype.execute=function(d,b){return 0<b||this.closed?a.prototype.execute.call(this,d,b):this._execute(d,b)};f.prototype.requestAsyncId=function(d,b,c){void 0===c&&(c=0);return null!==c&&0<c||null===c&&0<this.delay?a.prototype.requestAsyncId.call(this,d,b,c):d.flush(this)};return f}(a(70).AsyncAction);f.QueueAction=h},function(h,f,a){var q=this&&this.__extends|| +function(a,f){function d(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(d.prototype=f.prototype,new d)};h=function(a){function f(){a.apply(this,arguments)}q(f,a);return f}(a(71).AsyncScheduler);f.QueueScheduler=h},function(h,f,a){function q(a){for(var d=[],b=1;b<arguments.length;b++)d[b-1]=arguments[b];b=d.length;for(var c=0;c<b;c++){var e=d[c],g;for(g in e)e.hasOwnProperty(g)&&(a[g]=e[g])}return a}function p(a){return a.Object.assign|| +q}h=a(16);f.assignImpl=q;f.getAssign=p;f.assign=p(h.root)},function(h,f,a){h=a(0);a=a(445);h.Observable.prototype.buffer=a.buffer},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(5);var p=a(6);f.buffer=function(a){return this.lift(new n(a))};var n=function(){function a(a){this.closingNotifier=a}a.prototype.call=function(a,b){return b.subscribe(new d(a, +this.closingNotifier))};return a}(),d=function(a){function b(b,c){a.call(this,b);this.buffer=[];this.add(p.subscribeToResult(this,c))}q(b,a);b.prototype._next=function(a){this.buffer.push(a)};b.prototype.notifyNext=function(a,b,c,d,f){a=this.buffer;this.buffer=[];this.destination.next(a)};return b}(h.OuterSubscriber)},function(h,f,a){h=a(0);a=a(447);h.Observable.prototype.bufferCount=a.bufferCount},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&& +(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(3);f.bufferCount=function(a,c){void 0===c&&(c=null);return this.lift(new p(a,c))};var p=function(){function a(a,b){this.bufferSize=a;this.subscriberClass=(this.startBufferEvery=b)&&a!==b?d:n}a.prototype.call=function(a,b){return b.subscribe(new this.subscriberClass(a,this.bufferSize,this.startBufferEvery))};return a}(),n=function(a){function b(b,c){a.call(this,b);this.bufferSize=c;this.buffer=[]}q(b,a);b.prototype._next= +function(a){var b=this.buffer;b.push(a);b.length==this.bufferSize&&(this.destination.next(b),this.buffer=[])};b.prototype._complete=function(){var b=this.buffer;0<b.length&&this.destination.next(b);a.prototype._complete.call(this)};return b}(h.Subscriber),d=function(a){function b(b,c,d){a.call(this,b);this.bufferSize=c;this.startBufferEvery=d;this.buffers=[];this.count=0}q(b,a);b.prototype._next=function(a){var b=this.bufferSize,c=this.startBufferEvery,d=this.buffers,e=this.count;this.count++;0=== e%c&&d.push([]);for(c=d.length;c--;)e=d[c],e.push(a),e.length===b&&(d.splice(c,1),this.destination.next(e))};b.prototype._complete=function(){for(var b=this.buffers,c=this.destination;0<b.length;){var d=b.shift();0<d.length&&c.next(d)}a.prototype._complete.call(this)};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(449);h.Observable.prototype.bufferTime=a.bufferTime},function(h,f,a){function q(a){var b=a.subscriber,c=a.context;c&&b.closeContext(c);b.closed||(a.context=b.openContext(),a.context.closeAction= -this.schedule(a,a.bufferTimeSpan))}function p(a){var b=a.bufferCreationInterval,c=a.bufferTimeSpan,d=a.subscriber,e=a.scheduler,g=d.openContext();d.closed||(d.add(g.closeAction=e.schedule(n,c,{subscriber:d,context:g})),this.schedule(a,b))}function n(a){a.subscriber.closeContext(a.context)}var c=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},b=a(19);h=a(3);var d= -a(37);f.bufferTime=function(a){var c=arguments.length,g=b.async;d.isScheduler(arguments[arguments.length-1])&&(g=arguments[arguments.length-1],c--);var f=null;2<=c&&(f=arguments[1]);var k=Number.POSITIVE_INFINITY;3<=c&&(k=arguments[2]);return this.lift(new e(a,f,k,g))};var e=function(){function a(a,b,c,d){this.bufferTimeSpan=a;this.bufferCreationInterval=b;this.maxBufferSize=c;this.scheduler=d}a.prototype.call=function(a,b){return b.subscribe(new l(a,this.bufferTimeSpan,this.bufferCreationInterval, +this.schedule(a,a.bufferTimeSpan))}function p(a){var b=a.bufferCreationInterval,c=a.bufferTimeSpan,d=a.subscriber,e=a.scheduler,g=d.openContext();d.closed||(d.add(g.closeAction=e.schedule(n,c,{subscriber:d,context:g})),this.schedule(a,b))}function n(a){a.subscriber.closeContext(a.context)}var d=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},b=a(19);h=a(3);var c= +a(37);f.bufferTime=function(a){var d=arguments.length,g=b.async;c.isScheduler(arguments[arguments.length-1])&&(g=arguments[arguments.length-1],d--);var f=null;2<=d&&(f=arguments[1]);var k=Number.POSITIVE_INFINITY;3<=d&&(k=arguments[2]);return this.lift(new e(a,f,k,g))};var e=function(){function a(a,b,c,d){this.bufferTimeSpan=a;this.bufferCreationInterval=b;this.maxBufferSize=c;this.scheduler=d}a.prototype.call=function(a,b){return b.subscribe(new l(a,this.bufferTimeSpan,this.bufferCreationInterval, this.maxBufferSize,this.scheduler))};return a}(),g=function(){return function(){this.buffer=[]}}(),l=function(a){function b(b,c,d,e,g){a.call(this,b);this.bufferTimeSpan=c;this.bufferCreationInterval=d;this.maxBufferSize=e;this.scheduler=g;this.contexts=[];b=this.openContext();(this.timespanOnly=null==d||0>d)?this.add(b.closeAction=g.schedule(q,c,{subscriber:this,context:b,bufferTimeSpan:c})):(e={bufferTimeSpan:c,bufferCreationInterval:d,subscriber:this,scheduler:g},this.add(b.closeAction=g.schedule(n, -c,{subscriber:this,context:b})),this.add(g.schedule(p,d,e)))}c(b,a);b.prototype._next=function(a){for(var b=this.contexts,c=b.length,d,e=0;e<c;e++){var g=b[e],f=g.buffer;f.push(a);f.length==this.maxBufferSize&&(d=g)}if(d)this.onBufferFull(d)};b.prototype._error=function(b){this.contexts.length=0;a.prototype._error.call(this,b)};b.prototype._complete=function(){for(var b=this.contexts,c=this.destination;0<b.length;){var d=b.shift();c.next(d.buffer)}a.prototype._complete.call(this)};b.prototype._unsubscribe= +c,{subscriber:this,context:b})),this.add(g.schedule(p,d,e)))}d(b,a);b.prototype._next=function(a){for(var b=this.contexts,c=b.length,d,e=0;e<c;e++){var g=b[e],f=g.buffer;f.push(a);f.length==this.maxBufferSize&&(d=g)}if(d)this.onBufferFull(d)};b.prototype._error=function(b){this.contexts.length=0;a.prototype._error.call(this,b)};b.prototype._complete=function(){for(var b=this.contexts,c=this.destination;0<b.length;){var d=b.shift();c.next(d.buffer)}a.prototype._complete.call(this)};b.prototype._unsubscribe= function(){this.contexts=null};b.prototype.onBufferFull=function(a){this.closeContext(a);a=a.closeAction;a.unsubscribe();this.remove(a);if(!this.closed&&this.timespanOnly){a=this.openContext();var b=this.bufferTimeSpan;this.add(a.closeAction=this.scheduler.schedule(q,b,{subscriber:this,context:a,bufferTimeSpan:b}))}};b.prototype.openContext=function(){var a=new g;this.contexts.push(a);return a};b.prototype.closeContext=function(a){this.destination.next(a.buffer);var b=this.contexts;0<=(b?b.indexOf(a): --1)&&b.splice(b.indexOf(a),1)};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(451);h.Observable.prototype.bufferToggle=a.bufferToggle},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(11),n=a(6);h=a(5);f.bufferToggle=function(a,b){return this.lift(new c(a,b))};var c=function(){function a(a,b){this.openings=a;this.closingSelector=b} +-1)&&b.splice(b.indexOf(a),1)};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(451);h.Observable.prototype.bufferToggle=a.bufferToggle},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(11),n=a(6);h=a(5);f.bufferToggle=function(a,b){return this.lift(new d(a,b))};var d=function(){function a(a,b){this.openings=a;this.closingSelector=b} a.prototype.call=function(a,c){return c.subscribe(new b(a,this.openings,this.closingSelector))};return a}(),b=function(a){function b(b,c,d){a.call(this,b);this.openings=c;this.closingSelector=d;this.contexts=[];this.add(n.subscribeToResult(this,c))}q(b,a);b.prototype._next=function(a){for(var b=this.contexts,c=b.length,d=0;d<c;d++)b[d].buffer.push(a)};b.prototype._error=function(b){for(var c=this.contexts;0<c.length;){var d=c.shift();d.subscription.unsubscribe();d.buffer=null;d.subscription=null}this.contexts= null;a.prototype._error.call(this,b)};b.prototype._complete=function(){for(var b=this.contexts;0<b.length;){var c=b.shift();this.destination.next(c.buffer);c.subscription.unsubscribe();c.buffer=null;c.subscription=null}this.contexts=null;a.prototype._complete.call(this)};b.prototype.notifyNext=function(a,b,c,d,e){a?this.closeBuffer(a):this.openBuffer(b)};b.prototype.notifyComplete=function(a){this.closeBuffer(a.context)};b.prototype.openBuffer=function(a){try{var b=this.closingSelector.call(this, a);b&&this.trySubscribe(b)}catch(k){this._error(k)}};b.prototype.closeBuffer=function(a){var b=this.contexts;if(b&&a){var c=a.subscription;this.destination.next(a.buffer);b.splice(b.indexOf(a),1);this.remove(c);c.unsubscribe()}};b.prototype.trySubscribe=function(a){var b=this.contexts,c=new p.Subscription,d={buffer:[],subscription:c};b.push(d);a=n.subscribeToResult(this,a,d);!a||a.closed?this.closeBuffer(d):(a.context=d,this.add(a),c.add(a))};return b}(h.OuterSubscriber)},function(h,f,a){h=a(0);a= -a(453);h.Observable.prototype.bufferWhen=a.bufferWhen},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(11),n=a(17),c=a(13);h=a(5);var b=a(6);f.bufferWhen=function(a){return this.lift(new d(a))};var d=function(){function a(a){this.closingSelector=a}a.prototype.call=function(a,b){return b.subscribe(new e(a,this.closingSelector))};return a}(), -e=function(a){function d(b,c){a.call(this,b);this.closingSelector=c;this.subscribing=!1;this.openBuffer()}q(d,a);d.prototype._next=function(a){this.buffer.push(a)};d.prototype._complete=function(){var b=this.buffer;b&&this.destination.next(b);a.prototype._complete.call(this)};d.prototype._unsubscribe=function(){this.buffer=null;this.subscribing=!1};d.prototype.notifyNext=function(a,b,c,d,e){this.openBuffer()};d.prototype.notifyComplete=function(){this.subscribing?this.complete():this.openBuffer()}; -d.prototype.openBuffer=function(){var a=this.closingSubscription;a&&(this.remove(a),a.unsubscribe());(a=this.buffer)&&this.destination.next(a);this.buffer=[];var d=n.tryCatch(this.closingSelector)();d===c.errorObject?this.error(c.errorObject.e):(this.closingSubscription=a=new p.Subscription,this.add(a),this.subscribing=!0,a.add(b.subscribeToResult(this,d)),this.subscribing=!1)};return d}(h.OuterSubscriber)},function(h,f,a){h=a(0);a=a(455);h.Observable.prototype.catch=a._catch;h.Observable.prototype._catch= -a._catch},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(5);var p=a(6);f._catch=function(a){a=new n(a);var b=this.lift(a);return a.caught=b};var n=function(){function a(a){this.selector=a}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.selector,this.caught))};return a}(),c=function(a){function b(b,c,d){a.call(this,b);this.selector= +a(453);h.Observable.prototype.bufferWhen=a.bufferWhen},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(11),n=a(17),d=a(13);h=a(5);var b=a(6);f.bufferWhen=function(a){return this.lift(new c(a))};var c=function(){function a(a){this.closingSelector=a}a.prototype.call=function(a,b){return b.subscribe(new e(a,this.closingSelector))};return a}(), +e=function(a){function c(b,c){a.call(this,b);this.closingSelector=c;this.subscribing=!1;this.openBuffer()}q(c,a);c.prototype._next=function(a){this.buffer.push(a)};c.prototype._complete=function(){var b=this.buffer;b&&this.destination.next(b);a.prototype._complete.call(this)};c.prototype._unsubscribe=function(){this.buffer=null;this.subscribing=!1};c.prototype.notifyNext=function(a,b,c,d,e){this.openBuffer()};c.prototype.notifyComplete=function(){this.subscribing?this.complete():this.openBuffer()}; +c.prototype.openBuffer=function(){var a=this.closingSubscription;a&&(this.remove(a),a.unsubscribe());(a=this.buffer)&&this.destination.next(a);this.buffer=[];var c=n.tryCatch(this.closingSelector)();c===d.errorObject?this.error(d.errorObject.e):(this.closingSubscription=a=new p.Subscription,this.add(a),this.subscribing=!0,a.add(b.subscribeToResult(this,c)),this.subscribing=!1)};return c}(h.OuterSubscriber)},function(h,f,a){h=a(0);a=a(455);h.Observable.prototype.catch=a._catch;h.Observable.prototype._catch= +a._catch},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(5);var p=a(6);f._catch=function(a){a=new n(a);var b=this.lift(a);return a.caught=b};var n=function(){function a(a){this.selector=a}a.prototype.call=function(a,b){return b.subscribe(new d(a,this.selector,this.caught))};return a}(),d=function(a){function b(b,c,d){a.call(this,b);this.selector= c;this.caught=d}q(b,a);b.prototype.error=function(b){if(!this.isStopped){var c=void 0;try{c=this.selector(b,this.caught)}catch(l){a.prototype.error.call(this,l);return}this._unsubscribeAndRecycle();this.add(p.subscribeToResult(this,c))}};return b}(h.OuterSubscriber)},function(h,f,a){h=a(0);a=a(457);h.Observable.prototype.combineAll=a.combineAll},function(h,f,a){var q=a(125);f.combineAll=function(a){return this.lift(new q.CombineLatestOperator(a))}},function(h,f,a){h=a(0);a=a(125);h.Observable.prototype.combineLatest= -a.combineLatest},function(h,f,a){h=a(0);a=a(126);h.Observable.prototype.concat=a.concat},function(h,f,a){h=a(0);a=a(461);h.Observable.prototype.concatAll=a.concatAll},function(h,f,a){var q=a(89);f.concatAll=function(){return this.lift(new q.MergeAllOperator(1))}},function(h,f,a){h=a(0);a=a(463);h.Observable.prototype.concatMap=a.concatMap},function(h,f,a){var q=a(209);f.concatMap=function(a,f){return this.lift(new q.MergeMapOperator(a,f,1))}},function(h,f,a){h=a(0);a=a(465);h.Observable.prototype.concatMapTo= -a.concatMapTo},function(h,f,a){var q=a(210);f.concatMapTo=function(a,f){return this.lift(new q.MergeMapToOperator(a,f,1))}},function(h,f,a){h=a(0);a=a(467);h.Observable.prototype.count=a.count},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);f.count=function(a){return this.lift(new p(a,this))};var p=function(){function a(a,c){this.predicate= -a;this.source=c}a.prototype.call=function(a,c){return c.subscribe(new n(a,this.predicate,this.source))};return a}(),n=function(a){function b(b,c,g){a.call(this,b);this.predicate=c;this.source=g;this.index=this.count=0}q(b,a);b.prototype._next=function(a){this.predicate?this._tryPredicate(a):this.count++};b.prototype._tryPredicate=function(a){try{var b=this.predicate(a,this.index++,this.source)}catch(g){this.destination.error(g);return}b&&this.count++};b.prototype._complete=function(){this.destination.next(this.count); -this.destination.complete()};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(469);h.Observable.prototype.dematerialize=a.dematerialize},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);f.dematerialize=function(){return this.lift(new p)};var p=function(){function a(){}a.prototype.call=function(a,c){return c.subscribe(new n(a))};return a}(), +a.combineLatest},function(h,f,a){h=a(0);a=a(126);h.Observable.prototype.concat=a.concat},function(h,f,a){h=a(0);a=a(461);h.Observable.prototype.concatAll=a.concatAll},function(h,f,a){var q=a(90);f.concatAll=function(){return this.lift(new q.MergeAllOperator(1))}},function(h,f,a){h=a(0);a=a(463);h.Observable.prototype.concatMap=a.concatMap},function(h,f,a){var q=a(209);f.concatMap=function(a,f){return this.lift(new q.MergeMapOperator(a,f,1))}},function(h,f,a){h=a(0);a=a(465);h.Observable.prototype.concatMapTo= +a.concatMapTo},function(h,f,a){var q=a(210);f.concatMapTo=function(a,f){return this.lift(new q.MergeMapToOperator(a,f,1))}},function(h,f,a){h=a(0);a=a(467);h.Observable.prototype.count=a.count},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);f.count=function(a){return this.lift(new p(a,this))};var p=function(){function a(a,c){this.predicate= +a;this.source=c}a.prototype.call=function(a,c){return c.subscribe(new n(a,this.predicate,this.source))};return a}(),n=function(a){function b(b,d,g){a.call(this,b);this.predicate=d;this.source=g;this.index=this.count=0}q(b,a);b.prototype._next=function(a){this.predicate?this._tryPredicate(a):this.count++};b.prototype._tryPredicate=function(a){try{var b=this.predicate(a,this.index++,this.source)}catch(g){this.destination.error(g);return}b&&this.count++};b.prototype._complete=function(){this.destination.next(this.count); +this.destination.complete()};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(469);h.Observable.prototype.dematerialize=a.dematerialize},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);f.dematerialize=function(){return this.lift(new p)};var p=function(){function a(){}a.prototype.call=function(a,c){return c.subscribe(new n(a))};return a}(), n=function(a){function b(b){a.call(this,b)}q(b,a);b.prototype._next=function(a){a.observe(this.destination)};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(471);h.Observable.prototype.debounce=a.debounce},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(5);var p=a(6);f.debounce=function(a){return this.lift(new n(a))};var n=function(){function a(a){this.durationSelector= -a}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.durationSelector))};return a}(),c=function(a){function b(b,c){a.call(this,b);this.durationSelector=c;this.hasValue=!1;this.durationSubscription=null}q(b,a);b.prototype._next=function(a){try{var b=this.durationSelector.call(this,a);b&&this._tryNext(a,b)}catch(l){this.destination.error(l)}};b.prototype._complete=function(){this.emitValue();this.destination.complete()};b.prototype._tryNext=function(a,b){var c=this.durationSubscription; +a}a.prototype.call=function(a,b){return b.subscribe(new d(a,this.durationSelector))};return a}(),d=function(a){function b(b,c){a.call(this,b);this.durationSelector=c;this.hasValue=!1;this.durationSubscription=null}q(b,a);b.prototype._next=function(a){try{var b=this.durationSelector.call(this,a);b&&this._tryNext(a,b)}catch(l){this.destination.error(l)}};b.prototype._complete=function(){this.emitValue();this.destination.complete()};b.prototype._tryNext=function(a,b){var c=this.durationSubscription; this.value=a;this.hasValue=!0;c&&(c.unsubscribe(),this.remove(c));c=p.subscribeToResult(this,b);c.closed||this.add(this.durationSubscription=c)};b.prototype.notifyNext=function(a,b,c,d,f){this.emitValue()};b.prototype.notifyComplete=function(){this.emitValue()};b.prototype.emitValue=function(){if(this.hasValue){var b=this.value,c=this.durationSubscription;c&&(this.durationSubscription=null,c.unsubscribe(),this.remove(c));this.value=null;this.hasValue=!1;a.prototype._next.call(this,b)}};return b}(h.OuterSubscriber)}, -function(h,f,a){h=a(0);a=a(473);h.Observable.prototype.debounceTime=a.debounceTime},function(h,f,a){function q(a){a.debouncedNext()}var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);var n=a(19);f.debounceTime=function(a,b){void 0===b&&(b=n.async);return this.lift(new c(a,b))};var c=function(){function a(a,b){this.dueTime=a;this.scheduler=b}a.prototype.call= +function(h,f,a){h=a(0);a=a(473);h.Observable.prototype.debounceTime=a.debounceTime},function(h,f,a){function q(a){a.debouncedNext()}var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);var n=a(19);f.debounceTime=function(a,b){void 0===b&&(b=n.async);return this.lift(new d(a,b))};var d=function(){function a(a,b){this.dueTime=a;this.scheduler=b}a.prototype.call= function(a,c){return c.subscribe(new b(a,this.dueTime,this.scheduler))};return a}(),b=function(a){function b(b,c,d){a.call(this,b);this.dueTime=c;this.scheduler=d;this.lastValue=this.debouncedSubscription=null;this.hasValue=!1}p(b,a);b.prototype._next=function(a){this.clearDebounce();this.lastValue=a;this.hasValue=!0;this.add(this.debouncedSubscription=this.scheduler.schedule(q,this.dueTime,this))};b.prototype._complete=function(){this.debouncedNext();this.destination.complete()};b.prototype.debouncedNext= -function(){this.clearDebounce();this.hasValue&&(this.destination.next(this.lastValue),this.lastValue=null,this.hasValue=!1)};b.prototype.clearDebounce=function(){var a=this.debouncedSubscription;null!==a&&(this.remove(a),a.unsubscribe(),this.debouncedSubscription=null)};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(475);h.Observable.prototype.defaultIfEmpty=a.defaultIfEmpty},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&& -(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);f.defaultIfEmpty=function(a){void 0===a&&(a=null);return this.lift(new p(a))};var p=function(){function a(a){this.defaultValue=a}a.prototype.call=function(a,c){return c.subscribe(new n(a,this.defaultValue))};return a}(),n=function(a){function b(b,c){a.call(this,b);this.defaultValue=c;this.isEmpty=!0}q(b,a);b.prototype._next=function(a){this.isEmpty=!1;this.destination.next(a)};b.prototype._complete=function(){this.isEmpty&& -this.destination.next(this.defaultValue);this.destination.complete()};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(477);h.Observable.prototype.delay=a.delay},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(19),n=a(91);h=a(3);var c=a(68);f.delay=function(a,c){void 0===c&&(c=p.async);a=n.isDate(a)?+a-c.now():Math.abs(a);return this.lift(new b(a, -c))};var b=function(){function a(a,b){this.delay=a;this.scheduler=b}a.prototype.call=function(a,b){return b.subscribe(new d(a,this.delay,this.scheduler))};return a}(),d=function(a){function b(b,c,d){a.call(this,b);this.delay=c;this.scheduler=d;this.queue=[];this.errored=this.active=!1}q(b,a);b.dispatch=function(a){for(var b=a.source,c=b.queue,d=a.scheduler,e=a.destination;0<c.length&&0>=c[0].time-d.now();)c.shift().notification.observe(e);0<c.length?(b=Math.max(0,c[0].time-d.now()),this.schedule(a, -b)):b.active=!1};b.prototype._schedule=function(a){this.active=!0;this.add(a.schedule(b.dispatch,this.delay,{source:this,destination:this.destination,scheduler:a}))};b.prototype.scheduleNotification=function(a){if(!0!==this.errored){var b=this.scheduler;a=new e(b.now()+this.delay,a);this.queue.push(a);!1===this.active&&this._schedule(b)}};b.prototype._next=function(a){this.scheduleNotification(c.Notification.createNext(a))};b.prototype._error=function(a){this.errored=!0;this.queue=[];this.destination.error(a)}; -b.prototype._complete=function(){this.scheduleNotification(c.Notification.createComplete())};return b}(h.Subscriber),e=function(){return function(a,b){this.time=a;this.notification=b}}()},function(h,f,a){h=a(0);a=a(479);h.Observable.prototype.delayWhen=a.delayWhen},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);var p=a(0),n=a(5),c= -a(6);f.delayWhen=function(a,c){return c?(new e(this,c)).lift(new b(a)):this.lift(new b(a))};var b=function(){function a(a){this.delayDurationSelector=a}a.prototype.call=function(a,b){return b.subscribe(new d(a,this.delayDurationSelector))};return a}(),d=function(a){function b(b,c){a.call(this,b);this.delayDurationSelector=c;this.completed=!1;this.delayNotifierSubscriptions=[];this.values=[]}q(b,a);b.prototype.notifyNext=function(a,b,c,d,e){this.destination.next(a);this.removeSubscription(e);this.tryComplete()}; +function(){this.clearDebounce();this.hasValue&&(this.destination.next(this.lastValue),this.lastValue=null,this.hasValue=!1)};b.prototype.clearDebounce=function(){var a=this.debouncedSubscription;null!==a&&(this.remove(a),a.unsubscribe(),this.debouncedSubscription=null)};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(475);h.Observable.prototype.defaultIfEmpty=a.defaultIfEmpty},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&& +(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);f.defaultIfEmpty=function(a){void 0===a&&(a=null);return this.lift(new p(a))};var p=function(){function a(a){this.defaultValue=a}a.prototype.call=function(a,c){return c.subscribe(new n(a,this.defaultValue))};return a}(),n=function(a){function b(b,d){a.call(this,b);this.defaultValue=d;this.isEmpty=!0}q(b,a);b.prototype._next=function(a){this.isEmpty=!1;this.destination.next(a)};b.prototype._complete=function(){this.isEmpty&& +this.destination.next(this.defaultValue);this.destination.complete()};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(477);h.Observable.prototype.delay=a.delay},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(19),n=a(92);h=a(3);var d=a(69);f.delay=function(a,c){void 0===c&&(c=p.async);a=n.isDate(a)?+a-c.now():Math.abs(a);return this.lift(new b(a, +c))};var b=function(){function a(a,b){this.delay=a;this.scheduler=b}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.delay,this.scheduler))};return a}(),c=function(a){function b(b,c,d){a.call(this,b);this.delay=c;this.scheduler=d;this.queue=[];this.errored=this.active=!1}q(b,a);b.dispatch=function(a){for(var b=a.source,c=b.queue,d=a.scheduler,e=a.destination;0<c.length&&0>=c[0].time-d.now();)c.shift().notification.observe(e);0<c.length?(b=Math.max(0,c[0].time-d.now()),this.schedule(a, +b)):b.active=!1};b.prototype._schedule=function(a){this.active=!0;this.add(a.schedule(b.dispatch,this.delay,{source:this,destination:this.destination,scheduler:a}))};b.prototype.scheduleNotification=function(a){if(!0!==this.errored){var b=this.scheduler;a=new e(b.now()+this.delay,a);this.queue.push(a);!1===this.active&&this._schedule(b)}};b.prototype._next=function(a){this.scheduleNotification(d.Notification.createNext(a))};b.prototype._error=function(a){this.errored=!0;this.queue=[];this.destination.error(a)}; +b.prototype._complete=function(){this.scheduleNotification(d.Notification.createComplete())};return b}(h.Subscriber),e=function(){return function(a,b){this.time=a;this.notification=b}}()},function(h,f,a){h=a(0);a=a(479);h.Observable.prototype.delayWhen=a.delayWhen},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);var p=a(0),n=a(5),d= +a(6);f.delayWhen=function(a,c){return c?(new e(this,c)).lift(new b(a)):this.lift(new b(a))};var b=function(){function a(a){this.delayDurationSelector=a}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.delayDurationSelector))};return a}(),c=function(a){function b(b,c){a.call(this,b);this.delayDurationSelector=c;this.completed=!1;this.delayNotifierSubscriptions=[];this.values=[]}q(b,a);b.prototype.notifyNext=function(a,b,c,d,e){this.destination.next(a);this.removeSubscription(e);this.tryComplete()}; b.prototype.notifyError=function(a,b){this._error(a)};b.prototype.notifyComplete=function(a){(a=this.removeSubscription(a))&&this.destination.next(a);this.tryComplete()};b.prototype._next=function(a){try{var b=this.delayDurationSelector(a);b&&this.tryDelay(b,a)}catch(r){this.destination.error(r)}};b.prototype._complete=function(){this.completed=!0;this.tryComplete()};b.prototype.removeSubscription=function(a){a.unsubscribe();a=this.delayNotifierSubscriptions.indexOf(a);var b=null;-1!==a&&(b=this.values[a], -this.delayNotifierSubscriptions.splice(a,1),this.values.splice(a,1));return b};b.prototype.tryDelay=function(a,b){(a=c.subscribeToResult(this,a,b))&&!a.closed&&(this.add(a),this.delayNotifierSubscriptions.push(a));this.values.push(b)};b.prototype.tryComplete=function(){this.completed&&0===this.delayNotifierSubscriptions.length&&this.destination.complete()};return b}(n.OuterSubscriber),e=function(a){function b(b,c){a.call(this);this.source=b;this.subscriptionDelay=c}q(b,a);b.prototype._subscribe=function(a){this.subscriptionDelay.subscribe(new g(a, +this.delayNotifierSubscriptions.splice(a,1),this.values.splice(a,1));return b};b.prototype.tryDelay=function(a,b){(a=d.subscribeToResult(this,a,b))&&!a.closed&&(this.add(a),this.delayNotifierSubscriptions.push(a));this.values.push(b)};b.prototype.tryComplete=function(){this.completed&&0===this.delayNotifierSubscriptions.length&&this.destination.complete()};return b}(n.OuterSubscriber),e=function(a){function b(b,c){a.call(this);this.source=b;this.subscriptionDelay=c}q(b,a);b.prototype._subscribe=function(a){this.subscriptionDelay.subscribe(new g(a, this.source))};return b}(p.Observable),g=function(a){function b(b,c){a.call(this);this.parent=b;this.source=c;this.sourceSubscribed=!1}q(b,a);b.prototype._next=function(a){this.subscribeToSource()};b.prototype._error=function(a){this.unsubscribe();this.parent.error(a)};b.prototype._complete=function(){this.subscribeToSource()};b.prototype.subscribeToSource=function(){this.sourceSubscribed||(this.sourceSubscribed=!0,this.unsubscribe(),this.source.subscribe(this.parent))};return b}(h.Subscriber)},function(h, -f,a){h=a(0);a=a(481);h.Observable.prototype.distinct=a.distinct},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(5);var p=a(6),n=a(482);f.distinct=function(a,b){return this.lift(new c(a,b))};var c=function(){function a(a,b){this.keySelector=a;this.flushes=b}a.prototype.call=function(a,c){return c.subscribe(new b(a,this.keySelector,this.flushes))}; +f,a){h=a(0);a=a(481);h.Observable.prototype.distinct=a.distinct},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(5);var p=a(6),n=a(482);f.distinct=function(a,b){return this.lift(new d(a,b))};var d=function(){function a(a,b){this.keySelector=a;this.flushes=b}a.prototype.call=function(a,c){return c.subscribe(new b(a,this.keySelector,this.flushes))}; return a}(),b=function(a){function b(b,c,d){a.call(this,b);this.keySelector=c;this.values=new n.Set;d&&this.add(p.subscribeToResult(this,d))}q(b,a);b.prototype.notifyNext=function(a,b,c,d,e){this.values.clear()};b.prototype.notifyError=function(a,b){this._error(a)};b.prototype._next=function(a){this.keySelector?this._useKeySelector(a):this._finalizeNext(a,a)};b.prototype._useKeySelector=function(a){var b=this.destination;try{var c=this.keySelector(a)}catch(t){b.error(t);return}this._finalizeNext(c, a)};b.prototype._finalizeNext=function(a,b){var c=this.values;c.has(a)||(c.add(a),this.destination.next(b))};return b}(h.OuterSubscriber);f.DistinctSubscriber=b},function(h,f,a){function q(){return function(){function a(){this._values=[]}a.prototype.add=function(a){this.has(a)||this._values.push(a)};a.prototype.has=function(a){return-1!==this._values.indexOf(a)};Object.defineProperty(a.prototype,"size",{get:function(){return this._values.length},enumerable:!0,configurable:!0});a.prototype.clear=function(){this._values.length= -0};return a}()}h=a(16);f.minimalSetImpl=q;f.Set=h.root.Set||q()},function(h,f,a){h=a(0);a=a(211);h.Observable.prototype.distinctUntilChanged=a.distinctUntilChanged},function(h,f,a){h=a(0);a=a(485);h.Observable.prototype.distinctUntilKeyChanged=a.distinctUntilKeyChanged},function(h,f,a){var q=a(211);f.distinctUntilKeyChanged=function(a,f){return q.distinctUntilChanged.call(this,function(c,b){return f?f(c[a],b[a]):c[a]===b[a]})}},function(h,f,a){h=a(0);a=a(487);h.Observable.prototype.do=a._do;h.Observable.prototype._do= -a._do},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)},p=a(3);f._do=function(a,c,e){return this.lift(new n(a,c,e))};var n=function(){function a(a,b,c){this.nextOrObserver=a;this.error=b;this.complete=c}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.nextOrObserver,this.error,this.complete))};return a}(),c=function(a){function b(b, +0};return a}()}h=a(16);f.minimalSetImpl=q;f.Set=h.root.Set||q()},function(h,f,a){h=a(0);a=a(211);h.Observable.prototype.distinctUntilChanged=a.distinctUntilChanged},function(h,f,a){h=a(0);a=a(485);h.Observable.prototype.distinctUntilKeyChanged=a.distinctUntilKeyChanged},function(h,f,a){var q=a(211);f.distinctUntilKeyChanged=function(a,f){return q.distinctUntilChanged.call(this,function(d,b){return f?f(d[a],b[a]):d[a]===b[a]})}},function(h,f,a){h=a(0);a=a(487);h.Observable.prototype.do=a._do;h.Observable.prototype._do= +a._do},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)},p=a(3);f._do=function(a,c,d){return this.lift(new n(a,c,d))};var n=function(){function a(a,b,d){this.nextOrObserver=a;this.error=b;this.complete=d}a.prototype.call=function(a,b){return b.subscribe(new d(a,this.nextOrObserver,this.error,this.complete))};return a}(),d=function(a){function b(b, c,d,f){a.call(this,b);b=new p.Subscriber(c,d,f);b.syncErrorThrowable=!0;this.add(b);this.safeSubscriber=b}q(b,a);b.prototype._next=function(a){var b=this.safeSubscriber;b.next(a);b.syncErrorThrown?this.destination.error(b.syncErrorValue):this.destination.next(a)};b.prototype._error=function(a){var b=this.safeSubscriber;b.error(a);b.syncErrorThrown?this.destination.error(b.syncErrorValue):this.destination.error(a)};b.prototype._complete=function(){var a=this.safeSubscriber;a.complete();a.syncErrorThrown? this.destination.error(a.syncErrorValue):this.destination.complete()};return b}(p.Subscriber)},function(h,f,a){h=a(0);a=a(489);h.Observable.prototype.exhaust=a.exhaust},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(5);var p=a(6);f.exhaust=function(){return this.lift(new n)};var n=function(){function a(){}a.prototype.call=function(a, -b){return b.subscribe(new c(a))};return a}(),c=function(a){function b(b){a.call(this,b);this.hasSubscription=this.hasCompleted=!1}q(b,a);b.prototype._next=function(a){this.hasSubscription||(this.hasSubscription=!0,this.add(p.subscribeToResult(this,a)))};b.prototype._complete=function(){this.hasCompleted=!0;this.hasSubscription||this.destination.complete()};b.prototype.notifyComplete=function(a){this.remove(a);this.hasSubscription=!1;this.hasCompleted&&this.destination.complete()};return b}(h.OuterSubscriber)}, -function(h,f,a){h=a(0);a=a(491);h.Observable.prototype.exhaustMap=a.exhaustMap},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(5);var p=a(6);f.exhaustMap=function(a,c){return this.lift(new n(a,c))};var n=function(){function a(a,b){this.project=a;this.resultSelector=b}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.project, -this.resultSelector))};return a}(),c=function(a){function b(b,c,d){a.call(this,b);this.project=c;this.resultSelector=d;this.hasCompleted=this.hasSubscription=!1;this.index=0}q(b,a);b.prototype._next=function(a){this.hasSubscription||this.tryNext(a)};b.prototype.tryNext=function(a){var b=this.index++,c=this.destination;try{var d=this.project(a,b);this.hasSubscription=!0;this.add(p.subscribeToResult(this,d,a,b))}catch(t){c.error(t)}};b.prototype._complete=function(){this.hasCompleted=!0;this.hasSubscription|| +b){return b.subscribe(new d(a))};return a}(),d=function(a){function b(b){a.call(this,b);this.hasSubscription=this.hasCompleted=!1}q(b,a);b.prototype._next=function(a){this.hasSubscription||(this.hasSubscription=!0,this.add(p.subscribeToResult(this,a)))};b.prototype._complete=function(){this.hasCompleted=!0;this.hasSubscription||this.destination.complete()};b.prototype.notifyComplete=function(a){this.remove(a);this.hasSubscription=!1;this.hasCompleted&&this.destination.complete()};return b}(h.OuterSubscriber)}, +function(h,f,a){h=a(0);a=a(491);h.Observable.prototype.exhaustMap=a.exhaustMap},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(5);var p=a(6);f.exhaustMap=function(a,c){return this.lift(new n(a,c))};var n=function(){function a(a,b){this.project=a;this.resultSelector=b}a.prototype.call=function(a,b){return b.subscribe(new d(a,this.project, +this.resultSelector))};return a}(),d=function(a){function b(b,c,d){a.call(this,b);this.project=c;this.resultSelector=d;this.hasCompleted=this.hasSubscription=!1;this.index=0}q(b,a);b.prototype._next=function(a){this.hasSubscription||this.tryNext(a)};b.prototype.tryNext=function(a){var b=this.index++,c=this.destination;try{var d=this.project(a,b);this.hasSubscription=!0;this.add(p.subscribeToResult(this,d,a,b))}catch(t){c.error(t)}};b.prototype._complete=function(){this.hasCompleted=!0;this.hasSubscription|| this.destination.complete()};b.prototype.notifyNext=function(a,b,c,d,f){f=this.destination;this.resultSelector?this.trySelectResult(a,b,c,d):f.next(b)};b.prototype.trySelectResult=function(a,b,c,d){var e=this.resultSelector,g=this.destination;try{var f=e(a,b,c,d);g.next(f)}catch(u){g.error(u)}};b.prototype.notifyError=function(a){this.destination.error(a)};b.prototype.notifyComplete=function(a){this.remove(a);this.hasSubscription=!1;this.hasCompleted&&this.destination.complete()};return b}(h.OuterSubscriber)}, -function(h,f,a){h=a(0);a=a(493);h.Observable.prototype.expand=a.expand},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(17),n=a(13);h=a(5);var c=a(6);f.expand=function(a,c,d){void 0===c&&(c=Number.POSITIVE_INFINITY);void 0===d&&(d=void 0);c=1>(c||0)?Number.POSITIVE_INFINITY:c;return this.lift(new b(a,c,d))};var b=function(){function a(a, -b,c){this.project=a;this.concurrent=b;this.scheduler=c}a.prototype.call=function(a,b){return b.subscribe(new d(a,this.project,this.concurrent,this.scheduler))};return a}();f.ExpandOperator=b;var d=function(a){function b(b,c,d,e){a.call(this,b);this.project=c;this.concurrent=d;this.scheduler=e;this.active=this.index=0;this.hasCompleted=!1;d<Number.POSITIVE_INFINITY&&(this.buffer=[])}q(b,a);b.dispatch=function(a){a.subscriber.subscribeToProjection(a.result,a.value,a.index)};b.prototype._next=function(a){var c= -this.destination;if(c.closed)this._complete();else{var d=this.index++;if(this.active<this.concurrent){c.next(a);var e=p.tryCatch(this.project)(a,d);e===n.errorObject?c.error(n.errorObject.e):this.scheduler?this.add(this.scheduler.schedule(b.dispatch,0,{subscriber:this,result:e,value:a,index:d})):this.subscribeToProjection(e,a,d)}else this.buffer.push(a)}};b.prototype.subscribeToProjection=function(a,b,d){this.active++;this.add(c.subscribeToResult(this,a,b,d))};b.prototype._complete=function(){(this.hasCompleted= -!0,0===this.active)&&this.destination.complete()};b.prototype.notifyNext=function(a,b,c,d,e){this._next(b)};b.prototype.notifyComplete=function(a){var b=this.buffer;this.remove(a);this.active--;b&&0<b.length&&this._next(b.shift());this.hasCompleted&&0===this.active&&this.destination.complete()};return b}(h.OuterSubscriber);f.ExpandSubscriber=d},function(h,f,a){h=a(0);a=a(495);h.Observable.prototype.elementAt=a.elementAt},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor= -a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(3);var p=a(71);f.elementAt=function(a,c){return this.lift(new n(a,c))};var n=function(){function a(a,b){this.index=a;this.defaultValue=b;if(0>a)throw new p.ArgumentOutOfRangeError;}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.index,this.defaultValue))};return a}(),c=function(a){function b(b,c,d){a.call(this,b);this.index=c;this.defaultValue=d}q(b,a);b.prototype._next= +function(h,f,a){h=a(0);a=a(493);h.Observable.prototype.expand=a.expand},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(17),n=a(13);h=a(5);var d=a(6);f.expand=function(a,c,d){void 0===c&&(c=Number.POSITIVE_INFINITY);void 0===d&&(d=void 0);c=1>(c||0)?Number.POSITIVE_INFINITY:c;return this.lift(new b(a,c,d))};var b=function(){function a(a, +b,c){this.project=a;this.concurrent=b;this.scheduler=c}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.project,this.concurrent,this.scheduler))};return a}();f.ExpandOperator=b;var c=function(a){function b(b,c,d,e){a.call(this,b);this.project=c;this.concurrent=d;this.scheduler=e;this.active=this.index=0;this.hasCompleted=!1;d<Number.POSITIVE_INFINITY&&(this.buffer=[])}q(b,a);b.dispatch=function(a){a.subscriber.subscribeToProjection(a.result,a.value,a.index)};b.prototype._next=function(a){var c= +this.destination;if(c.closed)this._complete();else{var d=this.index++;if(this.active<this.concurrent){c.next(a);var e=p.tryCatch(this.project)(a,d);e===n.errorObject?c.error(n.errorObject.e):this.scheduler?this.add(this.scheduler.schedule(b.dispatch,0,{subscriber:this,result:e,value:a,index:d})):this.subscribeToProjection(e,a,d)}else this.buffer.push(a)}};b.prototype.subscribeToProjection=function(a,b,c){this.active++;this.add(d.subscribeToResult(this,a,b,c))};b.prototype._complete=function(){(this.hasCompleted= +!0,0===this.active)&&this.destination.complete()};b.prototype.notifyNext=function(a,b,c,d,e){this._next(b)};b.prototype.notifyComplete=function(a){var b=this.buffer;this.remove(a);this.active--;b&&0<b.length&&this._next(b.shift());this.hasCompleted&&0===this.active&&this.destination.complete()};return b}(h.OuterSubscriber);f.ExpandSubscriber=c},function(h,f,a){h=a(0);a=a(495);h.Observable.prototype.elementAt=a.elementAt},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor= +a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(3);var p=a(72);f.elementAt=function(a,c){return this.lift(new n(a,c))};var n=function(){function a(a,b){this.index=a;this.defaultValue=b;if(0>a)throw new p.ArgumentOutOfRangeError;}a.prototype.call=function(a,b){return b.subscribe(new d(a,this.index,this.defaultValue))};return a}(),d=function(a){function b(b,c,d){a.call(this,b);this.index=c;this.defaultValue=d}q(b,a);b.prototype._next= function(a){0===this.index--&&(this.destination.next(a),this.destination.complete())};b.prototype._complete=function(){var a=this.destination;0<=this.index&&("undefined"!==typeof this.defaultValue?a.next(this.defaultValue):a.error(new p.ArgumentOutOfRangeError));a.complete()};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(212);h.Observable.prototype.filter=a.filter},function(h,f,a){h=a(0);a=a(498);h.Observable.prototype.finally=a._finally;h.Observable.prototype._finally=a._finally},function(h, -f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(3);var p=a(11);f._finally=function(a){return this.lift(new n(a))};var n=function(){function a(a){this.callback=a}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.callback))};return a}(),c=function(a){function b(b,c){a.call(this,b);this.add(new p.Subscription(c))}q(b,a);return b}(h.Subscriber)}, +f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(3);var p=a(11);f._finally=function(a){return this.lift(new n(a))};var n=function(){function a(a){this.callback=a}a.prototype.call=function(a,b){return b.subscribe(new d(a,this.callback))};return a}(),d=function(a){function b(b,c){a.call(this,b);this.add(new p.Subscription(c))}q(b,a);return b}(h.Subscriber)}, function(h,f,a){h=a(0);a=a(213);h.Observable.prototype.find=a.find},function(h,f,a){h=a(0);a=a(501);h.Observable.prototype.findIndex=a.findIndex},function(h,f,a){var q=a(213);f.findIndex=function(a,f){return this.lift(new q.FindValueOperator(a,this,!0,f))}},function(h,f,a){h=a(0);a=a(503);h.Observable.prototype.first=a.first},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c): -(b.prototype=c.prototype,new b)};h=a(3);var p=a(93);f.first=function(a,c,e){return this.lift(new n(a,c,e,this))};var n=function(){function a(a,b,c,f){this.predicate=a;this.resultSelector=b;this.defaultValue=c;this.source=f}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.predicate,this.resultSelector,this.defaultValue,this.source))};return a}(),c=function(a){function b(b,c,d,f,h){a.call(this,b);this.predicate=c;this.resultSelector=d;this.defaultValue=f;this.source=h;this.index=0;this._emitted= +(b.prototype=c.prototype,new b)};h=a(3);var p=a(94);f.first=function(a,c,d){return this.lift(new n(a,c,d,this))};var n=function(){function a(a,b,d,f){this.predicate=a;this.resultSelector=b;this.defaultValue=d;this.source=f}a.prototype.call=function(a,b){return b.subscribe(new d(a,this.predicate,this.resultSelector,this.defaultValue,this.source))};return a}(),d=function(a){function b(b,c,d,f,h){a.call(this,b);this.predicate=c;this.resultSelector=d;this.defaultValue=f;this.source=h;this.index=0;this._emitted= this.hasCompleted=!1}q(b,a);b.prototype._next=function(a){var b=this.index++;this.predicate?this._tryPredicate(a,b):this._emit(a,b)};b.prototype._tryPredicate=function(a,b){try{var c=this.predicate(a,b,this.source)}catch(k){this.destination.error(k);return}c&&this._emit(a,b)};b.prototype._emit=function(a,b){this.resultSelector?this._tryResultSelector(a,b):this._emitFinal(a)};b.prototype._tryResultSelector=function(a,b){try{var c=this.resultSelector(a,b)}catch(k){this.destination.error(k);return}this._emitFinal(c)}; b.prototype._emitFinal=function(a){var b=this.destination;this._emitted||(this._emitted=!0,b.next(a),b.complete(),this.hasCompleted=!0)};b.prototype._complete=function(){var a=this.destination;this.hasCompleted||"undefined"===typeof this.defaultValue?this.hasCompleted||a.error(new p.EmptyError):(a.next(this.defaultValue),a.complete())};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(505);h.Observable.prototype.groupBy=a.groupBy},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor= -a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);var p=a(11),n=a(0),c=a(12),b=a(506),d=a(508);f.groupBy=function(a,b,c,d){return this.lift(new e(a,b,c,d))};var e=function(){function a(a,b,c,d){this.keySelector=a;this.elementSelector=b;this.durationSelector=c;this.subjectSelector=d}a.prototype.call=function(a,b){return b.subscribe(new g(a,this.keySelector,this.elementSelector,this.durationSelector,this.subjectSelector))}; -return a}(),g=function(a){function e(b,c,d,e,g){a.call(this,b);this.keySelector=c;this.elementSelector=d;this.durationSelector=e;this.subjectSelector=g;this.groups=null;this.attemptedToUnsubscribe=!1;this.count=0}q(e,a);e.prototype._next=function(a){try{var b=this.keySelector(a)}catch(w){this.error(w);return}this._group(a,b)};e.prototype._group=function(a,e){var g=this.groups;g||(g=this.groups="string"===typeof e?new d.FastMap:new b.Map);var f=g.get(e);if(this.elementSelector)try{var h=this.elementSelector(a)}catch(A){this.error(A)}else h= -a;if(!f&&(f=this.subjectSelector?this.subjectSelector():new c.Subject,g.set(e,f),a=new k(e,f,this),this.destination.next(a),this.durationSelector)){a=void 0;try{a=this.durationSelector(new k(e,f))}catch(A){this.error(A);return}this.add(a.subscribe(new l(e,f,this)))}f.closed||f.next(h)};e.prototype._error=function(a){var b=this.groups;b&&(b.forEach(function(b,c){b.error(a)}),b.clear());this.destination.error(a)};e.prototype._complete=function(){var a=this.groups;a&&(a.forEach(function(a,b){a.complete()}), +a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);var p=a(11),n=a(0),d=a(12),b=a(506),c=a(508);f.groupBy=function(a,b,c,d){return this.lift(new e(a,b,c,d))};var e=function(){function a(a,b,c,d){this.keySelector=a;this.elementSelector=b;this.durationSelector=c;this.subjectSelector=d}a.prototype.call=function(a,b){return b.subscribe(new g(a,this.keySelector,this.elementSelector,this.durationSelector,this.subjectSelector))}; +return a}(),g=function(a){function e(b,c,d,e,g){a.call(this,b);this.keySelector=c;this.elementSelector=d;this.durationSelector=e;this.subjectSelector=g;this.groups=null;this.attemptedToUnsubscribe=!1;this.count=0}q(e,a);e.prototype._next=function(a){try{var b=this.keySelector(a)}catch(w){this.error(w);return}this._group(a,b)};e.prototype._group=function(a,e){var g=this.groups;g||(g=this.groups="string"===typeof e?new c.FastMap:new b.Map);var f=g.get(e);if(this.elementSelector)try{var h=this.elementSelector(a)}catch(A){this.error(A)}else h= +a;if(!f&&(f=this.subjectSelector?this.subjectSelector():new d.Subject,g.set(e,f),a=new k(e,f,this),this.destination.next(a),this.durationSelector)){a=void 0;try{a=this.durationSelector(new k(e,f))}catch(A){this.error(A);return}this.add(a.subscribe(new l(e,f,this)))}f.closed||f.next(h)};e.prototype._error=function(a){var b=this.groups;b&&(b.forEach(function(b,c){b.error(a)}),b.clear());this.destination.error(a)};e.prototype._complete=function(){var a=this.groups;a&&(a.forEach(function(a,b){a.complete()}), a.clear());this.destination.complete()};e.prototype.removeGroup=function(a){this.groups.delete(a)};e.prototype.unsubscribe=function(){this.closed||(this.attemptedToUnsubscribe=!0,0===this.count&&a.prototype.unsubscribe.call(this))};return e}(h.Subscriber),l=function(a){function b(b,c,d){a.call(this,c);this.key=b;this.group=c;this.parent=d}q(b,a);b.prototype._next=function(a){this.complete()};b.prototype._unsubscribe=function(){var a=this.parent,b=this.key;this.key=this.parent=null;a&&a.removeGroup(b)}; return b}(h.Subscriber),k=function(a){function b(b,c,d){a.call(this);this.key=b;this.groupSubject=c;this.refCountSubscription=d}q(b,a);b.prototype._subscribe=function(a){var b=new p.Subscription,c=this.refCountSubscription,d=this.groupSubject;c&&!c.closed&&b.add(new t(c));b.add(d.subscribe(a));return b};return b}(n.Observable);f.GroupedObservable=k;var t=function(a){function b(b){a.call(this);this.parent=b;b.count++}q(b,a);b.prototype.unsubscribe=function(){var b=this.parent;b.closed||this.closed|| -(a.prototype.unsubscribe.call(this),--b.count,0===b.count&&b.attemptedToUnsubscribe&&b.unsubscribe())};return b}(p.Subscription)},function(h,f,a){h=a(16);a=a(507);f.Map=h.root.Map||a.MapPolyfill},function(h,f,a){h=function(){function a(){this.size=0;this._values=[];this._keys=[]}a.prototype.get=function(a){a=this._keys.indexOf(a);return-1===a?void 0:this._values[a]};a.prototype.set=function(a,f){var c=this._keys.indexOf(a);-1===c?(this._keys.push(a),this._values.push(f),this.size++):this._values[c]= -f;return this};a.prototype.delete=function(a){a=this._keys.indexOf(a);if(-1===a)return!1;this._values.splice(a,1);this._keys.splice(a,1);this.size--;return!0};a.prototype.clear=function(){this._keys.length=0;this.size=this._values.length=0};a.prototype.forEach=function(a,f){for(var c=0;c<this.size;c++)a.call(f,this._values[c],this._keys[c])};return a}();f.MapPolyfill=h},function(h,f,a){h=function(){function a(){this.values={}}a.prototype.delete=function(a){this.values[a]=null;return!0};a.prototype.set= -function(a,f){this.values[a]=f;return this};a.prototype.get=function(a){return this.values[a]};a.prototype.forEach=function(a,f){var c=this.values,b;for(b in c)c.hasOwnProperty(b)&&null!==c[b]&&a.call(f,c[b],b)};a.prototype.clear=function(){this.values={}};return a}();f.FastMap=h},function(h,f,a){h=a(0);a=a(510);h.Observable.prototype.ignoreElements=a.ignoreElements},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]= -c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(3);var p=a(205);f.ignoreElements=function(){return this.lift(new n)};var n=function(){function a(){}a.prototype.call=function(a,b){return b.subscribe(new c(a))};return a}(),c=function(a){function b(){a.apply(this,arguments)}q(b,a);b.prototype._next=function(a){p.noop()};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(512);h.Observable.prototype.isEmpty=a.isEmpty},function(h,f,a){var q=this&&this.__extends||function(a, -b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);f.isEmpty=function(){return this.lift(new p)};var p=function(){function a(){}a.prototype.call=function(a,c){return c.subscribe(new n(a))};return a}(),n=function(a){function b(b){a.call(this,b)}q(b,a);b.prototype.notifyComplete=function(a){var b=this.destination;b.next(a);b.complete()};b.prototype._next=function(a){this.notifyComplete(!1)}; -b.prototype._complete=function(){this.notifyComplete(!0)};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(514);h.Observable.prototype.audit=a.audit},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(17),n=a(13);h=a(5);var c=a(6);f.audit=function(a){return this.lift(new b(a))};var b=function(){function a(a){this.durationSelector=a}a.prototype.call= -function(a,b){return b.subscribe(new d(a,this.durationSelector))};return a}(),d=function(a){function b(b,c){a.call(this,b);this.durationSelector=c;this.hasValue=!1}q(b,a);b.prototype._next=function(a){this.value=a;this.hasValue=!0;this.throttled||(a=p.tryCatch(this.durationSelector)(a),a===n.errorObject?this.destination.error(n.errorObject.e):(a=c.subscribeToResult(this,a),a.closed?this.clearThrottle():this.add(this.throttled=a)))};b.prototype.clearThrottle=function(){var a=this.value,b=this.hasValue, +(a.prototype.unsubscribe.call(this),--b.count,0===b.count&&b.attemptedToUnsubscribe&&b.unsubscribe())};return b}(p.Subscription)},function(h,f,a){h=a(16);a=a(507);f.Map=h.root.Map||a.MapPolyfill},function(h,f,a){h=function(){function a(){this.size=0;this._values=[];this._keys=[]}a.prototype.get=function(a){a=this._keys.indexOf(a);return-1===a?void 0:this._values[a]};a.prototype.set=function(a,f){var d=this._keys.indexOf(a);-1===d?(this._keys.push(a),this._values.push(f),this.size++):this._values[d]= +f;return this};a.prototype.delete=function(a){a=this._keys.indexOf(a);if(-1===a)return!1;this._values.splice(a,1);this._keys.splice(a,1);this.size--;return!0};a.prototype.clear=function(){this._keys.length=0;this.size=this._values.length=0};a.prototype.forEach=function(a,f){for(var d=0;d<this.size;d++)a.call(f,this._values[d],this._keys[d])};return a}();f.MapPolyfill=h},function(h,f,a){h=function(){function a(){this.values={}}a.prototype.delete=function(a){this.values[a]=null;return!0};a.prototype.set= +function(a,f){this.values[a]=f;return this};a.prototype.get=function(a){return this.values[a]};a.prototype.forEach=function(a,f){var d=this.values,b;for(b in d)d.hasOwnProperty(b)&&null!==d[b]&&a.call(f,d[b],b)};a.prototype.clear=function(){this.values={}};return a}();f.FastMap=h},function(h,f,a){h=a(0);a=a(510);h.Observable.prototype.ignoreElements=a.ignoreElements},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]= +c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(3);var p=a(205);f.ignoreElements=function(){return this.lift(new n)};var n=function(){function a(){}a.prototype.call=function(a,b){return b.subscribe(new d(a))};return a}(),d=function(a){function b(){a.apply(this,arguments)}q(b,a);b.prototype._next=function(a){p.noop()};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(512);h.Observable.prototype.isEmpty=a.isEmpty},function(h,f,a){var q=this&&this.__extends||function(a, +b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);f.isEmpty=function(){return this.lift(new p)};var p=function(){function a(){}a.prototype.call=function(a,c){return c.subscribe(new n(a))};return a}(),n=function(a){function b(b){a.call(this,b)}q(b,a);b.prototype.notifyComplete=function(a){var b=this.destination;b.next(a);b.complete()};b.prototype._next=function(a){this.notifyComplete(!1)}; +b.prototype._complete=function(){this.notifyComplete(!0)};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(514);h.Observable.prototype.audit=a.audit},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(17),n=a(13);h=a(5);var d=a(6);f.audit=function(a){return this.lift(new b(a))};var b=function(){function a(a){this.durationSelector=a}a.prototype.call= +function(a,b){return b.subscribe(new c(a,this.durationSelector))};return a}(),c=function(a){function b(b,c){a.call(this,b);this.durationSelector=c;this.hasValue=!1}q(b,a);b.prototype._next=function(a){this.value=a;this.hasValue=!0;this.throttled||(a=p.tryCatch(this.durationSelector)(a),a===n.errorObject?this.destination.error(n.errorObject.e):(a=d.subscribeToResult(this,a),a.closed?this.clearThrottle():this.add(this.throttled=a)))};b.prototype.clearThrottle=function(){var a=this.value,b=this.hasValue, c=this.throttled;c&&(this.remove(c),this.throttled=null,c.unsubscribe());b&&(this.value=null,this.hasValue=!1,this.destination.next(a))};b.prototype.notifyNext=function(a,b,c,d){this.clearThrottle()};b.prototype.notifyComplete=function(){this.clearThrottle()};return b}(h.OuterSubscriber)},function(h,f,a){h=a(0);a=a(516);h.Observable.prototype.auditTime=a.auditTime},function(h,f,a){function q(a){a.clearThrottle()}var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&& -(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},n=a(19);h=a(3);f.auditTime=function(a,b){void 0===b&&(b=n.async);return this.lift(new c(a,b))};var c=function(){function a(a,b){this.duration=a;this.scheduler=b}a.prototype.call=function(a,c){return c.subscribe(new b(a,this.duration,this.scheduler))};return a}(),b=function(a){function b(b,c,d){a.call(this,b);this.duration=c;this.scheduler=d;this.hasValue=!1}p(b,a);b.prototype._next=function(a){this.value=a;this.hasValue= +(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},n=a(19);h=a(3);f.auditTime=function(a,b){void 0===b&&(b=n.async);return this.lift(new d(a,b))};var d=function(){function a(a,b){this.duration=a;this.scheduler=b}a.prototype.call=function(a,c){return c.subscribe(new b(a,this.duration,this.scheduler))};return a}(),b=function(a){function b(b,c,d){a.call(this,b);this.duration=c;this.scheduler=d;this.hasValue=!1}p(b,a);b.prototype._next=function(a){this.value=a;this.hasValue= !0;this.throttled||this.add(this.throttled=this.scheduler.schedule(q,this.duration,this))};b.prototype.clearThrottle=function(){var a=this.value,b=this.hasValue,c=this.throttled;c&&(this.remove(c),this.throttled=null,c.unsubscribe());b&&(this.value=null,this.hasValue=!1,this.destination.next(a))};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(518);h.Observable.prototype.last=a.last},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&& -(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(3);var p=a(93);f.last=function(a,c,e){return this.lift(new n(a,c,e,this))};var n=function(){function a(a,b,c,f){this.predicate=a;this.resultSelector=b;this.defaultValue=c;this.source=f}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.predicate,this.resultSelector,this.defaultValue,this.source))};return a}(),c=function(a){function b(b,c,d,f,h){a.call(this,b);this.predicate=c;this.resultSelector=d;this.defaultValue= +(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(3);var p=a(94);f.last=function(a,c,d){return this.lift(new n(a,c,d,this))};var n=function(){function a(a,b,d,f){this.predicate=a;this.resultSelector=b;this.defaultValue=d;this.source=f}a.prototype.call=function(a,b){return b.subscribe(new d(a,this.predicate,this.resultSelector,this.defaultValue,this.source))};return a}(),d=function(a){function b(b,c,d,f,h){a.call(this,b);this.predicate=c;this.resultSelector=d;this.defaultValue= f;this.source=h;this.hasValue=!1;this.index=0;"undefined"!==typeof f&&(this.lastValue=f,this.hasValue=!0)}q(b,a);b.prototype._next=function(a){var b=this.index++;this.predicate?this._tryPredicate(a,b):this.resultSelector?this._tryResultSelector(a,b):(this.lastValue=a,this.hasValue=!0)};b.prototype._tryPredicate=function(a,b){try{var c=this.predicate(a,b,this.source)}catch(k){this.destination.error(k);return}c&&(this.resultSelector?this._tryResultSelector(a,b):(this.lastValue=a,this.hasValue=!0))}; b.prototype._tryResultSelector=function(a,b){try{var c=this.resultSelector(a,b)}catch(k){this.destination.error(k);return}this.lastValue=c;this.hasValue=!0};b.prototype._complete=function(){var a=this.destination;this.hasValue?(a.next(this.lastValue),a.complete()):a.error(new p.EmptyError)};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(520);h.Observable.prototype.let=a.letProto;h.Observable.prototype.letBind=a.letProto},function(h,f,a){f.letProto=function(a){return a(this)}},function(h,f,a){h= -a(0);a=a(522);h.Observable.prototype.every=a.every},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);f.every=function(a,b){return this.lift(new p(a,b,this))};var p=function(){function a(a,c,e){this.predicate=a;this.thisArg=c;this.source=e}a.prototype.call=function(a,c){return c.subscribe(new n(a,this.predicate,this.thisArg,this.source))}; -return a}(),n=function(a){function b(b,c,g,f){a.call(this,b);this.predicate=c;this.thisArg=g;this.source=f;this.index=0;this.thisArg=g||this}q(b,a);b.prototype.notifyComplete=function(a){this.destination.next(a);this.destination.complete()};b.prototype._next=function(a){var b=!1;try{b=this.predicate.call(this.thisArg,a,this.index++,this.source)}catch(g){this.destination.error(g);return}b||this.notifyComplete(!1)};b.prototype._complete=function(){this.notifyComplete(!0)};return b}(h.Subscriber)},function(h, -f,a){h=a(0);a=a(129);h.Observable.prototype.map=a.map},function(h,f,a){h=a(0);a=a(525);h.Observable.prototype.mapTo=a.mapTo},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);f.mapTo=function(a){return this.lift(new p(a))};var p=function(){function a(a){this.value=a}a.prototype.call=function(a,c){return c.subscribe(new n(a,this.value))}; -return a}(),n=function(a){function b(b,c){a.call(this,b);this.value=c}q(b,a);b.prototype._next=function(a){this.destination.next(this.value)};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(527);h.Observable.prototype.materialize=a.materialize},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(3);var p=a(68);f.materialize=function(){return this.lift(new n)}; -var n=function(){function a(){}a.prototype.call=function(a,b){return b.subscribe(new c(a))};return a}(),c=function(a){function b(b){a.call(this,b)}q(b,a);b.prototype._next=function(a){this.destination.next(p.Notification.createNext(a))};b.prototype._error=function(a){var b=this.destination;b.next(p.Notification.createError(a));b.complete()};b.prototype._complete=function(){var a=this.destination;a.next(p.Notification.createComplete());a.complete()};return b}(h.Subscriber)},function(h,f,a){h=a(0); -a=a(529);h.Observable.prototype.max=a.max},function(h,f,a){var q=a(130);f.max=function(a){return this.lift(new q.ReduceOperator("function"===typeof a?function(f,c){return 0<a(f,c)?f:c}:function(a,c){return a>c?a:c}))}},function(h,f,a){h=a(0);a=a(203);h.Observable.prototype.merge=a.merge},function(h,f,a){h=a(0);a=a(89);h.Observable.prototype.mergeAll=a.mergeAll},function(h,f,a){h=a(0);a=a(209);h.Observable.prototype.mergeMap=a.mergeMap;h.Observable.prototype.flatMap=a.mergeMap},function(h,f,a){h=a(0); -a=a(210);h.Observable.prototype.flatMapTo=a.mergeMapTo;h.Observable.prototype.mergeMapTo=a.mergeMapTo},function(h,f,a){h=a(0);a=a(535);h.Observable.prototype.mergeScan=a.mergeScan},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(17),n=a(13),c=a(6);h=a(5);f.mergeScan=function(a,c,d){void 0===d&&(d=Number.POSITIVE_INFINITY);return this.lift(new b(a, -c,d))};var b=function(){function a(a,b,c){this.accumulator=a;this.seed=b;this.concurrent=c}a.prototype.call=function(a,b){return b.subscribe(new d(a,this.accumulator,this.seed,this.concurrent))};return a}();f.MergeScanOperator=b;var d=function(a){function b(b,c,d,e){a.call(this,b);this.accumulator=c;this.acc=d;this.concurrent=e;this.hasCompleted=this.hasValue=!1;this.buffer=[];this.index=this.active=0}q(b,a);b.prototype._next=function(a){if(this.active<this.concurrent){var b=this.index++,c=p.tryCatch(this.accumulator)(this.acc, -a),d=this.destination;c===n.errorObject?d.error(n.errorObject.e):(this.active++,this._innerSub(c,a,b))}else this.buffer.push(a)};b.prototype._innerSub=function(a,b,d){this.add(c.subscribeToResult(this,a,b,d))};b.prototype._complete=function(){this.hasCompleted=!0;0===this.active&&0===this.buffer.length&&(!1===this.hasValue&&this.destination.next(this.acc),this.destination.complete())};b.prototype.notifyNext=function(a,b,c,d,e){a=this.destination;this.acc=b;this.hasValue=!0;a.next(b)};b.prototype.notifyComplete= -function(a){var b=this.buffer;this.remove(a);this.active--;0<b.length?this._next(b.shift()):0===this.active&&this.hasCompleted&&(!1===this.hasValue&&this.destination.next(this.acc),this.destination.complete())};return b}(h.OuterSubscriber);f.MergeScanSubscriber=d},function(h,f,a){h=a(0);a=a(537);h.Observable.prototype.min=a.min},function(h,f,a){var q=a(130);f.min=function(a){return this.lift(new q.ReduceOperator("function"===typeof a?function(f,c){return 0>a(f,c)?f:c}:function(a,c){return a<c?a:c}))}}, -function(h,f,a){h=a(0);a=a(49);h.Observable.prototype.multicast=a.multicast},function(h,f,a){h=a(0);a=a(127);h.Observable.prototype.observeOn=a.observeOn},function(h,f,a){h=a(0);a=a(206);h.Observable.prototype.onErrorResumeNext=a.onErrorResumeNext},function(h,f,a){h=a(0);a=a(542);h.Observable.prototype.pairwise=a.pairwise},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=null===b?Object.create(b): +a(0);a=a(522);h.Observable.prototype.every=a.every},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);f.every=function(a,b){return this.lift(new p(a,b,this))};var p=function(){function a(a,c,d){this.predicate=a;this.thisArg=c;this.source=d}a.prototype.call=function(a,c){return c.subscribe(new n(a,this.predicate,this.thisArg,this.source))}; +return a}(),n=function(a){function b(b,d,g,f){a.call(this,b);this.predicate=d;this.thisArg=g;this.source=f;this.index=0;this.thisArg=g||this}q(b,a);b.prototype.notifyComplete=function(a){this.destination.next(a);this.destination.complete()};b.prototype._next=function(a){var b=!1;try{b=this.predicate.call(this.thisArg,a,this.index++,this.source)}catch(g){this.destination.error(g);return}b||this.notifyComplete(!1)};b.prototype._complete=function(){this.notifyComplete(!0)};return b}(h.Subscriber)},function(h, +f,a){h=a(0);a=a(129);h.Observable.prototype.map=a.map},function(h,f,a){h=a(0);a=a(525);h.Observable.prototype.mapTo=a.mapTo},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);f.mapTo=function(a){return this.lift(new p(a))};var p=function(){function a(a){this.value=a}a.prototype.call=function(a,c){return c.subscribe(new n(a,this.value))}; +return a}(),n=function(a){function b(b,d){a.call(this,b);this.value=d}q(b,a);b.prototype._next=function(a){this.destination.next(this.value)};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(527);h.Observable.prototype.materialize=a.materialize},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(3);var p=a(69);f.materialize=function(){return this.lift(new n)}; +var n=function(){function a(){}a.prototype.call=function(a,b){return b.subscribe(new d(a))};return a}(),d=function(a){function b(b){a.call(this,b)}q(b,a);b.prototype._next=function(a){this.destination.next(p.Notification.createNext(a))};b.prototype._error=function(a){var b=this.destination;b.next(p.Notification.createError(a));b.complete()};b.prototype._complete=function(){var a=this.destination;a.next(p.Notification.createComplete());a.complete()};return b}(h.Subscriber)},function(h,f,a){h=a(0); +a=a(529);h.Observable.prototype.max=a.max},function(h,f,a){var q=a(130);f.max=function(a){return this.lift(new q.ReduceOperator("function"===typeof a?function(f,d){return 0<a(f,d)?f:d}:function(a,d){return a>d?a:d}))}},function(h,f,a){h=a(0);a=a(203);h.Observable.prototype.merge=a.merge},function(h,f,a){h=a(0);a=a(90);h.Observable.prototype.mergeAll=a.mergeAll},function(h,f,a){h=a(0);a=a(209);h.Observable.prototype.mergeMap=a.mergeMap;h.Observable.prototype.flatMap=a.mergeMap},function(h,f,a){h=a(0); +a=a(210);h.Observable.prototype.flatMapTo=a.mergeMapTo;h.Observable.prototype.mergeMapTo=a.mergeMapTo},function(h,f,a){h=a(0);a=a(535);h.Observable.prototype.mergeScan=a.mergeScan},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(17),n=a(13),d=a(6);h=a(5);f.mergeScan=function(a,c,d){void 0===d&&(d=Number.POSITIVE_INFINITY);return this.lift(new b(a, +c,d))};var b=function(){function a(a,b,c){this.accumulator=a;this.seed=b;this.concurrent=c}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.accumulator,this.seed,this.concurrent))};return a}();f.MergeScanOperator=b;var c=function(a){function b(b,c,d,e){a.call(this,b);this.accumulator=c;this.acc=d;this.concurrent=e;this.hasCompleted=this.hasValue=!1;this.buffer=[];this.index=this.active=0}q(b,a);b.prototype._next=function(a){if(this.active<this.concurrent){var b=this.index++,c=p.tryCatch(this.accumulator)(this.acc, +a),d=this.destination;c===n.errorObject?d.error(n.errorObject.e):(this.active++,this._innerSub(c,a,b))}else this.buffer.push(a)};b.prototype._innerSub=function(a,b,c){this.add(d.subscribeToResult(this,a,b,c))};b.prototype._complete=function(){this.hasCompleted=!0;0===this.active&&0===this.buffer.length&&(!1===this.hasValue&&this.destination.next(this.acc),this.destination.complete())};b.prototype.notifyNext=function(a,b,c,d,e){a=this.destination;this.acc=b;this.hasValue=!0;a.next(b)};b.prototype.notifyComplete= +function(a){var b=this.buffer;this.remove(a);this.active--;0<b.length?this._next(b.shift()):0===this.active&&this.hasCompleted&&(!1===this.hasValue&&this.destination.next(this.acc),this.destination.complete())};return b}(h.OuterSubscriber);f.MergeScanSubscriber=c},function(h,f,a){h=a(0);a=a(537);h.Observable.prototype.min=a.min},function(h,f,a){var q=a(130);f.min=function(a){return this.lift(new q.ReduceOperator("function"===typeof a?function(f,d){return 0>a(f,d)?f:d}:function(a,d){return a<d?a:d}))}}, +function(h,f,a){h=a(0);a=a(49);h.Observable.prototype.multicast=a.multicast},function(h,f,a){h=a(0);a=a(127);h.Observable.prototype.observeOn=a.observeOn},function(h,f,a){h=a(0);a=a(206);h.Observable.prototype.onErrorResumeNext=a.onErrorResumeNext},function(h,f,a){h=a(0);a=a(542);h.Observable.prototype.pairwise=a.pairwise},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b): (c.prototype=b.prototype,new c)};h=a(3);f.pairwise=function(){return this.lift(new p)};var p=function(){function a(){}a.prototype.call=function(a,c){return c.subscribe(new n(a))};return a}(),n=function(a){function b(b){a.call(this,b);this.hasPrev=!1}q(b,a);b.prototype._next=function(a){this.hasPrev?this.destination.next([this.prev,a]):this.hasPrev=!0;this.prev=a};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(544);h.Observable.prototype.partition=a.partition},function(h,f,a){var q=a(545),p=a(212); -f.partition=function(a,c){return[p.filter.call(this,a,c),p.filter.call(this,q.not(a,c))]}},function(h,f,a){f.not=function(a,f){function h(){return!h.pred.apply(h.thisArg,arguments)}h.pred=a;h.thisArg=f;return h}},function(h,f,a){h=a(0);a=a(547);h.Observable.prototype.pluck=a.pluck},function(h,f,a){function q(a,c){return function(b){var d=b;for(b=0;b<c;b++)if(d=d[a[b]],"undefined"===typeof d)return;return d}}var p=a(129);f.pluck=function(){for(var a=[],c=0;c<arguments.length;c++)a[c-0]=arguments[c]; -c=a.length;if(0===c)throw Error("list of properties cannot be empty.");return p.map.call(this,q(a,c))}},function(h,f,a){h=a(0);a=a(549);h.Observable.prototype.publish=a.publish},function(h,f,a){var q=a(12),p=a(49);f.publish=function(a){return a?p.multicast.call(this,function(){return new q.Subject},a):p.multicast.call(this,new q.Subject)}},function(h,f,a){h=a(0);a=a(551);h.Observable.prototype.publishBehavior=a.publishBehavior},function(h,f,a){var q=a(215),p=a(49);f.publishBehavior=function(a){return p.multicast.call(this, -new q.BehaviorSubject(a))}},function(h,f,a){h=a(0);a=a(553);h.Observable.prototype.publishReplay=a.publishReplay},function(h,f,a){var q=a(92),p=a(49);f.publishReplay=function(a,c,b){void 0===a&&(a=Number.POSITIVE_INFINITY);void 0===c&&(c=Number.POSITIVE_INFINITY);return p.multicast.call(this,new q.ReplaySubject(a,c,b))}},function(h,f,a){h=a(0);a=a(555);h.Observable.prototype.publishLast=a.publishLast},function(h,f,a){var q=a(88),p=a(49);f.publishLast=function(){return p.multicast.call(this,new q.AsyncSubject)}}, +f.partition=function(a,d){return[p.filter.call(this,a,d),p.filter.call(this,q.not(a,d))]}},function(h,f,a){f.not=function(a,f){function h(){return!h.pred.apply(h.thisArg,arguments)}h.pred=a;h.thisArg=f;return h}},function(h,f,a){h=a(0);a=a(547);h.Observable.prototype.pluck=a.pluck},function(h,f,a){function q(a,d){return function(b){var c=b;for(b=0;b<d;b++)if(c=c[a[b]],"undefined"===typeof c)return;return c}}var p=a(129);f.pluck=function(){for(var a=[],d=0;d<arguments.length;d++)a[d-0]=arguments[d]; +d=a.length;if(0===d)throw Error("list of properties cannot be empty.");return p.map.call(this,q(a,d))}},function(h,f,a){h=a(0);a=a(549);h.Observable.prototype.publish=a.publish},function(h,f,a){var q=a(12),p=a(49);f.publish=function(a){return a?p.multicast.call(this,function(){return new q.Subject},a):p.multicast.call(this,new q.Subject)}},function(h,f,a){h=a(0);a=a(551);h.Observable.prototype.publishBehavior=a.publishBehavior},function(h,f,a){var q=a(215),p=a(49);f.publishBehavior=function(a){return p.multicast.call(this, +new q.BehaviorSubject(a))}},function(h,f,a){h=a(0);a=a(553);h.Observable.prototype.publishReplay=a.publishReplay},function(h,f,a){var q=a(93),p=a(49);f.publishReplay=function(a,d,b){void 0===a&&(a=Number.POSITIVE_INFINITY);void 0===d&&(d=Number.POSITIVE_INFINITY);return p.multicast.call(this,new q.ReplaySubject(a,d,b))}},function(h,f,a){h=a(0);a=a(555);h.Observable.prototype.publishLast=a.publishLast},function(h,f,a){var q=a(89),p=a(49);f.publishLast=function(){return p.multicast.call(this,new q.AsyncSubject)}}, function(h,f,a){h=a(0);a=a(204);h.Observable.prototype.race=a.race},function(h,f,a){h=a(0);a=a(130);h.Observable.prototype.reduce=a.reduce},function(h,f,a){h=a(0);a=a(559);h.Observable.prototype.repeat=a.repeat},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(3);var p=a(42);f.repeat=function(a){void 0===a&&(a=-1);return 0===a?new p.EmptyObservable: -0>a?this.lift(new n(-1,this)):this.lift(new n(a-1,this))};var n=function(){function a(a,b){this.count=a;this.source=b}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.count,this.source))};return a}(),c=function(a){function b(b,c,d){a.call(this,b);this.count=c;this.source=d}q(b,a);b.prototype.complete=function(){if(!this.isStopped){var b=this.source,c=this.count;if(0===c)return a.prototype.complete.call(this);-1<c&&(this.count=c-1);b.subscribe(this._unsubscribeAndRecycle())}};return b}(h.Subscriber)}, -function(h,f,a){h=a(0);a=a(561);h.Observable.prototype.repeatWhen=a.repeatWhen},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(12),n=a(17),c=a(13);h=a(5);var b=a(6);f.repeatWhen=function(a){return this.lift(new d(a))};var d=function(){function a(a){this.notifier=a}a.prototype.call=function(a,b){return b.subscribe(new e(a,this.notifier, -b))};return a}(),e=function(a){function d(b,c,d){a.call(this,b);this.notifier=c;this.source=d;this.sourceIsBeingSubscribedTo=!0}q(d,a);d.prototype.notifyNext=function(a,b,c,d,e){this.sourceIsBeingSubscribedTo=!0;this.source.subscribe(this)};d.prototype.notifyComplete=function(b){if(!1===this.sourceIsBeingSubscribedTo)return a.prototype.complete.call(this)};d.prototype.complete=function(){this.sourceIsBeingSubscribedTo=!1;if(!this.isStopped){if(!this.retries)this.subscribeToRetries();else if(this.retriesSubscription.closed)return a.prototype.complete.call(this); -this._unsubscribeAndRecycle();this.notifications.next()}};d.prototype._unsubscribe=function(){var a=this.notifications,b=this.retriesSubscription;a&&(a.unsubscribe(),this.notifications=null);b&&(b.unsubscribe(),this.retriesSubscription=null);this.retries=null};d.prototype._unsubscribeAndRecycle=function(){var b=this.notifications,c=this.retries,d=this.retriesSubscription;this.retriesSubscription=this.retries=this.notifications=null;a.prototype._unsubscribeAndRecycle.call(this);this.notifications= -b;this.retries=c;this.retriesSubscription=d;return this};d.prototype.subscribeToRetries=function(){this.notifications=new p.Subject;var d=n.tryCatch(this.notifier)(this.notifications);if(d===c.errorObject)return a.prototype.complete.call(this);this.retries=d;this.retriesSubscription=b.subscribeToResult(this,d)};return d}(h.OuterSubscriber)},function(h,f,a){h=a(0);a=a(563);h.Observable.prototype.retry=a.retry},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor= -a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);f.retry=function(a){void 0===a&&(a=-1);return this.lift(new p(a,this))};var p=function(){function a(a,c){this.count=a;this.source=c}a.prototype.call=function(a,c){return c.subscribe(new n(a,this.count,this.source))};return a}(),n=function(a){function b(b,c,f){a.call(this,b);this.count=c;this.source=f}q(b,a);b.prototype.error=function(b){if(!this.isStopped){var c=this.source, -d=this.count;if(0===d)return a.prototype.error.call(this,b);-1<d&&(this.count=d-1);c.subscribe(this._unsubscribeAndRecycle())}};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(565);h.Observable.prototype.retryWhen=a.retryWhen},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(12),n=a(17),c=a(13);h=a(5);var b=a(6);f.retryWhen=function(a){return this.lift(new d(a, -this))};var d=function(){function a(a,b){this.notifier=a;this.source=b}a.prototype.call=function(a,b){return b.subscribe(new e(a,this.notifier,this.source))};return a}(),e=function(a){function d(b,c,d){a.call(this,b);this.notifier=c;this.source=d}q(d,a);d.prototype.error=function(d){if(!this.isStopped){var e=this.errors,f=this.retries,g=this.retriesSubscription;if(f)this.retriesSubscription=this.errors=null;else{e=new p.Subject;f=n.tryCatch(this.notifier)(e);if(f===c.errorObject)return a.prototype.error.call(this, -c.errorObject.e);g=b.subscribeToResult(this,f)}this._unsubscribeAndRecycle();this.errors=e;this.retries=f;this.retriesSubscription=g;e.next(d)}};d.prototype._unsubscribe=function(){var a=this.errors,b=this.retriesSubscription;a&&(a.unsubscribe(),this.errors=null);b&&(b.unsubscribe(),this.retriesSubscription=null);this.retries=null};d.prototype.notifyNext=function(a,b,c,d,e){a=this.errors;b=this.retries;c=this.retriesSubscription;this.retriesSubscription=this.retries=this.errors=null;this._unsubscribeAndRecycle(); -this.errors=a;this.retries=b;this.retriesSubscription=c;this.source.subscribe(this)};return d}(h.OuterSubscriber)},function(h,f,a){h=a(0);a=a(567);h.Observable.prototype.sample=a.sample},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(5);var p=a(6);f.sample=function(a){return this.lift(new n(a))};var n=function(){function a(a){this.notifier= -a}a.prototype.call=function(a,b){a=new c(a);b=b.subscribe(a);b.add(p.subscribeToResult(a,this.notifier));return b};return a}(),c=function(a){function b(){a.apply(this,arguments);this.hasValue=!1}q(b,a);b.prototype._next=function(a){this.value=a;this.hasValue=!0};b.prototype.notifyNext=function(a,b,c,d,f){this.emitValue()};b.prototype.notifyComplete=function(){this.emitValue()};b.prototype.emitValue=function(){this.hasValue&&(this.hasValue=!1,this.destination.next(this.value))};return b}(h.OuterSubscriber)}, -function(h,f,a){h=a(0);a=a(569);h.Observable.prototype.sampleTime=a.sampleTime},function(h,f,a){function q(a){var b=a.period;a.subscriber.notifyNext();this.schedule(a,b)}var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);var n=a(19);f.sampleTime=function(a,b){void 0===b&&(b=n.async);return this.lift(new c(a,b))};var c=function(){function a(a,b){this.period= +0>a?this.lift(new n(-1,this)):this.lift(new n(a-1,this))};var n=function(){function a(a,b){this.count=a;this.source=b}a.prototype.call=function(a,b){return b.subscribe(new d(a,this.count,this.source))};return a}(),d=function(a){function b(b,c,d){a.call(this,b);this.count=c;this.source=d}q(b,a);b.prototype.complete=function(){if(!this.isStopped){var b=this.source,c=this.count;if(0===c)return a.prototype.complete.call(this);-1<c&&(this.count=c-1);b.subscribe(this._unsubscribeAndRecycle())}};return b}(h.Subscriber)}, +function(h,f,a){h=a(0);a=a(561);h.Observable.prototype.repeatWhen=a.repeatWhen},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(12),n=a(17),d=a(13);h=a(5);var b=a(6);f.repeatWhen=function(a){return this.lift(new c(a))};var c=function(){function a(a){this.notifier=a}a.prototype.call=function(a,b){return b.subscribe(new e(a,this.notifier, +b))};return a}(),e=function(a){function c(b,c,d){a.call(this,b);this.notifier=c;this.source=d;this.sourceIsBeingSubscribedTo=!0}q(c,a);c.prototype.notifyNext=function(a,b,c,d,e){this.sourceIsBeingSubscribedTo=!0;this.source.subscribe(this)};c.prototype.notifyComplete=function(b){if(!1===this.sourceIsBeingSubscribedTo)return a.prototype.complete.call(this)};c.prototype.complete=function(){this.sourceIsBeingSubscribedTo=!1;if(!this.isStopped){if(!this.retries)this.subscribeToRetries();else if(this.retriesSubscription.closed)return a.prototype.complete.call(this); +this._unsubscribeAndRecycle();this.notifications.next()}};c.prototype._unsubscribe=function(){var a=this.notifications,b=this.retriesSubscription;a&&(a.unsubscribe(),this.notifications=null);b&&(b.unsubscribe(),this.retriesSubscription=null);this.retries=null};c.prototype._unsubscribeAndRecycle=function(){var b=this.notifications,c=this.retries,d=this.retriesSubscription;this.retriesSubscription=this.retries=this.notifications=null;a.prototype._unsubscribeAndRecycle.call(this);this.notifications= +b;this.retries=c;this.retriesSubscription=d;return this};c.prototype.subscribeToRetries=function(){this.notifications=new p.Subject;var c=n.tryCatch(this.notifier)(this.notifications);if(c===d.errorObject)return a.prototype.complete.call(this);this.retries=c;this.retriesSubscription=b.subscribeToResult(this,c)};return c}(h.OuterSubscriber)},function(h,f,a){h=a(0);a=a(563);h.Observable.prototype.retry=a.retry},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor= +a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);f.retry=function(a){void 0===a&&(a=-1);return this.lift(new p(a,this))};var p=function(){function a(a,c){this.count=a;this.source=c}a.prototype.call=function(a,c){return c.subscribe(new n(a,this.count,this.source))};return a}(),n=function(a){function b(b,d,f){a.call(this,b);this.count=d;this.source=f}q(b,a);b.prototype.error=function(b){if(!this.isStopped){var c=this.source, +d=this.count;if(0===d)return a.prototype.error.call(this,b);-1<d&&(this.count=d-1);c.subscribe(this._unsubscribeAndRecycle())}};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(565);h.Observable.prototype.retryWhen=a.retryWhen},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(12),n=a(17),d=a(13);h=a(5);var b=a(6);f.retryWhen=function(a){return this.lift(new c(a, +this))};var c=function(){function a(a,b){this.notifier=a;this.source=b}a.prototype.call=function(a,b){return b.subscribe(new e(a,this.notifier,this.source))};return a}(),e=function(a){function c(b,c,d){a.call(this,b);this.notifier=c;this.source=d}q(c,a);c.prototype.error=function(c){if(!this.isStopped){var e=this.errors,f=this.retries,g=this.retriesSubscription;if(f)this.retriesSubscription=this.errors=null;else{e=new p.Subject;f=n.tryCatch(this.notifier)(e);if(f===d.errorObject)return a.prototype.error.call(this, +d.errorObject.e);g=b.subscribeToResult(this,f)}this._unsubscribeAndRecycle();this.errors=e;this.retries=f;this.retriesSubscription=g;e.next(c)}};c.prototype._unsubscribe=function(){var a=this.errors,b=this.retriesSubscription;a&&(a.unsubscribe(),this.errors=null);b&&(b.unsubscribe(),this.retriesSubscription=null);this.retries=null};c.prototype.notifyNext=function(a,b,c,d,e){a=this.errors;b=this.retries;c=this.retriesSubscription;this.retriesSubscription=this.retries=this.errors=null;this._unsubscribeAndRecycle(); +this.errors=a;this.retries=b;this.retriesSubscription=c;this.source.subscribe(this)};return c}(h.OuterSubscriber)},function(h,f,a){h=a(0);a=a(567);h.Observable.prototype.sample=a.sample},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(5);var p=a(6);f.sample=function(a){return this.lift(new n(a))};var n=function(){function a(a){this.notifier= +a}a.prototype.call=function(a,b){a=new d(a);b=b.subscribe(a);b.add(p.subscribeToResult(a,this.notifier));return b};return a}(),d=function(a){function b(){a.apply(this,arguments);this.hasValue=!1}q(b,a);b.prototype._next=function(a){this.value=a;this.hasValue=!0};b.prototype.notifyNext=function(a,b,c,d,f){this.emitValue()};b.prototype.notifyComplete=function(){this.emitValue()};b.prototype.emitValue=function(){this.hasValue&&(this.hasValue=!1,this.destination.next(this.value))};return b}(h.OuterSubscriber)}, +function(h,f,a){h=a(0);a=a(569);h.Observable.prototype.sampleTime=a.sampleTime},function(h,f,a){function q(a){var b=a.period;a.subscriber.notifyNext();this.schedule(a,b)}var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);var n=a(19);f.sampleTime=function(a,b){void 0===b&&(b=n.async);return this.lift(new d(a,b))};var d=function(){function a(a,b){this.period= a;this.scheduler=b}a.prototype.call=function(a,c){return c.subscribe(new b(a,this.period,this.scheduler))};return a}(),b=function(a){function b(b,c,d){a.call(this,b);this.period=c;this.scheduler=d;this.hasValue=!1;this.add(d.schedule(q,c,{subscriber:this,period:c}))}p(b,a);b.prototype._next=function(a){this.lastValue=a;this.hasValue=!0};b.prototype.notifyNext=function(){this.hasValue&&(this.hasValue=!1,this.destination.next(this.lastValue))};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(571); -h.Observable.prototype.scan=a.scan},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);f.scan=function(a,b){var c=!1;2<=arguments.length&&(c=!0);return this.lift(new p(a,b,c))};var p=function(){function a(a,c,e){void 0===e&&(e=!1);this.accumulator=a;this.seed=c;this.hasSeed=e}a.prototype.call=function(a,c){return c.subscribe(new n(a,this.accumulator, -this.seed,this.hasSeed))};return a}(),n=function(a){function b(b,c,f,h){a.call(this,b);this.accumulator=c;this._seed=f;this.hasSeed=h;this.index=0}q(b,a);Object.defineProperty(b.prototype,"seed",{get:function(){return this._seed},set:function(a){this.hasSeed=!0;this._seed=a},enumerable:!0,configurable:!0});b.prototype._next=function(a){if(this.hasSeed)return this._tryNext(a);this.seed=a;this.destination.next(a)};b.prototype._tryNext=function(a){var b=this.index++;try{var c=this.accumulator(this.seed, -a,b)}catch(l){this.destination.error(l)}this.seed=c;this.destination.next(c)};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(573);h.Observable.prototype.sequenceEqual=a.sequenceEqual},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);var p=a(17),n=a(13);f.sequenceEqual=function(a,b){return this.lift(new c(a,b))};var c=function(){function a(a, -b){this.compareTo=a;this.comparor=b}a.prototype.call=function(a,c){return c.subscribe(new b(a,this.compareTo,this.comparor))};return a}();f.SequenceEqualOperator=c;var b=function(a){function b(b,c,e){a.call(this,b);this.compareTo=c;this.comparor=e;this._a=[];this._b=[];this._oneComplete=!1;this.add(c.subscribe(new d(b,this)))}q(b,a);b.prototype._next=function(a){this._oneComplete&&0===this._b.length?this.emit(!1):(this._a.push(a),this.checkValues())};b.prototype._complete=function(){this._oneComplete? +h.Observable.prototype.scan=a.scan},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);f.scan=function(a,b){var c=!1;2<=arguments.length&&(c=!0);return this.lift(new p(a,b,c))};var p=function(){function a(a,c,d){void 0===d&&(d=!1);this.accumulator=a;this.seed=c;this.hasSeed=d}a.prototype.call=function(a,c){return c.subscribe(new n(a,this.accumulator, +this.seed,this.hasSeed))};return a}(),n=function(a){function b(b,d,f,h){a.call(this,b);this.accumulator=d;this._seed=f;this.hasSeed=h;this.index=0}q(b,a);Object.defineProperty(b.prototype,"seed",{get:function(){return this._seed},set:function(a){this.hasSeed=!0;this._seed=a},enumerable:!0,configurable:!0});b.prototype._next=function(a){if(this.hasSeed)return this._tryNext(a);this.seed=a;this.destination.next(a)};b.prototype._tryNext=function(a){var b=this.index++;try{var c=this.accumulator(this.seed, +a,b)}catch(l){this.destination.error(l)}this.seed=c;this.destination.next(c)};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(573);h.Observable.prototype.sequenceEqual=a.sequenceEqual},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);var p=a(17),n=a(13);f.sequenceEqual=function(a,b){return this.lift(new d(a,b))};var d=function(){function a(a, +b){this.compareTo=a;this.comparor=b}a.prototype.call=function(a,c){return c.subscribe(new b(a,this.compareTo,this.comparor))};return a}();f.SequenceEqualOperator=d;var b=function(a){function b(b,d,e){a.call(this,b);this.compareTo=d;this.comparor=e;this._a=[];this._b=[];this._oneComplete=!1;this.add(d.subscribe(new c(b,this)))}q(b,a);b.prototype._next=function(a){this._oneComplete&&0===this._b.length?this.emit(!1):(this._a.push(a),this.checkValues())};b.prototype._complete=function(){this._oneComplete? this.emit(0===this._a.length&&0===this._b.length):this._oneComplete=!0};b.prototype.checkValues=function(){for(var a=this._a,b=this._b,c=this.comparor;0<a.length&&0<b.length;){var d=a.shift(),e=b.shift();c?(d=p.tryCatch(c)(d,e),d===n.errorObject&&this.destination.error(n.errorObject.e)):d=d===e;d||this.emit(!1)}};b.prototype.emit=function(a){var b=this.destination;b.next(a);b.complete()};b.prototype.nextB=function(a){this._oneComplete&&0===this._a.length?this.emit(!1):(this._b.push(a),this.checkValues())}; -return b}(h.Subscriber);f.SequenceEqualSubscriber=b;var d=function(a){function b(b,c){a.call(this,b);this.parent=c}q(b,a);b.prototype._next=function(a){this.parent.nextB(a)};b.prototype._error=function(a){this.parent.error(a)};b.prototype._complete=function(){this.parent._complete()};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(575);h.Observable.prototype.share=a.share},function(h,f,a){function q(){return new n.Subject}var p=a(49),n=a(12);f.share=function(){return p.multicast.call(this,q).refCount()}}, -function(h,f,a){h=a(0);a=a(577);h.Observable.prototype.shareReplay=a.shareReplay},function(h,f,a){var q=a(49),p=a(92);f.shareReplay=function(a,c,b){var d;return q.multicast.call(this,function(){return this._isComplete?d:d=new p.ReplaySubject(a,c,b)}).refCount()}},function(h,f,a){h=a(0);a=a(579);h.Observable.prototype.single=a.single},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c): -(b.prototype=c.prototype,new b)};h=a(3);var p=a(93);f.single=function(a){return this.lift(new n(a,this))};var n=function(){function a(a,b){this.predicate=a;this.source=b}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.predicate,this.source))};return a}(),c=function(a){function b(b,c,d){a.call(this,b);this.predicate=c;this.source=d;this.seenValue=!1;this.index=0}q(b,a);b.prototype.applySingleValue=function(a){this.seenValue?this.destination.error("Sequence contains more than one element"): +return b}(h.Subscriber);f.SequenceEqualSubscriber=b;var c=function(a){function b(b,c){a.call(this,b);this.parent=c}q(b,a);b.prototype._next=function(a){this.parent.nextB(a)};b.prototype._error=function(a){this.parent.error(a)};b.prototype._complete=function(){this.parent._complete()};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(575);h.Observable.prototype.share=a.share},function(h,f,a){function q(){return new n.Subject}var p=a(49),n=a(12);f.share=function(){return p.multicast.call(this,q).refCount()}}, +function(h,f,a){h=a(0);a=a(577);h.Observable.prototype.shareReplay=a.shareReplay},function(h,f,a){var q=a(49),p=a(93);f.shareReplay=function(a,d,b){var c;return q.multicast.call(this,function(){return this._isComplete?c:c=new p.ReplaySubject(a,d,b)}).refCount()}},function(h,f,a){h=a(0);a=a(579);h.Observable.prototype.single=a.single},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c): +(b.prototype=c.prototype,new b)};h=a(3);var p=a(94);f.single=function(a){return this.lift(new n(a,this))};var n=function(){function a(a,b){this.predicate=a;this.source=b}a.prototype.call=function(a,b){return b.subscribe(new d(a,this.predicate,this.source))};return a}(),d=function(a){function b(b,c,d){a.call(this,b);this.predicate=c;this.source=d;this.seenValue=!1;this.index=0}q(b,a);b.prototype.applySingleValue=function(a){this.seenValue?this.destination.error("Sequence contains more than one element"): (this.seenValue=!0,this.singleValue=a)};b.prototype._next=function(a){var b=this.index++;this.predicate?this.tryNext(a,b):this.applySingleValue(a)};b.prototype.tryNext=function(a,b){try{this.predicate(a,b,this.source)&&this.applySingleValue(a)}catch(l){this.destination.error(l)}};b.prototype._complete=function(){var a=this.destination;0<this.index?(a.next(this.seenValue?this.singleValue:void 0),a.complete()):a.error(new p.EmptyError)};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(581);h.Observable.prototype.skip= -a.skip},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);f.skip=function(a){return this.lift(new p(a))};var p=function(){function a(a){this.total=a}a.prototype.call=function(a,c){return c.subscribe(new n(a,this.total))};return a}(),n=function(a){function b(b,c){a.call(this,b);this.total=c;this.count=0}q(b,a);b.prototype._next=function(a){++this.count> -this.total&&this.destination.next(a)};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(583);h.Observable.prototype.skipLast=a.skipLast},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(3),n=a(71);f.skipLast=function(a){return this.lift(new c(a))};var c=function(){function a(a){this._skipCount=a;if(0>this._skipCount)throw new n.ArgumentOutOfRangeError; +a.skip},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);f.skip=function(a){return this.lift(new p(a))};var p=function(){function a(a){this.total=a}a.prototype.call=function(a,c){return c.subscribe(new n(a,this.total))};return a}(),n=function(a){function b(b,d){a.call(this,b);this.total=d;this.count=0}q(b,a);b.prototype._next=function(a){++this.count> +this.total&&this.destination.next(a)};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(583);h.Observable.prototype.skipLast=a.skipLast},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(3),n=a(72);f.skipLast=function(a){return this.lift(new d(a))};var d=function(){function a(a){this._skipCount=a;if(0>this._skipCount)throw new n.ArgumentOutOfRangeError; }a.prototype.call=function(a,c){return 0===this._skipCount?c.subscribe(new p.Subscriber(a)):c.subscribe(new b(a,this._skipCount))};return a}(),b=function(a){function b(b,c){a.call(this,b);this._skipCount=c;this._count=0;this._ring=Array(c)}q(b,a);b.prototype._next=function(a){var b=this._skipCount,c=this._count++;if(c<b)this._ring[c]=a;else{b=c%b;c=this._ring;var d=c[b];c[b]=a;this.destination.next(d)}};return b}(p.Subscriber)},function(h,f,a){h=a(0);a=a(585);h.Observable.prototype.skipUntil=a.skipUntil}, -function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(5);var p=a(6);f.skipUntil=function(a){return this.lift(new n(a))};var n=function(){function a(a){this.notifier=a}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.notifier))};return a}(),c=function(a){function b(b,c){a.call(this,b);this.isInnerStopped=this.hasValue=!1;this.add(p.subscribeToResult(this, +function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(5);var p=a(6);f.skipUntil=function(a){return this.lift(new n(a))};var n=function(){function a(a){this.notifier=a}a.prototype.call=function(a,b){return b.subscribe(new d(a,this.notifier))};return a}(),d=function(a){function b(b,c){a.call(this,b);this.isInnerStopped=this.hasValue=!1;this.add(p.subscribeToResult(this, c))}q(b,a);b.prototype._next=function(b){this.hasValue&&a.prototype._next.call(this,b)};b.prototype._complete=function(){this.isInnerStopped?a.prototype._complete.call(this):this.unsubscribe()};b.prototype.notifyNext=function(a,b,c,d,f){this.hasValue=!0};b.prototype.notifyComplete=function(){this.isInnerStopped=!0;this.isStopped&&a.prototype._complete.call(this)};return b}(h.OuterSubscriber)},function(h,f,a){h=a(0);a=a(587);h.Observable.prototype.skipWhile=a.skipWhile},function(h,f,a){var q=this&& -this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);f.skipWhile=function(a){return this.lift(new p(a))};var p=function(){function a(a){this.predicate=a}a.prototype.call=function(a,c){return c.subscribe(new n(a,this.predicate))};return a}(),n=function(a){function b(b,c){a.call(this,b);this.predicate=c;this.skipping=!0;this.index=0}q(b,a);b.prototype._next=function(a){var b= -this.destination;this.skipping&&this.tryCallPredicate(a);this.skipping||b.next(a)};b.prototype.tryCallPredicate=function(a){try{this.skipping=!!this.predicate(a,this.index++)}catch(e){this.destination.error(e)}};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(589);h.Observable.prototype.startWith=a.startWith},function(h,f,a){var q=a(38),p=a(124),n=a(42),c=a(126),b=a(37);f.startWith=function(){for(var a=[],e=0;e<arguments.length;e++)a[e-0]=arguments[e];e=a[a.length-1];b.isScheduler(e)?a.pop(): -e=null;var f=a.length;return 1===f?c.concatStatic(new p.ScalarObservable(a[0],e),this):1<f?c.concatStatic(new q.ArrayObservable(a,e),this):c.concatStatic(new n.EmptyObservable(e),this)}},function(h,f,a){h=a(0);a=a(591);h.Observable.prototype.subscribeOn=a.subscribeOn},function(h,f,a){var q=a(592);f.subscribeOn=function(a,c){void 0===c&&(c=0);return this.lift(new p(a,c))};var p=function(){function a(a,b){this.scheduler=a;this.delay=b}a.prototype.call=function(a,b){return(new q.SubscribeOnObservable(b, -this.delay,this.scheduler)).subscribe(a)};return a}()},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(0);var p=a(216),n=a(90);a=function(a){function b(b,c,f){void 0===c&&(c=0);void 0===f&&(f=p.asap);a.call(this);this.source=b;this.delayTime=c;this.scheduler=f;if(!n.isNumeric(c)||0>c)this.delayTime=0;f&&"function"===typeof f.schedule|| -(this.scheduler=p.asap)}q(b,a);b.create=function(a,c,f){void 0===c&&(c=0);void 0===f&&(f=p.asap);return new b(a,c,f)};b.dispatch=function(a){return this.add(a.source.subscribe(a.subscriber))};b.prototype._subscribe=function(a){return this.scheduler.schedule(b.dispatch,this.delayTime,{source:this.source,subscriber:a})};return b}(h.Observable);f.SubscribeOnObservable=a},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]= -c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)},p=a(594);h=function(a){function c(b,c){a.call(this,b,c);this.scheduler=b;this.work=c}q(c,a);c.prototype.requestAsyncId=function(b,c,e){void 0===e&&(e=0);if(null!==e&&0<e)return a.prototype.requestAsyncId.call(this,b,c,e);b.actions.push(this);return b.scheduled||(b.scheduled=p.Immediate.setImmediate(b.flush.bind(b,null)))};c.prototype.recycleAsyncId=function(b,c,e){void 0===e&&(e=0);if(null!==e&&0<e||null===e&&0<this.delay)return a.prototype.recycleAsyncId.call(this, -b,c,e);0===b.actions.length&&(p.Immediate.clearImmediate(c),b.scheduled=void 0)};return c}(a(69).AsyncAction);f.AsapAction=h},function(h,f,a){(function(h,p){h=a(16);p=function(){function a(a){this.root=a;a.setImmediate&&"function"===typeof a.setImmediate?(this.setImmediate=a.setImmediate.bind(a),this.clearImmediate=a.clearImmediate.bind(a)):(this.nextHandle=1,this.tasksByHandle={},this.currentlyRunningATask=!1,this.canUseProcessNextTick()?this.setImmediate=this.createProcessNextTickSetImmediate(): -this.canUsePostMessage()?this.setImmediate=this.createPostMessageSetImmediate():this.canUseMessageChannel()?this.setImmediate=this.createMessageChannelSetImmediate():this.canUseReadyStateChange()?this.setImmediate=this.createReadyStateChangeSetImmediate():this.setImmediate=this.createSetTimeoutSetImmediate(),a=function d(a){delete d.instance.tasksByHandle[a]},a.instance=this,this.clearImmediate=a)}a.prototype.identify=function(a){return this.root.Object.prototype.toString.call(a)};a.prototype.canUseProcessNextTick= -function(){return"[object process]"===this.identify(this.root.process)};a.prototype.canUseMessageChannel=function(){return!!this.root.MessageChannel};a.prototype.canUseReadyStateChange=function(){var a=this.root.document;return!!(a&&"onreadystatechange"in a.createElement("script"))};a.prototype.canUsePostMessage=function(){var a=this.root;if(a.postMessage&&!a.importScripts){var b=!0,d=a.onmessage;a.onmessage=function(){b=!1};a.postMessage("","*");a.onmessage=d;return b}return!1};a.prototype.partiallyApplied= -function(a){for(var b=[],c=1;c<arguments.length;c++)b[c-1]=arguments[c];c=function g(){var a=g.handler,b=g.args;"function"===typeof a?a.apply(void 0,b):(new Function(""+a))()};c.handler=a;c.args=b;return c};a.prototype.addFromSetImmediateArguments=function(a){this.tasksByHandle[this.nextHandle]=this.partiallyApplied.apply(void 0,a);return this.nextHandle++};a.prototype.createProcessNextTickSetImmediate=function(){var a=function d(){var a=d.instance,c=a.addFromSetImmediateArguments(arguments);a.root.process.nextTick(a.partiallyApplied(a.runIfPresent, -c));return c};a.instance=this;return a};a.prototype.createPostMessageSetImmediate=function(){var a=this.root,b="setImmediate$"+a.Math.random()+"$",d=function g(c){var d=g.instance;c.source===a&&"string"===typeof c.data&&0===c.data.indexOf(b)&&d.runIfPresent(+c.data.slice(b.length))};d.instance=this;a.addEventListener("message",d,!1);d=function l(){var a=l,b=a.messagePrefix;a=a.instance;var c=a.addFromSetImmediateArguments(arguments);a.root.postMessage(b+c,"*");return c};d.instance=this;d.messagePrefix= -b;return d};a.prototype.runIfPresent=function(a){if(this.currentlyRunningATask)this.root.setTimeout(this.partiallyApplied(this.runIfPresent,a),0);else{var b=this.tasksByHandle[a];if(b){this.currentlyRunningATask=!0;try{b()}finally{this.clearImmediate(a),this.currentlyRunningATask=!1}}}};a.prototype.createMessageChannelSetImmediate=function(){var a=this,b=new this.root.MessageChannel;b.port1.onmessage=function(b){a.runIfPresent(b.data)};var d=function g(){var a=g,b=a.channel;a=a.instance.addFromSetImmediateArguments(arguments); -b.port2.postMessage(a);return a};d.channel=b;d.instance=this;return d};a.prototype.createReadyStateChangeSetImmediate=function(){var a=function d(){var a=d.instance,c=a.root.document,f=c.documentElement,h=a.addFromSetImmediateArguments(arguments),n=c.createElement("script");n.onreadystatechange=function(){a.runIfPresent(h);n.onreadystatechange=null;f.removeChild(n);n=null};f.appendChild(n);return h};a.instance=this;return a};a.prototype.createSetTimeoutSetImmediate=function(){var a=function d(){var a= -d.instance,c=a.addFromSetImmediateArguments(arguments);a.root.setTimeout(a.partiallyApplied(a.runIfPresent,c),0);return c};a.instance=this;return a};return a}();f.ImmediateDefinition=p;f.Immediate=new p(h.root)}).call(f,a(217).clearImmediate,a(217).setImmediate)},function(h,f,a){(function(a,f){(function(a,c){function b(a){delete p[a]}function d(a){if(q)setTimeout(d,0,a);else{var e=p[a];if(e){q=!0;try{var f=e.callback,g=e.args;switch(g.length){case 0:f();break;case 1:f(g[0]);break;case 2:f(g[0],g[1]); -break;case 3:f(g[0],g[1],g[2]);break;default:f.apply(c,g)}}finally{b(a),q=!1}}}}function e(){y=function(a){f.nextTick(function(){d(a)})}}function g(){if(a.postMessage&&!a.importScripts){var b=!0,c=a.onmessage;a.onmessage=function(){b=!1};a.postMessage("","*");a.onmessage=c;return b}}function h(){var b="setImmediate$"+Math.random()+"$",c=function(c){c.source===a&&"string"===typeof c.data&&0===c.data.indexOf(b)&&d(+c.data.slice(b.length))};a.addEventListener?a.addEventListener("message",c,!1):a.attachEvent("onmessage", -c);y=function(c){a.postMessage(b+c,"*")}}function k(){var a=new MessageChannel;a.port1.onmessage=function(a){d(a.data)};y=function(b){a.port2.postMessage(b)}}function n(){var a=w.documentElement;y=function(b){var c=w.createElement("script");c.onreadystatechange=function(){d(b);c.onreadystatechange=null;a.removeChild(c);c=null};a.appendChild(c)}}function m(){y=function(a){setTimeout(d,0,a)}}if(!a.setImmediate){var r=1,p={},q=!1,w=a.document,y,x=Object.getPrototypeOf&&Object.getPrototypeOf(a);x=x&& -x.setTimeout?x:a;"[object process]"==={}.toString.call(a.process)?e():g()?h():a.MessageChannel?k():w&&"onreadystatechange"in w.createElement("script")?n():m();x.setImmediate=function(a){"function"!==typeof a&&(a=new Function(""+a));for(var b=Array(arguments.length-1),c=0;c<b.length;c++)b[c]=arguments[c+1];p[r]={callback:a,args:b};y(r);return r++};x.clearImmediate=b}})("undefined"===typeof self?"undefined"===typeof a?this:a:self)}).call(f,a(73),a(596))},function(h,f){function a(){throw Error("setTimeout has not been defined"); -}function q(){throw Error("clearTimeout has not been defined");}function p(b){if(g===setTimeout)return setTimeout(b,0);if((g===a||!g)&&setTimeout)return g=setTimeout,setTimeout(b,0);try{return g(b,0)}catch(v){try{return g.call(null,b,0)}catch(w){return g.call(this,b,0)}}}function n(a){if(l===clearTimeout)return clearTimeout(a);if((l===q||!l)&&clearTimeout)return l=clearTimeout,clearTimeout(a);try{return l(a)}catch(v){try{return l.call(null,a)}catch(w){return l.call(this,a)}}}function c(){t&&m&&(t= -!1,m.length?k=m.concat(k):r=-1,k.length&&b())}function b(){if(!t){var a=p(c);t=!0;for(var b=k.length;b;){m=k;for(k=[];++r<b;)m&&m[r].run();r=-1;b=k.length}m=null;t=!1;n(a)}}function d(a,b){this.fun=a;this.array=b}function e(){}h=h.exports={};try{var g="function"===typeof setTimeout?setTimeout:a}catch(u){g=a}try{var l="function"===typeof clearTimeout?clearTimeout:q}catch(u){l=q}var k=[],t=!1,m,r=-1;h.nextTick=function(a){var c=Array(arguments.length-1);if(1<arguments.length)for(var e=1;e<arguments.length;e++)c[e- -1]=arguments[e];k.push(new d(a,c));1!==k.length||t||p(b)};d.prototype.run=function(){this.fun.apply(null,this.array)};h.title="browser";h.browser=!0;h.env={};h.argv=[];h.version="";h.versions={};h.on=e;h.addListener=e;h.once=e;h.off=e;h.removeListener=e;h.removeAllListeners=e;h.emit=e;h.prependListener=e;h.prependOnceListener=e;h.listeners=function(a){return[]};h.binding=function(a){throw Error("process.binding is not supported");};h.cwd=function(){return"/"};h.chdir=function(a){throw Error("process.chdir is not supported"); -};h.umask=function(){return 0}},function(h,f,a){var q=this&&this.__extends||function(a,f){function c(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(c.prototype=f.prototype,new c)};h=function(a){function f(){a.apply(this,arguments)}q(f,a);f.prototype.flush=function(a){this.active=!0;this.scheduled=void 0;var b=this.actions,c,e=-1,f=b.length;a=a||b.shift();do if(c=a.execute(a.state,a.delay))break;while(++e<f&&(a=b.shift()));this.active=!1; -if(c){for(;++e<f&&(a=b.shift());)a.unsubscribe();throw c;}};return f}(a(70).AsyncScheduler);f.AsapScheduler=h},function(h,f,a){h=a(0);a=a(599);h.Observable.prototype.switch=a._switch;h.Observable.prototype._switch=a._switch},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(5);var p=a(6);f._switch=function(){return this.lift(new n)};var n= -function(){function a(){}a.prototype.call=function(a,b){return b.subscribe(new c(a))};return a}(),c=function(a){function b(b){a.call(this,b);this.active=0;this.hasCompleted=!1}q(b,a);b.prototype._next=function(a){this.unsubscribeInner();this.active++;this.add(this.innerSubscription=p.subscribeToResult(this,a))};b.prototype._complete=function(){this.hasCompleted=!0;0===this.active&&this.destination.complete()};b.prototype.unsubscribeInner=function(){this.active=0<this.active?this.active-1:0;var a= +this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);f.skipWhile=function(a){return this.lift(new p(a))};var p=function(){function a(a){this.predicate=a}a.prototype.call=function(a,c){return c.subscribe(new n(a,this.predicate))};return a}(),n=function(a){function b(b,d){a.call(this,b);this.predicate=d;this.skipping=!0;this.index=0}q(b,a);b.prototype._next=function(a){var b= +this.destination;this.skipping&&this.tryCallPredicate(a);this.skipping||b.next(a)};b.prototype.tryCallPredicate=function(a){try{this.skipping=!!this.predicate(a,this.index++)}catch(e){this.destination.error(e)}};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(589);h.Observable.prototype.startWith=a.startWith},function(h,f,a){var q=a(38),p=a(124),n=a(42),d=a(126),b=a(37);f.startWith=function(){for(var a=[],e=0;e<arguments.length;e++)a[e-0]=arguments[e];e=a[a.length-1];b.isScheduler(e)?a.pop(): +e=null;var f=a.length;return 1===f?d.concatStatic(new p.ScalarObservable(a[0],e),this):1<f?d.concatStatic(new q.ArrayObservable(a,e),this):d.concatStatic(new n.EmptyObservable(e),this)}},function(h,f,a){h=a(0);a=a(591);h.Observable.prototype.subscribeOn=a.subscribeOn},function(h,f,a){var q=a(592);f.subscribeOn=function(a,d){void 0===d&&(d=0);return this.lift(new p(a,d))};var p=function(){function a(a,b){this.scheduler=a;this.delay=b}a.prototype.call=function(a,b){return(new q.SubscribeOnObservable(b, +this.delay,this.scheduler)).subscribe(a)};return a}()},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(0);var p=a(216),n=a(91);a=function(a){function b(b,d,f){void 0===d&&(d=0);void 0===f&&(f=p.asap);a.call(this);this.source=b;this.delayTime=d;this.scheduler=f;if(!n.isNumeric(d)||0>d)this.delayTime=0;f&&"function"===typeof f.schedule|| +(this.scheduler=p.asap)}q(b,a);b.create=function(a,d,f){void 0===d&&(d=0);void 0===f&&(f=p.asap);return new b(a,d,f)};b.dispatch=function(a){return this.add(a.source.subscribe(a.subscriber))};b.prototype._subscribe=function(a){return this.scheduler.schedule(b.dispatch,this.delayTime,{source:this.source,subscriber:a})};return b}(h.Observable);f.SubscribeOnObservable=a},function(h,f,a){var q=this&&this.__extends||function(a,d){function b(){this.constructor=a}for(var c in d)d.hasOwnProperty(c)&&(a[c]= +d[c]);a.prototype=null===d?Object.create(d):(b.prototype=d.prototype,new b)},p=a(594);h=function(a){function d(b,c){a.call(this,b,c);this.scheduler=b;this.work=c}q(d,a);d.prototype.requestAsyncId=function(b,c,d){void 0===d&&(d=0);if(null!==d&&0<d)return a.prototype.requestAsyncId.call(this,b,c,d);b.actions.push(this);return b.scheduled||(b.scheduled=p.Immediate.setImmediate(b.flush.bind(b,null)))};d.prototype.recycleAsyncId=function(b,c,d){void 0===d&&(d=0);if(null!==d&&0<d||null===d&&0<this.delay)return a.prototype.recycleAsyncId.call(this, +b,c,d);0===b.actions.length&&(p.Immediate.clearImmediate(c),b.scheduled=void 0)};return d}(a(70).AsyncAction);f.AsapAction=h},function(h,f,a){(function(h,p){h=a(16);p=function(){function a(a){this.root=a;a.setImmediate&&"function"===typeof a.setImmediate?(this.setImmediate=a.setImmediate.bind(a),this.clearImmediate=a.clearImmediate.bind(a)):(this.nextHandle=1,this.tasksByHandle={},this.currentlyRunningATask=!1,this.canUseProcessNextTick()?this.setImmediate=this.createProcessNextTickSetImmediate(): +this.canUsePostMessage()?this.setImmediate=this.createPostMessageSetImmediate():this.canUseMessageChannel()?this.setImmediate=this.createMessageChannelSetImmediate():this.canUseReadyStateChange()?this.setImmediate=this.createReadyStateChangeSetImmediate():this.setImmediate=this.createSetTimeoutSetImmediate(),a=function c(a){delete c.instance.tasksByHandle[a]},a.instance=this,this.clearImmediate=a)}a.prototype.identify=function(a){return this.root.Object.prototype.toString.call(a)};a.prototype.canUseProcessNextTick= +function(){return"[object process]"===this.identify(this.root.process)};a.prototype.canUseMessageChannel=function(){return!!this.root.MessageChannel};a.prototype.canUseReadyStateChange=function(){var a=this.root.document;return!!(a&&"onreadystatechange"in a.createElement("script"))};a.prototype.canUsePostMessage=function(){var a=this.root;if(a.postMessage&&!a.importScripts){var b=!0,c=a.onmessage;a.onmessage=function(){b=!1};a.postMessage("","*");a.onmessage=c;return b}return!1};a.prototype.partiallyApplied= +function(a){for(var b=[],c=1;c<arguments.length;c++)b[c-1]=arguments[c];c=function g(){var a=g.handler,b=g.args;"function"===typeof a?a.apply(void 0,b):(new Function(""+a))()};c.handler=a;c.args=b;return c};a.prototype.addFromSetImmediateArguments=function(a){this.tasksByHandle[this.nextHandle]=this.partiallyApplied.apply(void 0,a);return this.nextHandle++};a.prototype.createProcessNextTickSetImmediate=function(){var a=function c(){var a=c.instance,d=a.addFromSetImmediateArguments(arguments);a.root.process.nextTick(a.partiallyApplied(a.runIfPresent, +d));return d};a.instance=this;return a};a.prototype.createPostMessageSetImmediate=function(){var a=this.root,b="setImmediate$"+a.Math.random()+"$",c=function g(c){var d=g.instance;c.source===a&&"string"===typeof c.data&&0===c.data.indexOf(b)&&d.runIfPresent(+c.data.slice(b.length))};c.instance=this;a.addEventListener("message",c,!1);c=function l(){var a=l,b=a.messagePrefix;a=a.instance;var c=a.addFromSetImmediateArguments(arguments);a.root.postMessage(b+c,"*");return c};c.instance=this;c.messagePrefix= +b;return c};a.prototype.runIfPresent=function(a){if(this.currentlyRunningATask)this.root.setTimeout(this.partiallyApplied(this.runIfPresent,a),0);else{var b=this.tasksByHandle[a];if(b){this.currentlyRunningATask=!0;try{b()}finally{this.clearImmediate(a),this.currentlyRunningATask=!1}}}};a.prototype.createMessageChannelSetImmediate=function(){var a=this,b=new this.root.MessageChannel;b.port1.onmessage=function(b){a.runIfPresent(b.data)};var c=function g(){var a=g,b=a.channel;a=a.instance.addFromSetImmediateArguments(arguments); +b.port2.postMessage(a);return a};c.channel=b;c.instance=this;return c};a.prototype.createReadyStateChangeSetImmediate=function(){var a=function c(){var a=c.instance,d=a.root.document,f=d.documentElement,h=a.addFromSetImmediateArguments(arguments),n=d.createElement("script");n.onreadystatechange=function(){a.runIfPresent(h);n.onreadystatechange=null;f.removeChild(n);n=null};f.appendChild(n);return h};a.instance=this;return a};a.prototype.createSetTimeoutSetImmediate=function(){var a=function c(){var a= +c.instance,d=a.addFromSetImmediateArguments(arguments);a.root.setTimeout(a.partiallyApplied(a.runIfPresent,d),0);return d};a.instance=this;return a};return a}();f.ImmediateDefinition=p;f.Immediate=new p(h.root)}).call(f,a(217).clearImmediate,a(217).setImmediate)},function(h,f,a){(function(a,f){(function(a,d){function b(a){delete q[a]}function c(a){if(v)setTimeout(c,0,a);else{var e=q[a];if(e){v=!0;try{var f=e.callback,g=e.args;switch(g.length){case 0:f();break;case 1:f(g[0]);break;case 2:f(g[0],g[1]); +break;case 3:f(g[0],g[1],g[2]);break;default:f.apply(d,g)}}finally{b(a),v=!1}}}}function e(){y=function(a){f.nextTick(function(){c(a)})}}function g(){if(a.postMessage&&!a.importScripts){var b=!0,c=a.onmessage;a.onmessage=function(){b=!1};a.postMessage("","*");a.onmessage=c;return b}}function h(){var b="setImmediate$"+Math.random()+"$",d=function(d){d.source===a&&"string"===typeof d.data&&0===d.data.indexOf(b)&&c(+d.data.slice(b.length))};a.addEventListener?a.addEventListener("message",d,!1):a.attachEvent("onmessage", +d);y=function(c){a.postMessage(b+c,"*")}}function k(){var a=new MessageChannel;a.port1.onmessage=function(a){c(a.data)};y=function(b){a.port2.postMessage(b)}}function n(){var a=w.documentElement;y=function(b){var d=w.createElement("script");d.onreadystatechange=function(){c(b);d.onreadystatechange=null;a.removeChild(d);d=null};a.appendChild(d)}}function m(){y=function(a){setTimeout(c,0,a)}}if(!a.setImmediate){var p=1,q={},v=!1,w=a.document,y,x=Object.getPrototypeOf&&Object.getPrototypeOf(a);x=x&& +x.setTimeout?x:a;"[object process]"==={}.toString.call(a.process)?e():g()?h():a.MessageChannel?k():w&&"onreadystatechange"in w.createElement("script")?n():m();x.setImmediate=function(a){"function"!==typeof a&&(a=new Function(""+a));for(var b=Array(arguments.length-1),c=0;c<b.length;c++)b[c]=arguments[c+1];q[p]={callback:a,args:b};y(p);return p++};x.clearImmediate=b}})("undefined"===typeof self?"undefined"===typeof a?this:a:self)}).call(f,a(74),a(596))},function(h,f){function a(){throw Error("setTimeout has not been defined"); +}function q(){throw Error("clearTimeout has not been defined");}function p(b){if(g===setTimeout)return setTimeout(b,0);if((g===a||!g)&&setTimeout)return g=setTimeout,setTimeout(b,0);try{return g(b,0)}catch(v){try{return g.call(null,b,0)}catch(w){return g.call(this,b,0)}}}function n(a){if(l===clearTimeout)return clearTimeout(a);if((l===q||!l)&&clearTimeout)return l=clearTimeout,clearTimeout(a);try{return l(a)}catch(v){try{return l.call(null,a)}catch(w){return l.call(this,a)}}}function d(){t&&m&&(t= +!1,m.length?k=m.concat(k):r=-1,k.length&&b())}function b(){if(!t){var a=p(d);t=!0;for(var b=k.length;b;){m=k;for(k=[];++r<b;)m&&m[r].run();r=-1;b=k.length}m=null;t=!1;n(a)}}function c(a,b){this.fun=a;this.array=b}function e(){}h=h.exports={};try{var g="function"===typeof setTimeout?setTimeout:a}catch(u){g=a}try{var l="function"===typeof clearTimeout?clearTimeout:q}catch(u){l=q}var k=[],t=!1,m,r=-1;h.nextTick=function(a){var d=Array(arguments.length-1);if(1<arguments.length)for(var e=1;e<arguments.length;e++)d[e- +1]=arguments[e];k.push(new c(a,d));1!==k.length||t||p(b)};c.prototype.run=function(){this.fun.apply(null,this.array)};h.title="browser";h.browser=!0;h.env={};h.argv=[];h.version="";h.versions={};h.on=e;h.addListener=e;h.once=e;h.off=e;h.removeListener=e;h.removeAllListeners=e;h.emit=e;h.prependListener=e;h.prependOnceListener=e;h.listeners=function(a){return[]};h.binding=function(a){throw Error("process.binding is not supported");};h.cwd=function(){return"/"};h.chdir=function(a){throw Error("process.chdir is not supported"); +};h.umask=function(){return 0}},function(h,f,a){var q=this&&this.__extends||function(a,f){function d(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(d.prototype=f.prototype,new d)};h=function(a){function f(){a.apply(this,arguments)}q(f,a);f.prototype.flush=function(a){this.active=!0;this.scheduled=void 0;var b=this.actions,c,d=-1,f=b.length;a=a||b.shift();do if(c=a.execute(a.state,a.delay))break;while(++d<f&&(a=b.shift()));this.active=!1; +if(c){for(;++d<f&&(a=b.shift());)a.unsubscribe();throw c;}};return f}(a(71).AsyncScheduler);f.AsapScheduler=h},function(h,f,a){h=a(0);a=a(599);h.Observable.prototype.switch=a._switch;h.Observable.prototype._switch=a._switch},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(5);var p=a(6);f._switch=function(){return this.lift(new n)};var n= +function(){function a(){}a.prototype.call=function(a,b){return b.subscribe(new d(a))};return a}(),d=function(a){function b(b){a.call(this,b);this.active=0;this.hasCompleted=!1}q(b,a);b.prototype._next=function(a){this.unsubscribeInner();this.active++;this.add(this.innerSubscription=p.subscribeToResult(this,a))};b.prototype._complete=function(){this.hasCompleted=!0;0===this.active&&this.destination.complete()};b.prototype.unsubscribeInner=function(){this.active=0<this.active?this.active-1:0;var a= this.innerSubscription;a&&(a.unsubscribe(),this.remove(a))};b.prototype.notifyNext=function(a,b,c,d,f){this.destination.next(b)};b.prototype.notifyError=function(a){this.destination.error(a)};b.prototype.notifyComplete=function(){this.unsubscribeInner();this.hasCompleted&&0===this.active&&this.destination.complete()};return b}(h.OuterSubscriber)},function(h,f,a){h=a(0);a=a(601);h.Observable.prototype.switchMap=a.switchMap},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor= -a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(5);var p=a(6);f.switchMap=function(a,c){return this.lift(new n(a,c))};var n=function(){function a(a,b){this.project=a;this.resultSelector=b}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.project,this.resultSelector))};return a}(),c=function(a){function b(b,c,d){a.call(this,b);this.project=c;this.resultSelector=d;this.index=0}q(b,a);b.prototype._next=function(a){var b= +a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(5);var p=a(6);f.switchMap=function(a,c){return this.lift(new n(a,c))};var n=function(){function a(a,b){this.project=a;this.resultSelector=b}a.prototype.call=function(a,b){return b.subscribe(new d(a,this.project,this.resultSelector))};return a}(),d=function(a){function b(b,c,d){a.call(this,b);this.project=c;this.resultSelector=d;this.index=0}q(b,a);b.prototype._next=function(a){var b= this.index++;try{var c=this.project(a,b)}catch(k){this.destination.error(k);return}this._innerSub(c,a,b)};b.prototype._innerSub=function(a,b,c){var d=this.innerSubscription;d&&d.unsubscribe();this.add(this.innerSubscription=p.subscribeToResult(this,a,b,c))};b.prototype._complete=function(){var b=this.innerSubscription;b&&!b.closed||a.prototype._complete.call(this)};b.prototype._unsubscribe=function(){this.innerSubscription=null};b.prototype.notifyComplete=function(b){this.remove(b);this.innerSubscription= null;this.isStopped&&a.prototype._complete.call(this)};b.prototype.notifyNext=function(a,b,c,d,f){this.resultSelector?this._tryNotifyNext(a,b,c,d):this.destination.next(b)};b.prototype._tryNotifyNext=function(a,b,c,d){try{var e=this.resultSelector(a,b,c,d)}catch(m){this.destination.error(m);return}this.destination.next(e)};return b}(h.OuterSubscriber)},function(h,f,a){h=a(0);a=a(603);h.Observable.prototype.switchMapTo=a.switchMapTo},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor= -a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(5);var p=a(6);f.switchMapTo=function(a,c){return this.lift(new n(a,c))};var n=function(){function a(a,b){this.observable=a;this.resultSelector=b}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.observable,this.resultSelector))};return a}(),c=function(a){function b(b,c,d){a.call(this,b);this.inner=c;this.resultSelector=d;this.index=0}q(b,a);b.prototype._next=function(a){var b= +a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(5);var p=a(6);f.switchMapTo=function(a,c){return this.lift(new n(a,c))};var n=function(){function a(a,b){this.observable=a;this.resultSelector=b}a.prototype.call=function(a,b){return b.subscribe(new d(a,this.observable,this.resultSelector))};return a}(),d=function(a){function b(b,c,d){a.call(this,b);this.inner=c;this.resultSelector=d;this.index=0}q(b,a);b.prototype._next=function(a){var b= this.innerSubscription;b&&b.unsubscribe();this.add(this.innerSubscription=p.subscribeToResult(this,this.inner,a,this.index++))};b.prototype._complete=function(){var b=this.innerSubscription;b&&!b.closed||a.prototype._complete.call(this)};b.prototype._unsubscribe=function(){this.innerSubscription=null};b.prototype.notifyComplete=function(b){this.remove(b);this.innerSubscription=null;this.isStopped&&a.prototype._complete.call(this)};b.prototype.notifyNext=function(a,b,c,d,f){f=this.destination;this.resultSelector? this.tryResultSelector(a,b,c,d):f.next(b)};b.prototype.tryResultSelector=function(a,b,c,d){var e=this.resultSelector,f=this.destination;try{var g=e(a,b,c,d)}catch(u){f.error(u);return}f.next(g)};return b}(h.OuterSubscriber)},function(h,f,a){h=a(0);a=a(605);h.Observable.prototype.take=a.take},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)}; -h=a(3);var p=a(71),n=a(42);f.take=function(a){return 0===a?new n.EmptyObservable:this.lift(new c(a))};var c=function(){function a(a){this.total=a;if(0>this.total)throw new p.ArgumentOutOfRangeError;}a.prototype.call=function(a,c){return c.subscribe(new b(a,this.total))};return a}(),b=function(a){function b(b,c){a.call(this,b);this.total=c;this.count=0}q(b,a);b.prototype._next=function(a){var b=this.total,c=++this.count;c<=b&&(this.destination.next(a),c===b&&(this.destination.complete(),this.unsubscribe()))}; -return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(607);h.Observable.prototype.takeLast=a.takeLast},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);var p=a(71),n=a(42);f.takeLast=function(a){return 0===a?new n.EmptyObservable:this.lift(new c(a))};var c=function(){function a(a){this.total=a;if(0>this.total)throw new p.ArgumentOutOfRangeError; +h=a(3);var p=a(72),n=a(42);f.take=function(a){return 0===a?new n.EmptyObservable:this.lift(new d(a))};var d=function(){function a(a){this.total=a;if(0>this.total)throw new p.ArgumentOutOfRangeError;}a.prototype.call=function(a,c){return c.subscribe(new b(a,this.total))};return a}(),b=function(a){function b(b,c){a.call(this,b);this.total=c;this.count=0}q(b,a);b.prototype._next=function(a){var b=this.total,c=++this.count;c<=b&&(this.destination.next(a),c===b&&(this.destination.complete(),this.unsubscribe()))}; +return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(607);h.Observable.prototype.takeLast=a.takeLast},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);var p=a(72),n=a(42);f.takeLast=function(a){return 0===a?new n.EmptyObservable:this.lift(new d(a))};var d=function(){function a(a){this.total=a;if(0>this.total)throw new p.ArgumentOutOfRangeError; }a.prototype.call=function(a,c){return c.subscribe(new b(a,this.total))};return a}(),b=function(a){function b(b,c){a.call(this,b);this.total=c;this.ring=[];this.count=0}q(b,a);b.prototype._next=function(a){var b=this.ring,c=this.total,d=this.count++;b.length<c?b.push(a):b[d%c]=a};b.prototype._complete=function(){var a=this.destination,b=this.count;if(0<b)for(var c=this.count>=this.total?this.total:this.count,d=this.ring,e=0;e<c;e++){var f=b++%c;a.next(d[f])}a.complete()};return b}(h.Subscriber)}, -function(h,f,a){h=a(0);a=a(609);h.Observable.prototype.takeUntil=a.takeUntil},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(5);var p=a(6);f.takeUntil=function(a){return this.lift(new n(a))};var n=function(){function a(a){this.notifier=a}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.notifier))};return a}(),c=function(a){function b(b, -c){a.call(this,b);this.notifier=c;this.add(p.subscribeToResult(this,c))}q(b,a);b.prototype.notifyNext=function(a,b,c,d,f){this.complete()};b.prototype.notifyComplete=function(){};return b}(h.OuterSubscriber)},function(h,f,a){h=a(0);a=a(611);h.Observable.prototype.takeWhile=a.takeWhile},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3); -f.takeWhile=function(a){return this.lift(new p(a))};var p=function(){function a(a){this.predicate=a}a.prototype.call=function(a,c){return c.subscribe(new n(a,this.predicate))};return a}(),n=function(a){function b(b,c){a.call(this,b);this.predicate=c;this.index=0}q(b,a);b.prototype._next=function(a){var b=this.destination;try{var c=this.predicate(a,this.index++)}catch(l){b.error(l);return}this.nextOrComplete(a,c)};b.prototype.nextOrComplete=function(a,b){var c=this.destination;b?c.next(a):c.complete()}; -return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(218);h.Observable.prototype.throttle=a.throttle},function(h,f,a){h=a(0);a=a(614);h.Observable.prototype.throttleTime=a.throttleTime},function(h,f,a){function q(a){a.subscriber.clearThrottle()}var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);var n=a(19),c=a(218);f.throttleTime=function(a,d,f){void 0=== -d&&(d=n.async);void 0===f&&(f=c.defaultThrottleConfig);return this.lift(new b(a,d,f.leading,f.trailing))};var b=function(){function a(a,b,c,d){this.duration=a;this.scheduler=b;this.leading=c;this.trailing=d}a.prototype.call=function(a,b){return b.subscribe(new d(a,this.duration,this.scheduler,this.leading,this.trailing))};return a}(),d=function(a){function b(b,c,d,e,f){a.call(this,b);this.duration=c;this.scheduler=d;this.leading=e;this.trailing=f;this._hasTrailingValue=!1;this._trailingValue=null} +function(h,f,a){h=a(0);a=a(609);h.Observable.prototype.takeUntil=a.takeUntil},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(5);var p=a(6);f.takeUntil=function(a){return this.lift(new n(a))};var n=function(){function a(a){this.notifier=a}a.prototype.call=function(a,b){return b.subscribe(new d(a,this.notifier))};return a}(),d=function(a){function b(b, +c){a.call(this,b);this.notifier=c;this.add(p.subscribeToResult(this,c))}q(b,a);b.prototype.notifyNext=function(a,b,c,d,f){this.complete()};b.prototype.notifyComplete=function(){};return b}(h.OuterSubscriber)},function(h,f,a){h=a(0);a=a(611);h.Observable.prototype.takeWhile=a.takeWhile},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3); +f.takeWhile=function(a){return this.lift(new p(a))};var p=function(){function a(a){this.predicate=a}a.prototype.call=function(a,c){return c.subscribe(new n(a,this.predicate))};return a}(),n=function(a){function b(b,d){a.call(this,b);this.predicate=d;this.index=0}q(b,a);b.prototype._next=function(a){var b=this.destination;try{var c=this.predicate(a,this.index++)}catch(l){b.error(l);return}this.nextOrComplete(a,c)};b.prototype.nextOrComplete=function(a,b){var c=this.destination;b?c.next(a):c.complete()}; +return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(218);h.Observable.prototype.throttle=a.throttle},function(h,f,a){h=a(0);a=a(614);h.Observable.prototype.throttleTime=a.throttleTime},function(h,f,a){function q(a){a.subscriber.clearThrottle()}var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);var n=a(19),d=a(218);f.throttleTime=function(a,c,f){void 0=== +c&&(c=n.async);void 0===f&&(f=d.defaultThrottleConfig);return this.lift(new b(a,c,f.leading,f.trailing))};var b=function(){function a(a,b,c,d){this.duration=a;this.scheduler=b;this.leading=c;this.trailing=d}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.duration,this.scheduler,this.leading,this.trailing))};return a}(),c=function(a){function b(b,c,d,e,f){a.call(this,b);this.duration=c;this.scheduler=d;this.leading=e;this.trailing=f;this._hasTrailingValue=!1;this._trailingValue=null} p(b,a);b.prototype._next=function(a){this.throttled?this.trailing&&(this._trailingValue=a,this._hasTrailingValue=!0):(this.add(this.throttled=this.scheduler.schedule(q,this.duration,{subscriber:this})),this.leading&&this.destination.next(a))};b.prototype.clearThrottle=function(){var a=this.throttled;a&&(this.trailing&&this._hasTrailingValue&&(this.destination.next(this._trailingValue),this._trailingValue=null,this._hasTrailingValue=!1),a.unsubscribe(),this.remove(a),this.throttled=null)};return b}(h.Subscriber)}, -function(h,f,a){h=a(0);a=a(219);h.Observable.prototype.timeInterval=a.timeInterval},function(h,f,a){h=a(0);a=a(617);h.Observable.prototype.timeout=a.timeout},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(19),n=a(91);h=a(3);var c=a(220);f.timeout=function(a,d){void 0===d&&(d=p.async);var e=n.isDate(a);a=e?+a-d.now():Math.abs(a);return this.lift(new b(a, -e,d,new c.TimeoutError))};var b=function(){function a(a,b,c,d){this.waitFor=a;this.absoluteTimeout=b;this.scheduler=c;this.errorInstance=d}a.prototype.call=function(a,b){return b.subscribe(new d(a,this.absoluteTimeout,this.waitFor,this.scheduler,this.errorInstance))};return a}(),d=function(a){function b(b,c,d,e,f){a.call(this,b);this.absoluteTimeout=c;this.waitFor=d;this.scheduler=e;this.errorInstance=f;this.action=null;this.scheduleTimeout()}q(b,a);b.dispatchTimeout=function(a){a.error(a.errorInstance)}; +function(h,f,a){h=a(0);a=a(219);h.Observable.prototype.timeInterval=a.timeInterval},function(h,f,a){h=a(0);a=a(617);h.Observable.prototype.timeout=a.timeout},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(19),n=a(92);h=a(3);var d=a(220);f.timeout=function(a,c){void 0===c&&(c=p.async);var e=n.isDate(a);a=e?+a-c.now():Math.abs(a);return this.lift(new b(a, +e,c,new d.TimeoutError))};var b=function(){function a(a,b,c,d){this.waitFor=a;this.absoluteTimeout=b;this.scheduler=c;this.errorInstance=d}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.absoluteTimeout,this.waitFor,this.scheduler,this.errorInstance))};return a}(),c=function(a){function b(b,c,d,e,f){a.call(this,b);this.absoluteTimeout=c;this.waitFor=d;this.scheduler=e;this.errorInstance=f;this.action=null;this.scheduleTimeout()}q(b,a);b.dispatchTimeout=function(a){a.error(a.errorInstance)}; b.prototype.scheduleTimeout=function(){var a=this.action;a?this.action=a.schedule(this,this.waitFor):this.add(this.action=this.scheduler.schedule(b.dispatchTimeout,this.waitFor,this))};b.prototype._next=function(b){this.absoluteTimeout||this.scheduleTimeout();a.prototype._next.call(this,b)};b.prototype._unsubscribe=function(){this.errorInstance=this.scheduler=this.action=null};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(619);h.Observable.prototype.timeoutWith=a.timeoutWith},function(h,f,a){var q= -this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(19),n=a(91);h=a(5);var c=a(6);f.timeoutWith=function(a,c,d){void 0===d&&(d=p.async);var e=n.isDate(a);a=e?+a-d.now():Math.abs(a);return this.lift(new b(a,e,c,d))};var b=function(){function a(a,b,c,d){this.waitFor=a;this.absoluteTimeout=b;this.withObservable=c;this.scheduler=d}a.prototype.call=function(a,b){return b.subscribe(new d(a, -this.absoluteTimeout,this.waitFor,this.withObservable,this.scheduler))};return a}(),d=function(a){function b(b,c,d,e,f){a.call(this,b);this.absoluteTimeout=c;this.waitFor=d;this.withObservable=e;this.scheduler=f;this.action=null;this.scheduleTimeout()}q(b,a);b.dispatchTimeout=function(a){var b=a.withObservable;a._unsubscribeAndRecycle();a.add(c.subscribeToResult(a,b))};b.prototype.scheduleTimeout=function(){var a=this.action;a?this.action=a.schedule(this,this.waitFor):this.add(this.action=this.scheduler.schedule(b.dispatchTimeout, -this.waitFor,this))};b.prototype._next=function(b){this.absoluteTimeout||this.scheduleTimeout();a.prototype._next.call(this,b)};b.prototype._unsubscribe=function(){this.withObservable=this.scheduler=this.action=null};return b}(h.OuterSubscriber)},function(h,f,a){h=a(0);a=a(221);h.Observable.prototype.timestamp=a.timestamp},function(h,f,a){h=a(0);a=a(622);h.Observable.prototype.toArray=a.toArray},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&& -(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);f.toArray=function(){return this.lift(new p)};var p=function(){function a(){}a.prototype.call=function(a,c){return c.subscribe(new n(a))};return a}(),n=function(a){function b(b){a.call(this,b);this.array=[]}q(b,a);b.prototype._next=function(a){this.array.push(a)};b.prototype._complete=function(){this.destination.next(this.array);this.destination.complete()};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(624); +this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(19),n=a(92);h=a(5);var d=a(6);f.timeoutWith=function(a,c,d){void 0===d&&(d=p.async);var e=n.isDate(a);a=e?+a-d.now():Math.abs(a);return this.lift(new b(a,e,c,d))};var b=function(){function a(a,b,c,d){this.waitFor=a;this.absoluteTimeout=b;this.withObservable=c;this.scheduler=d}a.prototype.call=function(a,b){return b.subscribe(new c(a, +this.absoluteTimeout,this.waitFor,this.withObservable,this.scheduler))};return a}(),c=function(a){function b(b,c,d,e,f){a.call(this,b);this.absoluteTimeout=c;this.waitFor=d;this.withObservable=e;this.scheduler=f;this.action=null;this.scheduleTimeout()}q(b,a);b.dispatchTimeout=function(a){var b=a.withObservable;a._unsubscribeAndRecycle();a.add(d.subscribeToResult(a,b))};b.prototype.scheduleTimeout=function(){var a=this.action;a?this.action=a.schedule(this,this.waitFor):this.add(this.action=this.scheduler.schedule(b.dispatchTimeout, +this.waitFor,this))};b.prototype._next=function(b){this.absoluteTimeout||this.scheduleTimeout();a.prototype._next.call(this,b)};b.prototype._unsubscribe=function(){this.withObservable=this.scheduler=this.action=null};return b}(h.OuterSubscriber)},function(h,f,a){h=a(0);a=a(221);h.Observable.prototype.timestamp=a.timestamp},function(h,f,a){h=a(0);a=a(622);h.Observable.prototype.toArray=a.toArray},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&& +(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);f.toArray=function(){return this.lift(new p)};var p=function(){function a(){}a.prototype.call=function(a,c){return c.subscribe(new n(a))};return a}(),n=function(a){function b(b){a.call(this,b);this.array=[]}q(b,a);b.prototype._next=function(a){this.array.push(a)};b.prototype._complete=function(){this.destination.next(this.array);this.destination.complete()};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(624); h.Observable.prototype.toPromise=a.toPromise},function(h,f,a){var q=a(16);f.toPromise=function(a){var f=this;a||(q.root.Rx&&q.root.Rx.config&&q.root.Rx.config.Promise?a=q.root.Rx.config.Promise:q.root.Promise&&(a=q.root.Promise));if(!a)throw Error("no Promise impl found");return new a(function(a,b){var c;f.subscribe(function(a){return c=a},function(a){return b(a)},function(){return a(c)})})}},function(h,f,a){h=a(0);a=a(626);h.Observable.prototype.window=a.window},function(h,f,a){var q=this&&this.__extends|| -function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(12);h=a(5);var n=a(6);f.window=function(a){return this.lift(new c(a))};var c=function(){function a(a){this.windowBoundaries=a}a.prototype.call=function(a,c){a=new b(a);c=c.subscribe(a);c.closed||a.add(n.subscribeToResult(a,this.windowBoundaries));return c};return a}(),b=function(a){function b(b){a.call(this,b);this.window=new p.Subject; +function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(12);h=a(5);var n=a(6);f.window=function(a){return this.lift(new d(a))};var d=function(){function a(a){this.windowBoundaries=a}a.prototype.call=function(a,c){a=new b(a);c=c.subscribe(a);c.closed||a.add(n.subscribeToResult(a,this.windowBoundaries));return c};return a}(),b=function(a){function b(b){a.call(this,b);this.window=new p.Subject; b.next(this.window)}q(b,a);b.prototype.notifyNext=function(a,b,c,d,e){this.openWindow()};b.prototype.notifyError=function(a,b){this._error(a)};b.prototype.notifyComplete=function(a){this._complete()};b.prototype._next=function(a){this.window.next(a)};b.prototype._error=function(a){this.window.error(a);this.destination.error(a)};b.prototype._complete=function(){this.window.complete();this.destination.complete()};b.prototype._unsubscribe=function(){this.window=null};b.prototype.openWindow=function(){var a= this.window;a&&a.complete();a=this.destination;var b=this.window=new p.Subject;a.next(b)};return b}(h.OuterSubscriber)},function(h,f,a){h=a(0);a=a(628);h.Observable.prototype.windowCount=a.windowCount},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(3);var p=a(12);f.windowCount=function(a,c){void 0===c&&(c=0);return this.lift(new n(a, -c))};var n=function(){function a(a,b){this.windowSize=a;this.startWindowEvery=b}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.windowSize,this.startWindowEvery))};return a}(),c=function(a){function b(b,c,d){a.call(this,b);this.destination=b;this.windowSize=c;this.startWindowEvery=d;this.windows=[new p.Subject];this.count=0;b.next(this.windows[0])}q(b,a);b.prototype._next=function(a){for(var b=0<this.startWindowEvery?this.startWindowEvery:this.windowSize,c=this.destination,d=this.windowSize, +c))};var n=function(){function a(a,b){this.windowSize=a;this.startWindowEvery=b}a.prototype.call=function(a,b){return b.subscribe(new d(a,this.windowSize,this.startWindowEvery))};return a}(),d=function(a){function b(b,c,d){a.call(this,b);this.destination=b;this.windowSize=c;this.startWindowEvery=d;this.windows=[new p.Subject];this.count=0;b.next(this.windows[0])}q(b,a);b.prototype._next=function(a){for(var b=0<this.startWindowEvery?this.startWindowEvery:this.windowSize,c=this.destination,d=this.windowSize, e=this.windows,f=e.length,h=0;h<f&&!this.closed;h++)e[h].next(a);a=this.count-d+1;0<=a&&0===a%b&&!this.closed&&e.shift().complete();0!==++this.count%b||this.closed||(b=new p.Subject,e.push(b),c.next(b))};b.prototype._error=function(a){var b=this.windows;if(b)for(;0<b.length&&!this.closed;)b.shift().error(a);this.destination.error(a)};b.prototype._complete=function(){var a=this.windows;if(a)for(;0<a.length&&!this.closed;)a.shift().complete();this.destination.complete()};b.prototype._unsubscribe=function(){this.count= 0;this.windows=null};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(630);h.Observable.prototype.windowTime=a.windowTime},function(h,f,a){function q(a){var b=a.subscriber,c=a.windowTimeSpan,d=a.window;d&&b.closeWindow(d);a.window=b.openWindow();this.schedule(a,c)}function p(a){var b=a.windowTimeSpan,c=a.subscriber,d=a.scheduler,e=a.windowCreationInterval,f=c.openWindow(),g={action:this,subscription:null};g.subscription=d.schedule(n,b,{subscriber:c,window:f,context:g});this.add(g.subscription); -this.schedule(a,e)}function n(a){var b=a.subscriber,c=a.window;(a=a.context)&&a.action&&a.subscription&&a.action.remove(a.subscription);b.closeWindow(c)}var c=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(12);var b=a(19),d=a(3),e=a(90),g=a(37);f.windowTime=function(a,c,d,f){var h=b.async,k=null,m=Number.POSITIVE_INFINITY;g.isScheduler(f)&&(h=f);g.isScheduler(d)? -h=d:e.isNumeric(d)&&(m=d);g.isScheduler(c)?h=c:e.isNumeric(c)&&(k=c);return this.lift(new l(a,k,m,h))};var l=function(){function a(a,b,c,d){this.windowTimeSpan=a;this.windowCreationInterval=b;this.maxWindowSize=c;this.scheduler=d}a.prototype.call=function(a,b){return b.subscribe(new t(a,this.windowTimeSpan,this.windowCreationInterval,this.maxWindowSize,this.scheduler))};return a}(),k=function(a){function b(){a.apply(this,arguments);this._numberOfNextedValues=0}c(b,a);b.prototype.next=function(b){this._numberOfNextedValues++; +this.schedule(a,e)}function n(a){var b=a.subscriber,c=a.window;(a=a.context)&&a.action&&a.subscription&&a.action.remove(a.subscription);b.closeWindow(c)}var d=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(12);var b=a(19),c=a(3),e=a(91),g=a(37);f.windowTime=function(a,c,d,f){var h=b.async,k=null,m=Number.POSITIVE_INFINITY;g.isScheduler(f)&&(h=f);g.isScheduler(d)? +h=d:e.isNumeric(d)&&(m=d);g.isScheduler(c)?h=c:e.isNumeric(c)&&(k=c);return this.lift(new l(a,k,m,h))};var l=function(){function a(a,b,c,d){this.windowTimeSpan=a;this.windowCreationInterval=b;this.maxWindowSize=c;this.scheduler=d}a.prototype.call=function(a,b){return b.subscribe(new t(a,this.windowTimeSpan,this.windowCreationInterval,this.maxWindowSize,this.scheduler))};return a}(),k=function(a){function b(){a.apply(this,arguments);this._numberOfNextedValues=0}d(b,a);b.prototype.next=function(b){this._numberOfNextedValues++; a.prototype.next.call(this,b)};Object.defineProperty(b.prototype,"numberOfNextedValues",{get:function(){return this._numberOfNextedValues},enumerable:!0,configurable:!0});return b}(h.Subject),t=function(a){function b(b,c,d,e,f){a.call(this,b);this.destination=b;this.windowTimeSpan=c;this.windowCreationInterval=d;this.maxWindowSize=e;this.scheduler=f;this.windows=[];b=this.openWindow();null!==d&&0<=d?(e={windowTimeSpan:c,windowCreationInterval:d,subscriber:this,scheduler:f},this.add(f.schedule(n,c, -{subscriber:this,window:b,context:null})),this.add(f.schedule(p,d,e))):this.add(f.schedule(q,c,{subscriber:this,window:b,windowTimeSpan:c}))}c(b,a);b.prototype._next=function(a){for(var b=this.windows,c=b.length,d=0;d<c;d++){var e=b[d];e.closed||(e.next(a),e.numberOfNextedValues>=this.maxWindowSize&&this.closeWindow(e))}};b.prototype._error=function(a){for(var b=this.windows;0<b.length;)b.shift().error(a);this.destination.error(a)};b.prototype._complete=function(){for(var a=this.windows;0<a.length;){var b= -a.shift();b.closed||b.complete()}this.destination.complete()};b.prototype.openWindow=function(){var a=new k;this.windows.push(a);this.destination.next(a);return a};b.prototype.closeWindow=function(a){a.complete();var b=this.windows;b.splice(b.indexOf(a),1)};return b}(d.Subscriber)},function(h,f,a){h=a(0);a=a(632);h.Observable.prototype.windowToggle=a.windowToggle},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]); -a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(12),n=a(11),c=a(17),b=a(13);h=a(5);var d=a(6);f.windowToggle=function(a,b){return this.lift(new e(a,b))};var e=function(){function a(a,b){this.openings=a;this.closingSelector=b}a.prototype.call=function(a,b){return b.subscribe(new g(a,this.openings,this.closingSelector))};return a}(),g=function(a){function e(b,c,e){a.call(this,b);this.openings=c;this.closingSelector=e;this.contexts=[];this.add(this.openSubscription=d.subscribeToResult(this, -c,c))}q(e,a);e.prototype._next=function(a){var b=this.contexts;if(b)for(var c=b.length,d=0;d<c;d++)b[d].window.next(a)};e.prototype._error=function(b){var c=this.contexts;this.contexts=null;if(c)for(var d=c.length,e=-1;++e<d;){var f=c[e];f.window.error(b);f.subscription.unsubscribe()}a.prototype._error.call(this,b)};e.prototype._complete=function(){var b=this.contexts;this.contexts=null;if(b)for(var c=b.length,d=-1;++d<c;){var e=b[d];e.window.complete();e.subscription.unsubscribe()}a.prototype._complete.call(this)}; -e.prototype._unsubscribe=function(){var a=this.contexts;this.contexts=null;if(a)for(var b=a.length,c=-1;++c<b;){var d=a[c];d.window.unsubscribe();d.subscription.unsubscribe()}};e.prototype.notifyNext=function(a,e,f,g,h){if(a===this.openings){g=c.tryCatch(this.closingSelector)(e);if(g===b.errorObject)return this.error(b.errorObject.e);a=new p.Subject;e=new n.Subscription;f={window:a,subscription:e};this.contexts.push(f);g=d.subscribeToResult(this,g,f);g.closed?this.closeWindow(this.contexts.length- +{subscriber:this,window:b,context:null})),this.add(f.schedule(p,d,e))):this.add(f.schedule(q,c,{subscriber:this,window:b,windowTimeSpan:c}))}d(b,a);b.prototype._next=function(a){for(var b=this.windows,c=b.length,d=0;d<c;d++){var e=b[d];e.closed||(e.next(a),e.numberOfNextedValues>=this.maxWindowSize&&this.closeWindow(e))}};b.prototype._error=function(a){for(var b=this.windows;0<b.length;)b.shift().error(a);this.destination.error(a)};b.prototype._complete=function(){for(var a=this.windows;0<a.length;){var b= +a.shift();b.closed||b.complete()}this.destination.complete()};b.prototype.openWindow=function(){var a=new k;this.windows.push(a);this.destination.next(a);return a};b.prototype.closeWindow=function(a){a.complete();var b=this.windows;b.splice(b.indexOf(a),1)};return b}(c.Subscriber)},function(h,f,a){h=a(0);a=a(632);h.Observable.prototype.windowToggle=a.windowToggle},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]); +a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(12),n=a(11),d=a(17),b=a(13);h=a(5);var c=a(6);f.windowToggle=function(a,b){return this.lift(new e(a,b))};var e=function(){function a(a,b){this.openings=a;this.closingSelector=b}a.prototype.call=function(a,b){return b.subscribe(new g(a,this.openings,this.closingSelector))};return a}(),g=function(a){function e(b,d,e){a.call(this,b);this.openings=d;this.closingSelector=e;this.contexts=[];this.add(this.openSubscription=c.subscribeToResult(this, +d,d))}q(e,a);e.prototype._next=function(a){var b=this.contexts;if(b)for(var c=b.length,d=0;d<c;d++)b[d].window.next(a)};e.prototype._error=function(b){var c=this.contexts;this.contexts=null;if(c)for(var d=c.length,e=-1;++e<d;){var f=c[e];f.window.error(b);f.subscription.unsubscribe()}a.prototype._error.call(this,b)};e.prototype._complete=function(){var b=this.contexts;this.contexts=null;if(b)for(var c=b.length,d=-1;++d<c;){var e=b[d];e.window.complete();e.subscription.unsubscribe()}a.prototype._complete.call(this)}; +e.prototype._unsubscribe=function(){var a=this.contexts;this.contexts=null;if(a)for(var b=a.length,c=-1;++c<b;){var d=a[c];d.window.unsubscribe();d.subscription.unsubscribe()}};e.prototype.notifyNext=function(a,e,f,g,h){if(a===this.openings){g=d.tryCatch(this.closingSelector)(e);if(g===b.errorObject)return this.error(b.errorObject.e);a=new p.Subject;e=new n.Subscription;f={window:a,subscription:e};this.contexts.push(f);g=c.subscribeToResult(this,g,f);g.closed?this.closeWindow(this.contexts.length- 1):(g.context=f,e.add(g));this.destination.next(a)}else this.closeWindow(this.contexts.indexOf(a))};e.prototype.notifyError=function(a){this.error(a)};e.prototype.notifyComplete=function(a){a!==this.openSubscription&&this.closeWindow(this.contexts.indexOf(a.context))};e.prototype.closeWindow=function(a){if(-1!==a){var b=this.contexts,c=b[a],d=c.window;c=c.subscription;b.splice(a,1);d.complete();c.unsubscribe()}};return e}(h.OuterSubscriber)},function(h,f,a){h=a(0);a=a(634);h.Observable.prototype.windowWhen= -a.windowWhen},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(12),n=a(17),c=a(13);h=a(5);var b=a(6);f.windowWhen=function(a){return this.lift(new d(a))};var d=function(){function a(a){this.closingSelector=a}a.prototype.call=function(a,b){return b.subscribe(new e(a,this.closingSelector))};return a}(),e=function(a){function d(b,c){a.call(this, -b);this.destination=b;this.closingSelector=c;this.openWindow()}q(d,a);d.prototype.notifyNext=function(a,b,c,d,e){this.openWindow(e)};d.prototype.notifyError=function(a,b){this._error(a)};d.prototype.notifyComplete=function(a){this.openWindow(a)};d.prototype._next=function(a){this.window.next(a)};d.prototype._error=function(a){this.window.error(a);this.destination.error(a);this.unsubscribeClosingNotification()};d.prototype._complete=function(){this.window.complete();this.destination.complete();this.unsubscribeClosingNotification()}; -d.prototype.unsubscribeClosingNotification=function(){this.closingNotification&&this.closingNotification.unsubscribe()};d.prototype.openWindow=function(a){void 0===a&&(a=null);a&&(this.remove(a),a.unsubscribe());(a=this.window)&&a.complete();a=this.window=new p.Subject;this.destination.next(a);a=n.tryCatch(this.closingSelector)();a===c.errorObject?(a=c.errorObject.e,this.destination.error(a),this.window.error(a)):this.add(this.closingNotification=b.subscribeToResult(this,a))};return d}(h.OuterSubscriber)}, -function(h,f,a){h=a(0);a=a(636);h.Observable.prototype.withLatestFrom=a.withLatestFrom},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(5);var p=a(6);f.withLatestFrom=function(){for(var a=[],c=0;c<arguments.length;c++)a[c-0]=arguments[c];var e;"function"===typeof a[a.length-1]&&(e=a.pop());return this.lift(new n(a,e))};var n=function(){function a(a, -b){this.observables=a;this.project=b}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.observables,this.project))};return a}(),c=function(a){function b(b,c,d){a.call(this,b);this.observables=c;this.project=d;this.toRespond=[];b=c.length;this.values=Array(b);for(d=0;d<b;d++)this.toRespond.push(d);for(d=0;d<b;d++){var e=c[d];this.add(p.subscribeToResult(this,e,e,d))}}q(b,a);b.prototype.notifyNext=function(a,b,c,d,f){this.values[c]=b;a=this.toRespond;0<a.length&&(c=a.indexOf(c),-1!==c&& +a.windowWhen},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(12),n=a(17),d=a(13);h=a(5);var b=a(6);f.windowWhen=function(a){return this.lift(new c(a))};var c=function(){function a(a){this.closingSelector=a}a.prototype.call=function(a,b){return b.subscribe(new e(a,this.closingSelector))};return a}(),e=function(a){function c(b,c){a.call(this, +b);this.destination=b;this.closingSelector=c;this.openWindow()}q(c,a);c.prototype.notifyNext=function(a,b,c,d,e){this.openWindow(e)};c.prototype.notifyError=function(a,b){this._error(a)};c.prototype.notifyComplete=function(a){this.openWindow(a)};c.prototype._next=function(a){this.window.next(a)};c.prototype._error=function(a){this.window.error(a);this.destination.error(a);this.unsubscribeClosingNotification()};c.prototype._complete=function(){this.window.complete();this.destination.complete();this.unsubscribeClosingNotification()}; +c.prototype.unsubscribeClosingNotification=function(){this.closingNotification&&this.closingNotification.unsubscribe()};c.prototype.openWindow=function(a){void 0===a&&(a=null);a&&(this.remove(a),a.unsubscribe());(a=this.window)&&a.complete();a=this.window=new p.Subject;this.destination.next(a);a=n.tryCatch(this.closingSelector)();a===d.errorObject?(a=d.errorObject.e,this.destination.error(a),this.window.error(a)):this.add(this.closingNotification=b.subscribeToResult(this,a))};return c}(h.OuterSubscriber)}, +function(h,f,a){h=a(0);a=a(636);h.Observable.prototype.withLatestFrom=a.withLatestFrom},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(5);var p=a(6);f.withLatestFrom=function(){for(var a=[],c=0;c<arguments.length;c++)a[c-0]=arguments[c];var d;"function"===typeof a[a.length-1]&&(d=a.pop());return this.lift(new n(a,d))};var n=function(){function a(a, +b){this.observables=a;this.project=b}a.prototype.call=function(a,b){return b.subscribe(new d(a,this.observables,this.project))};return a}(),d=function(a){function b(b,c,d){a.call(this,b);this.observables=c;this.project=d;this.toRespond=[];b=c.length;this.values=Array(b);for(d=0;d<b;d++)this.toRespond.push(d);for(d=0;d<b;d++){var e=c[d];this.add(p.subscribeToResult(this,e,e,d))}}q(b,a);b.prototype.notifyNext=function(a,b,c,d,f){this.values[c]=b;a=this.toRespond;0<a.length&&(c=a.indexOf(c),-1!==c&& a.splice(c,1))};b.prototype.notifyComplete=function(){};b.prototype._next=function(a){0===this.toRespond.length&&(a=[a].concat(this.values),this.project?this._tryProject(a):this.destination.next(a))};b.prototype._tryProject=function(a){try{var b=this.project.apply(this,a)}catch(l){this.destination.error(l);return}this.destination.next(b)};return b}(h.OuterSubscriber)},function(h,f,a){h=a(0);a=a(128);h.Observable.prototype.zip=a.zipProto},function(h,f,a){h=a(0);a=a(639);h.Observable.prototype.zipAll= -a.zipAll},function(h,f,a){var q=a(128);f.zipAll=function(a){return this.lift(new q.ZipOperator(a))}},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(0),n=a(68),c=a(641),b=a(642),d=a(223),e=a(225);h=function(a){function f(b){a.call(this,e.VirtualAction,750);this.assertDeepEqual=b;this.hotObservables=[];this.coldObservables=[];this.flushTests= -[]}q(f,a);f.prototype.createTime=function(a){a=a.indexOf("|");if(-1===a)throw Error('marble diagram for time should have a completion marker "|"');return a*f.frameTimeFactor};f.prototype.createColdObservable=function(a,b,d){if(-1!==a.indexOf("^"))throw Error('cold observable cannot have subscription offset "^"');if(-1!==a.indexOf("!"))throw Error('cold observable cannot have unsubscription marker "!"');a=f.parseMarbles(a,b,d);a=new c.ColdObservable(a,this);this.coldObservables.push(a);return a};f.prototype.createHotObservable= +a.zipAll},function(h,f,a){var q=a(128);f.zipAll=function(a){return this.lift(new q.ZipOperator(a))}},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(0),n=a(69),d=a(641),b=a(642),c=a(223),e=a(225);h=function(a){function f(b){a.call(this,e.VirtualAction,750);this.assertDeepEqual=b;this.hotObservables=[];this.coldObservables=[];this.flushTests= +[]}q(f,a);f.prototype.createTime=function(a){a=a.indexOf("|");if(-1===a)throw Error('marble diagram for time should have a completion marker "|"');return a*f.frameTimeFactor};f.prototype.createColdObservable=function(a,b,c){if(-1!==a.indexOf("^"))throw Error('cold observable cannot have subscription offset "^"');if(-1!==a.indexOf("!"))throw Error('cold observable cannot have unsubscription marker "!"');a=f.parseMarbles(a,b,c);a=new d.ColdObservable(a,this);this.coldObservables.push(a);return a};f.prototype.createHotObservable= function(a,c,d){if(-1!==a.indexOf("!"))throw Error('hot observable cannot have unsubscription marker "!"');a=f.parseMarbles(a,c,d);a=new b.HotObservable(a,this);this.hotObservables.push(a);return a};f.prototype.materializeInnerObservable=function(a,b){var c=this,d=[];a.subscribe(function(a){d.push({frame:c.frame-b,notification:n.Notification.createNext(a)})},function(a){d.push({frame:c.frame-b,notification:n.Notification.createError(a)})},function(){d.push({frame:c.frame-b,notification:n.Notification.createComplete()})}); return d};f.prototype.expectObservable=function(a,b){var c=this;void 0===b&&(b=null);var d=[],e={actual:d,ready:!1};b=f.parseMarblesAsSubscriptions(b).unsubscribedFrame;var g;this.schedule(function(){g=a.subscribe(function(a){var b=a;a instanceof p.Observable&&(b=c.materializeInnerObservable(b,c.frame));d.push({frame:c.frame,notification:n.Notification.createNext(b)})},function(a){d.push({frame:c.frame,notification:n.Notification.createError(a)})},function(){d.push({frame:c.frame,notification:n.Notification.createComplete()})})}, 0);b!==Number.POSITIVE_INFINITY&&this.schedule(function(){return g.unsubscribe()},b);this.flushTests.push(e);return{toBe:function(a,b,c){e.ready=!0;e.expected=f.parseMarbles(a,b,c,!0)}}};f.prototype.expectSubscriptions=function(a){var b={actual:a,ready:!1};this.flushTests.push(b);return{toBe:function(a){a="string"===typeof a?[a]:a;b.ready=!0;b.expected=a.map(function(a){return f.parseMarblesAsSubscriptions(a)})}}};f.prototype.flush=function(){for(var b=this.hotObservables;0<b.length;)b.shift().setup(); -a.prototype.flush.call(this);for(b=this.flushTests.filter(function(a){return a.ready});0<b.length;){var c=b.shift();this.assertDeepEqual(c.actual,c.expected)}};f.parseMarblesAsSubscriptions=function(a){if("string"!==typeof a)return new d.SubscriptionLog(Number.POSITIVE_INFINITY);for(var b=a.length,c=-1,e=Number.POSITIVE_INFINITY,f=Number.POSITIVE_INFINITY,g=0;g<b;g++){var h=g*this.frameTimeFactor,k=a[g];switch(k){case "-":case " ":break;case "(":c=h;break;case ")":c=-1;break;case "^":if(e!==Number.POSITIVE_INFINITY)throw Error("found a second subscription point '^' in a subscription marble diagram. There can only be one."); -e=-1<c?c:h;break;case "!":if(f!==Number.POSITIVE_INFINITY)throw Error("found a second subscription point '^' in a subscription marble diagram. There can only be one.");f=-1<c?c:h;break;default:throw Error("there can only be '^' and '!' markers in a subscription marble diagram. Found instead '"+k+"'.");}}return 0>f?new d.SubscriptionLog(e):new d.SubscriptionLog(e,f)};f.parseMarbles=function(a,b,d,e){void 0===e&&(e=!1);if(-1!==a.indexOf("!"))throw Error('conventional marble diagrams cannot have the unsubscription marker "!"'); -var f=a.length,g=[],h=a.indexOf("^");h=-1===h?0:h*-this.frameTimeFactor;for(var k="object"!==typeof b?function(a){return a}:function(a){return e&&b[a]instanceof c.ColdObservable?b[a].messages:b[a]},l=-1,m=0;m<f;m++){var q=m*this.frameTimeFactor+h,p=void 0,r=a[m];switch(r){case "-":case " ":break;case "(":l=q;break;case ")":l=-1;break;case "|":p=n.Notification.createComplete();break;case "^":break;case "#":p=n.Notification.createError(d||"error");break;default:p=n.Notification.createNext(k(r))}p&& -g.push({frame:-1<l?l:q,notification:p})}return g};return f}(e.VirtualTimeScheduler);f.TestScheduler=h},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(0),n=a(11);h=a(222);a=a(224);p=function(a){function b(b,c){a.call(this,function(a){var b=this,c=b.logSubscribedFrame();a.add(new n.Subscription(function(){b.logUnsubscribedFrame(c)}));b.scheduleMessages(a); -return a});this.messages=b;this.subscriptions=[];this.scheduler=c}q(b,a);b.prototype.scheduleMessages=function(a){for(var b=this.messages.length,c=0;c<b;c++){var d=this.messages[c];a.add(this.scheduler.schedule(function(a){a.message.notification.observe(a.subscriber)},d.frame,{message:d,subscriber:a}))}};return b}(p.Observable);f.ColdObservable=p;a.applyMixins(p,[h.SubscriptionLoggable])},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&& -(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(12),n=a(11);h=a(222);a=a(224);p=function(a){function b(b,c){a.call(this);this.messages=b;this.subscriptions=[];this.scheduler=c}q(b,a);b.prototype._subscribe=function(b){var c=this,d=c.logSubscribedFrame();b.add(new n.Subscription(function(){c.logUnsubscribedFrame(d)}));return a.prototype._subscribe.call(this,b)};b.prototype.setup=function(){for(var a=this,b=a.messages.length,c=0;c<b;c++)(function(){var b=a.messages[c]; -a.scheduler.schedule(function(){b.notification.observe(a)},b.frame)})()};return b}(p.Subject);f.HotObservable=p;a.applyMixins(p,[h.SubscriptionLoggable])},function(h,f,a){h=a(644);a=a(646);f.animationFrame=new a.AnimationFrameScheduler(h.AnimationFrameAction)},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(69);var p=a(645);a=function(a){function c(b, -c){a.call(this,b,c);this.scheduler=b;this.work=c}q(c,a);c.prototype.requestAsyncId=function(b,c,e){void 0===e&&(e=0);if(null!==e&&0<e)return a.prototype.requestAsyncId.call(this,b,c,e);b.actions.push(this);return b.scheduled||(b.scheduled=p.AnimationFrame.requestAnimationFrame(b.flush.bind(b,null)))};c.prototype.recycleAsyncId=function(b,c,e){void 0===e&&(e=0);if(null!==e&&0<e||null===e&&0<this.delay)return a.prototype.recycleAsyncId.call(this,b,c,e);0===b.actions.length&&(p.AnimationFrame.cancelAnimationFrame(c), -b.scheduled=void 0)};return c}(h.AsyncAction);f.AnimationFrameAction=a},function(h,f,a){h=a(16);a=function(){return function(a){a.requestAnimationFrame?(this.cancelAnimationFrame=a.cancelAnimationFrame.bind(a),this.requestAnimationFrame=a.requestAnimationFrame.bind(a)):a.mozRequestAnimationFrame?(this.cancelAnimationFrame=a.mozCancelAnimationFrame.bind(a),this.requestAnimationFrame=a.mozRequestAnimationFrame.bind(a)):a.webkitRequestAnimationFrame?(this.cancelAnimationFrame=a.webkitCancelAnimationFrame.bind(a), +a.prototype.flush.call(this);for(b=this.flushTests.filter(function(a){return a.ready});0<b.length;){var c=b.shift();this.assertDeepEqual(c.actual,c.expected)}};f.parseMarblesAsSubscriptions=function(a){if("string"!==typeof a)return new c.SubscriptionLog(Number.POSITIVE_INFINITY);for(var b=a.length,d=-1,e=Number.POSITIVE_INFINITY,f=Number.POSITIVE_INFINITY,g=0;g<b;g++){var h=g*this.frameTimeFactor,k=a[g];switch(k){case "-":case " ":break;case "(":d=h;break;case ")":d=-1;break;case "^":if(e!==Number.POSITIVE_INFINITY)throw Error("found a second subscription point '^' in a subscription marble diagram. There can only be one."); +e=-1<d?d:h;break;case "!":if(f!==Number.POSITIVE_INFINITY)throw Error("found a second subscription point '^' in a subscription marble diagram. There can only be one.");f=-1<d?d:h;break;default:throw Error("there can only be '^' and '!' markers in a subscription marble diagram. Found instead '"+k+"'.");}}return 0>f?new c.SubscriptionLog(e):new c.SubscriptionLog(e,f)};f.parseMarbles=function(a,b,c,e){void 0===e&&(e=!1);if(-1!==a.indexOf("!"))throw Error('conventional marble diagrams cannot have the unsubscription marker "!"'); +var f=a.length,g=[],h=a.indexOf("^");h=-1===h?0:h*-this.frameTimeFactor;for(var k="object"!==typeof b?function(a){return a}:function(a){return e&&b[a]instanceof d.ColdObservable?b[a].messages:b[a]},l=-1,m=0;m<f;m++){var q=m*this.frameTimeFactor+h,p=void 0,r=a[m];switch(r){case "-":case " ":break;case "(":l=q;break;case ")":l=-1;break;case "|":p=n.Notification.createComplete();break;case "^":break;case "#":p=n.Notification.createError(c||"error");break;default:p=n.Notification.createNext(k(r))}p&& +g.push({frame:-1<l?l:q,notification:p})}return g};return f}(e.VirtualTimeScheduler);f.TestScheduler=h},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(0),n=a(11);h=a(222);a=a(224);p=function(a){function b(b,d){a.call(this,function(a){var b=this,c=b.logSubscribedFrame();a.add(new n.Subscription(function(){b.logUnsubscribedFrame(c)}));b.scheduleMessages(a); +return a});this.messages=b;this.subscriptions=[];this.scheduler=d}q(b,a);b.prototype.scheduleMessages=function(a){for(var b=this.messages.length,c=0;c<b;c++){var d=this.messages[c];a.add(this.scheduler.schedule(function(a){a.message.notification.observe(a.subscriber)},d.frame,{message:d,subscriber:a}))}};return b}(p.Observable);f.ColdObservable=p;a.applyMixins(p,[h.SubscriptionLoggable])},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&& +(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(12),n=a(11);h=a(222);a=a(224);p=function(a){function b(b,d){a.call(this);this.messages=b;this.subscriptions=[];this.scheduler=d}q(b,a);b.prototype._subscribe=function(b){var c=this,d=c.logSubscribedFrame();b.add(new n.Subscription(function(){c.logUnsubscribedFrame(d)}));return a.prototype._subscribe.call(this,b)};b.prototype.setup=function(){for(var a=this,b=a.messages.length,d=0;d<b;d++)(function(){var b=a.messages[d]; +a.scheduler.schedule(function(){b.notification.observe(a)},b.frame)})()};return b}(p.Subject);f.HotObservable=p;a.applyMixins(p,[h.SubscriptionLoggable])},function(h,f,a){h=a(644);a=a(646);f.animationFrame=new a.AnimationFrameScheduler(h.AnimationFrameAction)},function(h,f,a){var q=this&&this.__extends||function(a,d){function b(){this.constructor=a}for(var c in d)d.hasOwnProperty(c)&&(a[c]=d[c]);a.prototype=null===d?Object.create(d):(b.prototype=d.prototype,new b)};h=a(70);var p=a(645);a=function(a){function d(b, +c){a.call(this,b,c);this.scheduler=b;this.work=c}q(d,a);d.prototype.requestAsyncId=function(b,c,d){void 0===d&&(d=0);if(null!==d&&0<d)return a.prototype.requestAsyncId.call(this,b,c,d);b.actions.push(this);return b.scheduled||(b.scheduled=p.AnimationFrame.requestAnimationFrame(b.flush.bind(b,null)))};d.prototype.recycleAsyncId=function(b,c,d){void 0===d&&(d=0);if(null!==d&&0<d||null===d&&0<this.delay)return a.prototype.recycleAsyncId.call(this,b,c,d);0===b.actions.length&&(p.AnimationFrame.cancelAnimationFrame(c), +b.scheduled=void 0)};return d}(h.AsyncAction);f.AnimationFrameAction=a},function(h,f,a){h=a(16);a=function(){return function(a){a.requestAnimationFrame?(this.cancelAnimationFrame=a.cancelAnimationFrame.bind(a),this.requestAnimationFrame=a.requestAnimationFrame.bind(a)):a.mozRequestAnimationFrame?(this.cancelAnimationFrame=a.mozCancelAnimationFrame.bind(a),this.requestAnimationFrame=a.mozRequestAnimationFrame.bind(a)):a.webkitRequestAnimationFrame?(this.cancelAnimationFrame=a.webkitCancelAnimationFrame.bind(a), this.requestAnimationFrame=a.webkitRequestAnimationFrame.bind(a)):a.msRequestAnimationFrame?(this.cancelAnimationFrame=a.msCancelAnimationFrame.bind(a),this.requestAnimationFrame=a.msRequestAnimationFrame.bind(a)):a.oRequestAnimationFrame?(this.cancelAnimationFrame=a.oCancelAnimationFrame.bind(a),this.requestAnimationFrame=a.oRequestAnimationFrame.bind(a)):(this.cancelAnimationFrame=a.clearTimeout.bind(a),this.requestAnimationFrame=function(f){return a.setTimeout(f,1E3/60)})}}();f.RequestAnimationFrameDefinition= -a;f.AnimationFrame=new a(h.root)},function(h,f,a){var q=this&&this.__extends||function(a,f){function c(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(c.prototype=f.prototype,new c)};h=function(a){function f(){a.apply(this,arguments)}q(f,a);f.prototype.flush=function(a){this.active=!0;this.scheduled=void 0;var b=this.actions,c,e=-1,f=b.length;a=a||b.shift();do if(c=a.execute(a.state,a.delay))break;while(++e<f&&(a=b.shift()));this.active= -!1;if(c){for(;++e<f&&(a=b.shift());)a.unsubscribe();throw c;}};return f}(a(70).AsyncScheduler);f.AnimationFrameScheduler=h},function(h,f,a){h=a(0);a.n(h);h.Observable.prototype.notNull=function(){return this.filter(function(a){return!!a}).map(function(a){return a})};h.Observable.prototype.unseen=function(a){$jscomp.initSymbol();var f=Symbol("marker");return this.filter(function(h){return!(a?a(h):h)[f]}).map(function(h){(a?a(h):h)[f]=!0;return h})};h.Observable.prototype.ofType=function(a){return this.filter(function(f){return f instanceof +a;f.AnimationFrame=new a(h.root)},function(h,f,a){var q=this&&this.__extends||function(a,f){function d(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(d.prototype=f.prototype,new d)};h=function(a){function f(){a.apply(this,arguments)}q(f,a);f.prototype.flush=function(a){this.active=!0;this.scheduled=void 0;var b=this.actions,c,d=-1,f=b.length;a=a||b.shift();do if(c=a.execute(a.state,a.delay))break;while(++d<f&&(a=b.shift()));this.active= +!1;if(c){for(;++d<f&&(a=b.shift());)a.unsubscribe();throw c;}};return f}(a(71).AsyncScheduler);f.AnimationFrameScheduler=h},function(h,f,a){h=a(0);a.n(h);h.Observable.prototype.notNull=function(){return this.filter(function(a){return!!a}).map(function(a){return a})};h.Observable.prototype.unseen=function(a){$jscomp.initSymbol();var f=Symbol("marker");return this.filter(function(h){return!(a?a(h):h)[f]}).map(function(h){(a?a(h):h)[f]=!0;return h})};h.Observable.prototype.ofType=function(a){return this.filter(function(f){return f instanceof a}).map(function(a){return a})}}])});