@ixon-cdk/simulator 1.30.0 → 1.31.0-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-4SCBSNA6.js → chunk-2FVLXOND.js} +1 -1
- package/dist/{chunk-HGE4ZWB6.js → chunk-ZARYOHEJ.js} +2 -2
- package/dist/features.json +13 -0
- package/dist/i18n/local/en.json +1 -1
- package/dist/i18n/local/nl.json +1 -1
- package/dist/index.html +2 -2
- package/dist/{main-BQXKL756.js → main-V2YZI3OD.js} +6 -5
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{require_jszip_min}from"./chunk-POL6ATNF.js";import{quill_default}from"./chunk-6JQMCSN6.js";import{A11yModule,ACTIVE_RUNTIME_CHECKS,ANIMATION_MODULE_TYPE,APP_CONFIG,APP_INITIALIZER,AUTO_STYLE,Actions,ActionsSubject,ActivatedRoute,AnimationGroupPlayer,AnimationMetadataType,AnonymousSubject,ApplicationRef,AsyncPipe,BackendComponentCallerService,BackendComponentCallerServiceFactory,BackendComponentClient,BackendComponentClientProxyService,BehaviorSubject,BidiModule,BreakpointObserver,Breakpoints,BrowserModule,CdkDrag,CdkDragPlaceholder,CdkDragPreview,CdkDropList,CdkFixedSizeVirtualScroll,CdkMonitorFocus,CdkPortalOutlet,CdkTextareaAutosize,CdkTrapFocus,CdkVirtualForOf,CdkVirtualScrollViewport,ChangeDetectorRef,CommonModule,ComponentFactoryResolver$1,ComponentPortal,ComponentTemplateValidatorService,DEFAULT_CARD_DIMENSIONS,DEFAULT_CBC_INGRESS_URL,DEFAULT_REPORT_DIMENSIONS,DEFAULT_SHEET_DIMENSIONS,DOCUMENT,DateAdapter,DefaultFlexDirective,DefaultLayoutAlignDirective,DefaultLayoutDirective,DefaultLayoutGapDirective,DefaultValueAccessor,DestroyRef,Directionality,DomRendererFactory2,DomSanitizer,DragDropModule,EMPTY,EffectsModule,ElementRef,ErrorHandler,EventEmitter,FlexLayoutModule,FlexModule,FormArray,FormBuilder,FormControl,FormControlDirective,FormControlName,FormGroup,FormGroupDirective,FormGroupName,FormsModule,HTTP_INTERCEPTORS,HostAttributeToken,HttpClient,HttpContext,HttpErrorResponse,HttpHeaders,HttpParams,HttpResponse,INIT,INITIAL_STATE,IXAPI_OPTIONS,InjectionToken,Injector,IterableDiffers,IxApi2RequestErrorMessages,IxApiErrorMessages,IxApiErrors,IxApiHeaderKeys,IxApiModule,IxApiRequestErrorMessages,IxApiRequestErrors,IxApiService,LayoutModule,Location,LowerCasePipe,MAT_BOTTOM_SHEET_DATA,MAT_DATE_FORMATS,MAT_DATE_LOCALE,MAT_DIALOG_DATA,MAT_INPUT_VALUE_ACCESSOR,MatActionList,MatBottomSheet,MatBottomSheetRef,MatButton,MatButtonModule,MatButtonToggle,MatButtonToggleGroup,MatButtonToggleModule,MatCard,MatCardActions,MatCardHeader,MatCardModule,MatCardSubtitle,MatCardTitle,MatCheckbox,MatCheckboxModule,MatChipGrid,MatChipInput,MatChipsModule,MatDatepicker,MatDatepickerInput,MatDatepickerModule,MatDatepickerToggle,MatDialog,MatDialogActions,MatDialogClose,MatDialogContainer,MatDialogContent,MatDialogModule,MatDialogRef,MatDialogTitle,MatDivider,MatDividerModule,MatDrawer,MatDrawerContainer,MatDrawerContent,MatError,MatExpansionPanel,MatFormField,MatFormFieldModule,MatHint,MatIcon,MatIconButton,MatIconModule,MatIconRegistry,MatInput,MatInputModule,MatLabel,MatList,MatListItem,MatListItemIcon,MatListItemLine,MatListItemMeta,MatListItemTitle,MatListModule,MatListOption,MatListSubheaderCssMatStyler,MatMenu,MatMenuItem,MatMenuModule,MatMenuTrigger,MatOptgroup,MatOption,MatOptionModule,MatPaginatorModule,MatPrefix,MatProgressSpinner,MatSelect,MatSelectModule,MatSelectTrigger,MatSelectionList,MatSidenavModule,MatSnackBar,MatSnackBarModule,MatSuffix,MatTab,MatTabGroup,MatTabsModule,MatToolbar,MatToolbarModule,MatTooltip,MatTooltipModule,MaxValidator,MediaObserver,Meta,MinValidator,MtxPopoverModule,NG_VALIDATORS,NG_VALUE_ACCESSOR,NavigationCancel,NavigationEnd,NavigationError,NavigationStart,NgControl,NgControlStatus,NgControlStatusGroup,NgForOf,NgIf,NgModel,NgSelectOption,NgStyle,NgTemplateOutlet,NgZone,NoopAnimationPlayer,NumberValueAccessor,ONE_WEEK,OTP_SMS_REQUIRED_PATTERN,Observable,Overlay,OverlayConfig,OverlayModule,PAGE_COMPONENT,PLATFORM_ID,PageComponentTemplateManifestModule,PageComponentTemplateModule,PageComponentTemplateService,Platform,PortalModule,REQUIRES_ACCESS_TOKEN,REQUIRES_AUTH_TOKEN,REQUIRES_BRANDING,REQUIRES_COMPANY,ReactiveFormsModule,ReducerManagerDispatcher,ReducerObservable,Renderer2,RendererFactory2,ReplaySubject,RequiredValidator,ResourceDataClient,ResourceDataClientProxyService,ResourceDataServiceFactory,Router,RouterLink,RouterModule,RouterOutlet,RoutesRecognized,RuntimeError,SESSION_STORAGE,STORAGE_KEY_CBC_CONFIG_VALUES,STORAGE_KEY_CBC_INGRESS,STORAGE_KEY_CBC_INGRESS_URL,STORAGE_KEY_CBC_PUBLIC_ID,ScannedActionsSubject,ScrollingModule,SecurityContext,SelectControlValueAccessor,SelectionModel,SettingsModule,SharedModule,StateObservable,StorageEventContext,StorageModule,StorageService,Store,StoreModule,Subject,Subscriber,Subscription,TREE_KEY_MANAGER,TemplateRef,Title,TitleCasePipe,TranslateDirective,TranslateLoader,TranslateModule,TranslatePipe,TranslateService,UPDATE,USER_PROVIDED_EFFECTS,Validators,ViewContainerRef,ViewportRuler,WA_WINDOW,WINDOW,_animationsDisabled,_getFocusedElementPierceShadowDom,add,addFailure,addSuccess,afterNextRender,appConfigFactory,booleanAttribute,buffer,buildFields,catchError,coerceBooleanProperty,coerceNumberProperty,coerceObservable,coerceStringArray,combineLatest,compactFields,computed,concat,concatMap,createAction,createEffect,createEntityAdapter,createFeature,createFeatureSelector,createReducer,createResourceAdapter,createResourceSelectorFactory,createSelector,debounceTime,decryptValue,defaultOptions,defer,delay,delayWhen,didAdd,didAddList,didRemove,didRemoveList,didUpdate,didUpdateList,distinctUntilChanged,effect,ensureAll,ensureMany,ensureOne,environment,filter,finalize,findAppId,first,firstValueFrom,forkJoin,forwardRef,from,fromEvent,getLinkMap,getLinkUrl,getMissingFields,getPageParams,hasFields,hasModifierKey,hasNonPublicIdFields,haveFields,inject,input,isDataSource,isDevMode,isNgrxMockEnvironment,isObservable,isPlatformBrowser,isPlatformServer,last,lastValueFrom,linkedSignal,loadAllForIntentSuccess,loadAllSuccess,loadAppConfig,loadHost,loadHostFailure,loadHostSuccess,loadManySuccess,makeEnvironmentProviders,map,mapPageComponentTemplateManifestToDefaultInputs,mapPageComponentTemplateToCustomElementName,mapPageComponentTemplateToTemplateBaseUrl,mapPageComponentTemplateToTemplateUrl,mapResourceToSubResourceList,mapTemplateUrlToMainPath,mapTemplateUrlToManifestUrl,mapTemplateUrlToPublicId,merge,mergeFields,mergeLoadedFields,mergeMap,moveItemInArray,mustache_default,naturalSort,normalizePassiveListenerOptions,numberAttribute,observeOn,of,ofStatus,ofType,omitLoadedFields,omitSubresources,on,output,pairwise,parseBody,platformBrowser,props,provideEnvironmentInitializer,provideHttpClient,provideZoneChangeDetection,queueScheduler,reduce,remove,removeFailure,removeSuccess,require_crypto_js,reset,reset2,reset3,resetPendingUpdates,resource,retryBackoff,scan,select,selectAll,selectEntities,selectEntities2,selectEntity,selectEntity2,sequence,share,shareReplay,signal,skip,sortByNameAndPublicIdComparer,startWith,style,switchMap,take,takeUntil,takeUntilDestroyed,tap,throwError,throwNotFoundError,timeout,timer,toObservable,toSignal,untracked,update,updateFailure,updateMany,updateManyFailure,updateManySuccess,updateResource,updateSuccess,validateOptions,viewChild,whileMoreAfter,withFetch,withInterceptorsFromDi,withLatestFrom,ɵNgNoValidate,ɵNgSelectMultipleOption,ɵPRE_STYLE,ɵɵInheritDefinitionFeature,ɵɵNgOnChangesFeature,ɵɵProvidersFeature,ɵɵadvance,ɵɵattribute,ɵɵclassMap,ɵɵclassProp,ɵɵconditional,ɵɵconditionalCreate,ɵɵcontentQuery,ɵɵdeclareLet,ɵɵdefineComponent,ɵɵdefineDirective,ɵɵdefineInjectable,ɵɵdefineInjector,ɵɵdefineNgModule,ɵɵdefinePipe,ɵɵdirectiveInject,ɵɵdomElement,ɵɵdomElementEnd,ɵɵdomElementStart,ɵɵdomListener,ɵɵdomProperty,ɵɵelement,ɵɵelementContainer,ɵɵelementContainerEnd,ɵɵelementContainerStart,ɵɵelementEnd,ɵɵelementStart,ɵɵgetCurrentView,ɵɵgetInheritedFactory,ɵɵinject,ɵɵinterpolate,ɵɵinterpolate1,ɵɵlistener,ɵɵloadQuery,ɵɵnamespaceHTML,ɵɵnamespaceSVG,ɵɵnextContext,ɵɵpipe,ɵɵpipeBind1,ɵɵpipeBind2,ɵɵpipeBind3,ɵɵprojection,ɵɵprojectionDef,ɵɵproperty,ɵɵpureFunction0,ɵɵpureFunction1,ɵɵqueryAdvance,ɵɵqueryRefresh,ɵɵreadContextLet,ɵɵreference,ɵɵrepeater,ɵɵrepeaterCreate,ɵɵrepeaterTrackByIdentity,ɵɵrepeaterTrackByIndex,ɵɵresetView,ɵɵresolveDocument,ɵɵresolveWindow,ɵɵrestoreView,ɵɵsanitizeHtml,ɵɵsanitizeUrl,ɵɵstoreLet,ɵɵstyleMap,ɵɵstyleProp,ɵɵtemplate,ɵɵtemplateRefExtractor,ɵɵtext,ɵɵtextInterpolate,ɵɵtextInterpolate1,ɵɵtextInterpolate2,ɵɵtextInterpolate3,ɵɵtwoWayBindingSet,ɵɵtwoWayListener,ɵɵtwoWayProperty,ɵɵviewQuery,ɵɵviewQuerySignal}from"./chunk-HGE4ZWB6.js";import{camelCase_default,capitalize_default,chunk_default,cloneDeep_default,compact_default,deburr_default,escape_default,flatMap_default,flatten_default,get_default,groupBy_default,has_default,isArray_default,isEmpty_default,isEqual_default,isNil_default,isNumber_default,isObject_default,isString_default,isUndefined_default,kebabCase_default,memoize_default,merge_default,omitBy_default,omit_default,orderBy_default,pick_default,range_default,set_default,snakeCase_default,sortBy_default,startCase_default,template_default,uniqBy_default,uniq_default,upperFirst_default}from"./chunk-J4YOB4GK.js";import{__async,__commonJS,__export,__objRest,__require,__spreadProps,__spreadValues,__superGet,__toESM,__yieldStar}from"./chunk-3QVXQNFX.js";var require_FileSaver_min=__commonJS({"node_modules/file-saver/dist/FileSaver.min.js"(exports,module){(function(a,b){typeof define=="function"&&define.amd?define([],b):typeof exports<"u"?b():(b(),a.FileSaver={})})(exports,function(){"use strict";function b(a2,b2){return typeof b2>"u"?b2={autoBom:!1}:typeof b2!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),b2={autoBom:!b2}),b2.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(a2.type)?new Blob(["\uFEFF",a2],{type:a2.type}):a2}function c(a2,b2,c2){var d2=new XMLHttpRequest;d2.open("GET",a2),d2.responseType="blob",d2.onload=function(){g(d2.response,b2,c2)},d2.onerror=function(){console.error("could not download file")},d2.send()}function d(a2){var b2=new XMLHttpRequest;b2.open("HEAD",a2,!1);try{b2.send()}catch(a3){}return 200<=b2.status&&299>=b2.status}function e(a2){try{a2.dispatchEvent(new MouseEvent("click"))}catch(c2){var b2=document.createEvent("MouseEvents");b2.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),a2.dispatchEvent(b2)}}var f=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof global=="object"&&global.global===global?global:void 0,a=f.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),g=f.saveAs||(typeof window!="object"||window!==f?function(){}:"download"in HTMLAnchorElement.prototype&&!a?function(b2,g2,h){var i=f.URL||f.webkitURL,j=document.createElement("a");g2=g2||b2.name||"download",j.download=g2,j.rel="noopener",typeof b2=="string"?(j.href=b2,j.origin===location.origin?e(j):d(j.href)?c(b2,g2,h):e(j,j.target="_blank")):(j.href=i.createObjectURL(b2),setTimeout(function(){i.revokeObjectURL(j.href)},4e4),setTimeout(function(){e(j)},0))}:"msSaveOrOpenBlob"in navigator?function(f2,g2,h){if(g2=g2||f2.name||"download",typeof f2!="string")navigator.msSaveOrOpenBlob(b(f2,h),g2);else if(d(f2))c(f2,g2,h);else{var i=document.createElement("a");i.href=f2,i.target="_blank",setTimeout(function(){e(i)})}}:function(b2,d2,e2,g2){if(g2=g2||open("","_blank"),g2&&(g2.document.title=g2.document.body.innerText="downloading..."),typeof b2=="string")return c(b2,d2,e2);var h=b2.type==="application/octet-stream",i=/constructor/i.test(f.HTMLElement)||f.safari,j=/CriOS\/[\d]+/.test(navigator.userAgent);if((j||h&&i||a)&&typeof FileReader<"u"){var k=new FileReader;k.onloadend=function(){var a2=k.result;a2=j?a2:a2.replace(/^data:[^;]*;/,"data:attachment/file;"),g2?g2.location.href=a2:location=a2,g2=null},k.readAsDataURL(b2)}else{var l2=f.URL||f.webkitURL,m=l2.createObjectURL(b2);g2?g2.location=m:location.href=m,g2=null,setTimeout(function(){l2.revokeObjectURL(m)},4e4)}});f.saveAs=g.saveAs=g,typeof module<"u"&&(module.exports=g)})}});var require_ua_parser=__commonJS({"node_modules/ua-parser-js/src/ua-parser.js"(exports,module){(function(window2,undefined2){"use strict";var LIBVERSION="1.0.41",EMPTY2="",UNKNOWN="?",FUNC_TYPE="function",UNDEF_TYPE="undefined",OBJ_TYPE="object",STR_TYPE="string",MAJOR="major",MODEL="model",NAME="name",TYPE="type",VENDOR="vendor",VERSION2="version",ARCHITECTURE="architecture",CONSOLE="console",MOBILE="mobile",TABLET="tablet",SMARTTV="smarttv",WEARABLE="wearable",EMBEDDED="embedded",UA_MAX_LENGTH=500,AMAZON="Amazon",APPLE="Apple",ASUS="ASUS",BLACKBERRY="BlackBerry",BROWSER="Browser",CHROME="Chrome",EDGE="Edge",FIREFOX="Firefox",GOOGLE="Google",HONOR="Honor",HUAWEI="Huawei",LENOVO="Lenovo",LG="LG",MICROSOFT="Microsoft",MOTOROLA="Motorola",NVIDIA="Nvidia",ONEPLUS="OnePlus",OPERA="Opera",OPPO="OPPO",SAMSUNG="Samsung",SHARP="Sharp",SONY="Sony",XIAOMI="Xiaomi",ZEBRA="Zebra",FACEBOOK="Facebook",CHROMIUM_OS="Chromium OS",MAC_OS="Mac OS",SUFFIX_BROWSER=" Browser",extend3=function(regexes2,extensions){var mergedRegexes={};for(var i in regexes2)extensions[i]&&extensions[i].length%2===0?mergedRegexes[i]=extensions[i].concat(regexes2[i]):mergedRegexes[i]=regexes2[i];return mergedRegexes},enumerize=function(arr){for(var enums={},i=0;i<arr.length;i++)enums[arr[i].toUpperCase()]=arr[i];return enums},has2=function(str1,str2){return typeof str1===STR_TYPE?lowerize(str2).indexOf(lowerize(str1))!==-1:!1},lowerize=function(str){return str.toLowerCase()},majorize=function(version2){return typeof version2===STR_TYPE?version2.replace(/[^\d\.]/g,EMPTY2).split(".")[0]:undefined2},trim=function(str,len){if(typeof str===STR_TYPE)return str=str.replace(/^\s\s*/,EMPTY2),typeof len===UNDEF_TYPE?str:str.substring(0,UA_MAX_LENGTH)},rgxMapper=function(ua,arrays){for(var i=0,j,k,p,q,matches,match3;i<arrays.length&&!matches;){var regex=arrays[i],props2=arrays[i+1];for(j=k=0;j<regex.length&&!matches&®ex[j];)if(matches=regex[j++].exec(ua),matches)for(p=0;p<props2.length;p++)match3=matches[++k],q=props2[p],typeof q===OBJ_TYPE&&q.length>0?q.length===2?typeof q[1]==FUNC_TYPE?this[q[0]]=q[1].call(this,match3):this[q[0]]=q[1]:q.length===3?typeof q[1]===FUNC_TYPE&&!(q[1].exec&&q[1].test)?this[q[0]]=match3?q[1].call(this,match3,q[2]):undefined2:this[q[0]]=match3?match3.replace(q[1],q[2]):undefined2:q.length===4&&(this[q[0]]=match3?q[3].call(this,match3.replace(q[1],q[2])):undefined2):this[q]=match3||undefined2;i+=2}},strMapper=function(str,map4){for(var i in map4)if(typeof map4[i]===OBJ_TYPE&&map4[i].length>0){for(var j=0;j<map4[i].length;j++)if(has2(map4[i][j],str))return i===UNKNOWN?undefined2:i}else if(has2(map4[i],str))return i===UNKNOWN?undefined2:i;return map4.hasOwnProperty("*")?map4["*"]:str},oldSafariMap={"1.0":"/8","1.2":"/1","1.3":"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"},windowsVersionMap={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2","8.1":"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"},regexes={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[VERSION2,[NAME,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[VERSION2,[NAME,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[NAME,VERSION2],[/opios[\/ ]+([\w\.]+)/i],[VERSION2,[NAME,OPERA+" Mini"]],[/\bop(?:rg)?x\/([\w\.]+)/i],[VERSION2,[NAME,OPERA+" GX"]],[/\bopr\/([\w\.]+)/i],[VERSION2,[NAME,OPERA]],[/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i],[VERSION2,[NAME,"Baidu"]],[/\b(?:mxbrowser|mxios|myie2)\/?([-\w\.]*)\b/i],[VERSION2,[NAME,"Maxthon"]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\/ ]?([\w\.]*)/i,/(avant|iemobile|slim(?:browser|boat|jet))[\/ ]?([\d\.]*)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio|(?=comodo_)?dragon)\/([-\w\.]+)/i,/(heytap|ovi|115)browser\/([\d\.]+)/i,/(weibo)__([\d\.]+)/i],[NAME,VERSION2],[/quark(?:pc)?\/([-\w\.]+)/i],[VERSION2,[NAME,"Quark"]],[/\bddg\/([\w\.]+)/i],[VERSION2,[NAME,"DuckDuckGo"]],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[VERSION2,[NAME,"UC"+BROWSER]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i,/micromessenger\/([\w\.]+)/i],[VERSION2,[NAME,"WeChat"]],[/konqueror\/([\w\.]+)/i],[VERSION2,[NAME,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[VERSION2,[NAME,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[VERSION2,[NAME,"Yandex"]],[/slbrowser\/([\w\.]+)/i],[VERSION2,[NAME,"Smart Lenovo "+BROWSER]],[/(avast|avg)\/([\w\.]+)/i],[[NAME,/(.+)/,"$1 Secure "+BROWSER],VERSION2],[/\bfocus\/([\w\.]+)/i],[VERSION2,[NAME,FIREFOX+" Focus"]],[/\bopt\/([\w\.]+)/i],[VERSION2,[NAME,OPERA+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[VERSION2,[NAME,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[VERSION2,[NAME,"Dolphin"]],[/coast\/([\w\.]+)/i],[VERSION2,[NAME,OPERA+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[VERSION2,[NAME,"MIUI"+SUFFIX_BROWSER]],[/fxios\/([\w\.-]+)/i],[VERSION2,[NAME,FIREFOX]],[/\bqihoobrowser\/?([\w\.]*)/i],[VERSION2,[NAME,"360"]],[/\b(qq)\/([\w\.]+)/i],[[NAME,/(.+)/,"$1Browser"],VERSION2],[/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i],[[NAME,/(.+)/,"$1"+SUFFIX_BROWSER],VERSION2],[/samsungbrowser\/([\w\.]+)/i],[VERSION2,[NAME,SAMSUNG+" Internet"]],[/metasr[\/ ]?([\d\.]+)/i],[VERSION2,[NAME,"Sogou Explorer"]],[/(sogou)mo\w+\/([\d\.]+)/i],[[NAME,"Sogou Mobile"],VERSION2],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|2345(?=browser|chrome|explorer))\w*[\/ ]?v?([\w\.]+)/i],[NAME,VERSION2],[/(lbbrowser|rekonq)/i,/\[(linkedin)app\]/i],[NAME],[/ome\/([\w\.]+) \w* ?(iron) saf/i,/ome\/([\w\.]+).+qihu (360)[es]e/i],[VERSION2,NAME],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[NAME,FACEBOOK],VERSION2],[/(Klarna)\/([\w\.]+)/i,/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,/(daum)apps[\/ ]([\w\.]+)/i,/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(alipay)client\/([\w\.]+)/i,/(twitter)(?:and| f.+e\/([\w\.]+))/i,/(chromium|instagram|snapchat)[\/ ]([-\w\.]+)/i],[NAME,VERSION2],[/\bgsa\/([\w\.]+) .*safari\//i],[VERSION2,[NAME,"GSA"]],[/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i],[VERSION2,[NAME,"TikTok"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[VERSION2,[NAME,CHROME+" Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[NAME,CHROME+" WebView"],VERSION2],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[VERSION2,[NAME,"Android "+BROWSER]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[NAME,VERSION2],[/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i],[VERSION2,[NAME,"Mobile Safari"]],[/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i],[VERSION2,NAME],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[NAME,[VERSION2,strMapper,oldSafariMap]],[/(webkit|khtml)\/([\w\.]+)/i],[NAME,VERSION2],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[NAME,"Netscape"],VERSION2],[/(wolvic|librewolf)\/([\w\.]+)/i],[NAME,VERSION2],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[VERSION2,[NAME,FIREFOX+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(amaya|dillo|doris|icab|ladybird|lynx|mosaic|netsurf|obigo|polaris|w3m|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/\b(links) \(([\w\.]+)/i],[NAME,[VERSION2,/_/g,"."]],[/(cobalt)\/([\w\.]+)/i],[NAME,[VERSION2,/master.|lts./,""]]],cpu:[[/\b((amd|x|x86[-_]?|wow|win)64)\b/i],[[ARCHITECTURE,"amd64"]],[/(ia32(?=;))/i,/\b((i[346]|x)86)(pc)?\b/i],[[ARCHITECTURE,"ia32"]],[/\b(aarch64|arm(v?[89]e?l?|_?64))\b/i],[[ARCHITECTURE,"arm64"]],[/\b(arm(v[67])?ht?n?[fl]p?)\b/i],[[ARCHITECTURE,"armhf"]],[/( (ce|mobile); ppc;|\/[\w\.]+arm\b)/i],[[ARCHITECTURE,"arm"]],[/((ppc|powerpc)(64)?)( mac|;|\))/i],[[ARCHITECTURE,/ower/,EMPTY2,lowerize]],[/ sun4\w[;\)]/i],[[ARCHITECTURE,"sparc"]],[/\b(avr32|ia64(?=;)|68k(?=\))|\barm(?=v([1-7]|[5-7]1)l?|;|eabi)|(irix|mips|sparc)(64)?\b|pa-risc)/i],[[ARCHITECTURE,lowerize]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[MODEL,[VENDOR,SAMSUNG],[TYPE,TABLET]],[/\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]((?!sm-[lr])[-\w]+)/i,/sec-(sgh\w+)/i],[MODEL,[VENDOR,SAMSUNG],[TYPE,MOBILE]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[MODEL,[VENDOR,APPLE],[TYPE,MOBILE]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[MODEL,[VENDOR,APPLE],[TYPE,TABLET]],[/(macintosh);/i],[MODEL,[VENDOR,APPLE]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[MODEL,[VENDOR,SHARP],[TYPE,MOBILE]],[/\b((?:brt|eln|hey2?|gdi|jdn)-a?[lnw]09|(?:ag[rm]3?|jdn2|kob2)-a?[lw]0[09]hn)(?: bui|\)|;)/i],[MODEL,[VENDOR,HONOR],[TYPE,TABLET]],[/honor([-\w ]+)[;\)]/i],[MODEL,[VENDOR,HONOR],[TYPE,MOBILE]],[/\b((?:ag[rs][2356]?k?|bah[234]?|bg[2o]|bt[kv]|cmr|cpn|db[ry]2?|jdn2|got|kob2?k?|mon|pce|scm|sht?|[tw]gr|vrd)-[ad]?[lw][0125][09]b?|605hw|bg2-u03|(?:gem|fdr|m2|ple|t1)-[7a]0[1-4][lu]|t1-a2[13][lw]|mediapad[\w\. ]*(?= bui|\)))\b(?!.+d\/s)/i],[MODEL,[VENDOR,HUAWEI],[TYPE,TABLET]],[/(?:huawei)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[MODEL,[VENDOR,HUAWEI],[TYPE,MOBILE]],[/oid[^\)]+; (2[\dbc]{4}(182|283|rp\w{2})[cgl]|m2105k81a?c)(?: bui|\))/i,/\b((?:red)?mi[-_ ]?pad[\w- ]*)(?: bui|\))/i],[[MODEL,/_/g," "],[VENDOR,XIAOMI],[TYPE,TABLET]],[/\b(poco[\w ]+|m2\d{3}j\d\d[a-z]{2})(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/oid[^\)]+; (m?[12][0-389][01]\w{3,6}[c-y])( bui|; wv|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite|pro)?)(?: bui|\))/i,/ ([\w ]+) miui\/v?\d/i],[[MODEL,/_/g," "],[VENDOR,XIAOMI],[TYPE,MOBILE]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[MODEL,[VENDOR,OPPO],[TYPE,MOBILE]],[/\b(opd2(\d{3}a?))(?: bui|\))/i],[MODEL,[VENDOR,strMapper,{OnePlus:["304","403","203"],"*":OPPO}],[TYPE,TABLET]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[MODEL,[VENDOR,"Vivo"],[TYPE,MOBILE]],[/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],[MODEL,[VENDOR,"Realme"],[TYPE,MOBILE]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto(?! 360)[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[MODEL,[VENDOR,MOTOROLA],[TYPE,MOBILE]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[MODEL,[VENDOR,MOTOROLA],[TYPE,TABLET]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[MODEL,[VENDOR,LG],[TYPE,TABLET]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv|watch)\w+)/i,/\blg-?([\d\w]+) bui/i],[MODEL,[VENDOR,LG],[TYPE,MOBILE]],[/(ideatab[-\w ]+|602lv|d-42a|a101lv|a2109a|a3500-hv|s[56]000|pb-6505[my]|tb-?x?\d{3,4}(?:f[cu]|xu|[av])|yt\d?-[jx]?\d+[lfmx])( bui|;|\)|\/)/i,/lenovo ?(b[68]0[08]0-?[hf]?|tab(?:[\w- ]+?)|tb[\w-]{6,7})( bui|;|\)|\/)/i],[MODEL,[VENDOR,LENOVO],[TYPE,TABLET]],[/(nokia) (t[12][01])/i],[VENDOR,MODEL,[TYPE,TABLET]],[/(?:maemo|nokia).*(n900|lumia \d+|rm-\d+)/i,/nokia[-_ ]?(([-\w\. ]*))/i],[[MODEL,/_/g," "],[TYPE,MOBILE],[VENDOR,"Nokia"]],[/(pixel (c|tablet))\b/i],[MODEL,[VENDOR,GOOGLE],[TYPE,TABLET]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[MODEL,[VENDOR,GOOGLE],[TYPE,MOBILE]],[/droid.+; (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[MODEL,[VENDOR,SONY],[TYPE,MOBILE]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[MODEL,"Xperia Tablet"],[VENDOR,SONY],[TYPE,TABLET]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[MODEL,[VENDOR,ONEPLUS],[TYPE,MOBILE]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[MODEL,[VENDOR,AMAZON],[TYPE,TABLET]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[MODEL,/(.+)/g,"Fire Phone $1"],[VENDOR,AMAZON],[TYPE,MOBILE]],[/(playbook);[-\w\),; ]+(rim)/i],[MODEL,VENDOR,[TYPE,TABLET]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[MODEL,[VENDOR,BLACKBERRY],[TYPE,MOBILE]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[MODEL,[VENDOR,ASUS],[TYPE,TABLET]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[MODEL,[VENDOR,ASUS],[TYPE,MOBILE]],[/(nexus 9)/i],[MODEL,[VENDOR,"HTC"],[TYPE,TABLET]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[VENDOR,[MODEL,/_/g," "],[TYPE,MOBILE]],[/droid [\w\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])\w*(\)| bui)/i],[MODEL,[VENDOR,"TCL"],[TYPE,TABLET]],[/(itel) ((\w+))/i],[[VENDOR,lowerize],MODEL,[TYPE,strMapper,{tablet:["p10001l","w7001"],"*":"mobile"}]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[MODEL,[VENDOR,"Acer"],[TYPE,TABLET]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[MODEL,[VENDOR,"Meizu"],[TYPE,MOBILE]],[/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i],[MODEL,[VENDOR,"Ulefone"],[TYPE,MOBILE]],[/; (energy ?\w+)(?: bui|\))/i,/; energizer ([\w ]+)(?: bui|\))/i],[MODEL,[VENDOR,"Energizer"],[TYPE,MOBILE]],[/; cat (b35);/i,/; (b15q?|s22 flip|s48c|s62 pro)(?: bui|\))/i],[MODEL,[VENDOR,"Cat"],[TYPE,MOBILE]],[/((?:new )?andromax[\w- ]+)(?: bui|\))/i],[MODEL,[VENDOR,"Smartfren"],[TYPE,MOBILE]],[/droid.+; (a(?:015|06[35]|142p?))/i],[MODEL,[VENDOR,"Nothing"],[TYPE,MOBILE]],[/; (x67 5g|tikeasy \w+|ac[1789]\d\w+)( b|\))/i,/archos ?(5|gamepad2?|([\w ]*[t1789]|hello) ?\d+[\w ]*)( b|\))/i],[MODEL,[VENDOR,"Archos"],[TYPE,TABLET]],[/archos ([\w ]+)( b|\))/i,/; (ac[3-6]\d\w{2,8})( b|\))/i],[MODEL,[VENDOR,"Archos"],[TYPE,MOBILE]],[/(imo) (tab \w+)/i,/(infinix) (x1101b?)/i],[VENDOR,MODEL,[TYPE,TABLET]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus(?! zenw)|dell|jolla|meizu|motorola|polytron|infinix|tecno|micromax|advan)[-_ ]?([-\w]*)/i,/; (hmd|imo) ([\w ]+?)(?: bui|\))/i,/(hp) ([\w ]+\w)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w ]+?)(?: bui|\)|\/)/i,/(oppo) ?([\w ]+) bui/i],[VENDOR,MODEL,[TYPE,MOBILE]],[/(kobo)\s(ereader|touch)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[VENDOR,MODEL,[TYPE,TABLET]],[/(surface duo)/i],[MODEL,[VENDOR,MICROSOFT],[TYPE,TABLET]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[MODEL,[VENDOR,"Fairphone"],[TYPE,MOBILE]],[/(u304aa)/i],[MODEL,[VENDOR,"AT&T"],[TYPE,MOBILE]],[/\bsie-(\w*)/i],[MODEL,[VENDOR,"Siemens"],[TYPE,MOBILE]],[/\b(rct\w+) b/i],[MODEL,[VENDOR,"RCA"],[TYPE,TABLET]],[/\b(venue[\d ]{2,7}) b/i],[MODEL,[VENDOR,"Dell"],[TYPE,TABLET]],[/\b(q(?:mv|ta)\w+) b/i],[MODEL,[VENDOR,"Verizon"],[TYPE,TABLET]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[MODEL,[VENDOR,"Barnes & Noble"],[TYPE,TABLET]],[/\b(tm\d{3}\w+) b/i],[MODEL,[VENDOR,"NuVision"],[TYPE,TABLET]],[/\b(k88) b/i],[MODEL,[VENDOR,"ZTE"],[TYPE,TABLET]],[/\b(nx\d{3}j) b/i],[MODEL,[VENDOR,"ZTE"],[TYPE,MOBILE]],[/\b(gen\d{3}) b.+49h/i],[MODEL,[VENDOR,"Swiss"],[TYPE,MOBILE]],[/\b(zur\d{3}) b/i],[MODEL,[VENDOR,"Swiss"],[TYPE,TABLET]],[/\b((zeki)?tb.*\b) b/i],[MODEL,[VENDOR,"Zeki"],[TYPE,TABLET]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[VENDOR,"Dragon Touch"],MODEL,[TYPE,TABLET]],[/\b(ns-?\w{0,9}) b/i],[MODEL,[VENDOR,"Insignia"],[TYPE,TABLET]],[/\b((nxa|next)-?\w{0,9}) b/i],[MODEL,[VENDOR,"NextBook"],[TYPE,TABLET]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[VENDOR,"Voice"],MODEL,[TYPE,MOBILE]],[/\b(lvtel\-)?(v1[12]) b/i],[[VENDOR,"LvTel"],MODEL,[TYPE,MOBILE]],[/\b(ph-1) /i],[MODEL,[VENDOR,"Essential"],[TYPE,MOBILE]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[MODEL,[VENDOR,"Envizen"],[TYPE,TABLET]],[/\b(trio[-\w\. ]+) b/i],[MODEL,[VENDOR,"MachSpeed"],[TYPE,TABLET]],[/\btu_(1491) b/i],[MODEL,[VENDOR,"Rotor"],[TYPE,TABLET]],[/((?:tegranote|shield t(?!.+d tv))[\w- ]*?)(?: b|\))/i],[MODEL,[VENDOR,NVIDIA],[TYPE,TABLET]],[/(sprint) (\w+)/i],[VENDOR,MODEL,[TYPE,MOBILE]],[/(kin\.[onetw]{3})/i],[[MODEL,/\./g," "],[VENDOR,MICROSOFT],[TYPE,MOBILE]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[MODEL,[VENDOR,ZEBRA],[TYPE,TABLET]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[MODEL,[VENDOR,ZEBRA],[TYPE,MOBILE]],[/smart-tv.+(samsung)/i],[VENDOR,[TYPE,SMARTTV]],[/hbbtv.+maple;(\d+)/i],[[MODEL,/^/,"SmartTV"],[VENDOR,SAMSUNG],[TYPE,SMARTTV]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[VENDOR,LG],[TYPE,SMARTTV]],[/(apple) ?tv/i],[VENDOR,[MODEL,APPLE+" TV"],[TYPE,SMARTTV]],[/crkey/i],[[MODEL,CHROME+"cast"],[VENDOR,GOOGLE],[TYPE,SMARTTV]],[/droid.+aft(\w+)( bui|\))/i],[MODEL,[VENDOR,AMAZON],[TYPE,SMARTTV]],[/(shield \w+ tv)/i],[MODEL,[VENDOR,NVIDIA],[TYPE,SMARTTV]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[MODEL,[VENDOR,SHARP],[TYPE,SMARTTV]],[/(bravia[\w ]+)( bui|\))/i],[MODEL,[VENDOR,SONY],[TYPE,SMARTTV]],[/(mi(tv|box)-?\w+) bui/i],[MODEL,[VENDOR,XIAOMI],[TYPE,SMARTTV]],[/Hbbtv.*(technisat) (.*);/i],[VENDOR,MODEL,[TYPE,SMARTTV]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[VENDOR,trim],[MODEL,trim],[TYPE,SMARTTV]],[/droid.+; ([\w- ]+) (?:android tv|smart[- ]?tv)/i],[MODEL,[TYPE,SMARTTV]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[TYPE,SMARTTV]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[VENDOR,MODEL,[TYPE,CONSOLE]],[/droid.+; (shield)( bui|\))/i],[MODEL,[VENDOR,NVIDIA],[TYPE,CONSOLE]],[/(playstation \w+)/i],[MODEL,[VENDOR,SONY],[TYPE,CONSOLE]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[MODEL,[VENDOR,MICROSOFT],[TYPE,CONSOLE]],[/\b(sm-[lr]\d\d[0156][fnuw]?s?|gear live)\b/i],[MODEL,[VENDOR,SAMSUNG],[TYPE,WEARABLE]],[/((pebble))app/i,/(asus|google|lg|oppo) ((pixel |zen)?watch[\w ]*)( bui|\))/i],[VENDOR,MODEL,[TYPE,WEARABLE]],[/(ow(?:19|20)?we?[1-3]{1,3})/i],[MODEL,[VENDOR,OPPO],[TYPE,WEARABLE]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[MODEL,[VENDOR,APPLE],[TYPE,WEARABLE]],[/(opwwe\d{3})/i],[MODEL,[VENDOR,ONEPLUS],[TYPE,WEARABLE]],[/(moto 360)/i],[MODEL,[VENDOR,MOTOROLA],[TYPE,WEARABLE]],[/(smartwatch 3)/i],[MODEL,[VENDOR,SONY],[TYPE,WEARABLE]],[/(g watch r)/i],[MODEL,[VENDOR,LG],[TYPE,WEARABLE]],[/droid.+; (wt63?0{2,3})\)/i],[MODEL,[VENDOR,ZEBRA],[TYPE,WEARABLE]],[/droid.+; (glass) \d/i],[MODEL,[VENDOR,GOOGLE],[TYPE,WEARABLE]],[/(pico) (4|neo3(?: link|pro)?)/i],[VENDOR,MODEL,[TYPE,WEARABLE]],[/; (quest( \d| pro)?)/i],[MODEL,[VENDOR,FACEBOOK],[TYPE,WEARABLE]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[VENDOR,[TYPE,EMBEDDED]],[/(aeobc)\b/i],[MODEL,[VENDOR,AMAZON],[TYPE,EMBEDDED]],[/(homepod).+mac os/i],[MODEL,[VENDOR,APPLE],[TYPE,EMBEDDED]],[/windows iot/i],[[TYPE,EMBEDDED]],[/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew).+? mobile safari/i],[MODEL,[TYPE,MOBILE]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[MODEL,[TYPE,TABLET]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[TYPE,TABLET]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[TYPE,MOBILE]],[/droid .+?; ([\w\. -]+)( bui|\))/i],[MODEL,[VENDOR,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[VERSION2,[NAME,EDGE+"HTML"]],[/(arkweb)\/([\w\.]+)/i],[NAME,VERSION2],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[VERSION2,[NAME,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna|servo)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[NAME,VERSION2],[/ladybird\//i],[[NAME,"LibWeb"]],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[VERSION2,NAME]],os:[[/microsoft (windows) (vista|xp)/i],[NAME,VERSION2],[/(windows (?:phone(?: os)?|mobile|iot))[\/ ]?([\d\.\w ]*)/i],[NAME,[VERSION2,strMapper,windowsVersionMap]],[/windows nt 6\.2; (arm)/i,/windows[\/ ]([ntce\d\. ]+\w)(?!.+xbox)/i,/(?:win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[VERSION2,strMapper,windowsVersionMap],[NAME,"Windows"]],[/[adehimnop]{4,7}\b(?:.*os ([\w]+) like mac|; opera)/i,/(?:ios;fbsv\/|iphone.+ios[\/ ])([\d\.]+)/i,/cfnetwork\/.+darwin/i],[[VERSION2,/_/g,"."],[NAME,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[NAME,MAC_OS],[VERSION2,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i],[VERSION2,NAME],[/(ubuntu) ([\w\.]+) like android/i],[[NAME,/(.+)/,"$1 Touch"],VERSION2],[/(android|bada|blackberry|kaios|maemo|meego|openharmony|qnx|rim tablet os|sailfish|series40|symbian|tizen|webos)\w*[-\/; ]?([\d\.]*)/i],[NAME,VERSION2],[/\(bb(10);/i],[VERSION2,[NAME,BLACKBERRY]],[/(?:symbian ?os|symbos|s60(?=;)|series ?60)[-\/ ]?([\w\.]*)/i],[VERSION2,[NAME,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[VERSION2,[NAME,FIREFOX+" OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[VERSION2,[NAME,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[VERSION2,[NAME,"watchOS"]],[/crkey\/([\d\.]+)/i],[VERSION2,[NAME,CHROME+"cast"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[NAME,CHROMIUM_OS],VERSION2],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\/(\d+\.[\w\.]+)/i,/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/(mint)[\/\(\) ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/(hurd|linux)(?: arm\w*| x86\w*| ?)([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[NAME,VERSION2],[/(sunos) ?([\w\.\d]*)/i],[[NAME,"Solaris"],VERSION2],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[NAME,VERSION2]]},UAParser2=function(ua,extensions){if(typeof ua===OBJ_TYPE&&(extensions=ua,ua=undefined2),!(this instanceof UAParser2))return new UAParser2(ua,extensions).getResult();var _navigator=typeof window2!==UNDEF_TYPE&&window2.navigator?window2.navigator:undefined2,_ua=ua||(_navigator&&_navigator.userAgent?_navigator.userAgent:EMPTY2),_uach=_navigator&&_navigator.userAgentData?_navigator.userAgentData:undefined2,_rgxmap=extensions?extend3(regexes,extensions):regexes,_isSelfNav=_navigator&&_navigator.userAgent==_ua;return this.getBrowser=function(){var _browser={};return _browser[NAME]=undefined2,_browser[VERSION2]=undefined2,rgxMapper.call(_browser,_ua,_rgxmap.browser),_browser[MAJOR]=majorize(_browser[VERSION2]),_isSelfNav&&_navigator&&_navigator.brave&&typeof _navigator.brave.isBrave==FUNC_TYPE&&(_browser[NAME]="Brave"),_browser},this.getCPU=function(){var _cpu={};return _cpu[ARCHITECTURE]=undefined2,rgxMapper.call(_cpu,_ua,_rgxmap.cpu),_cpu},this.getDevice=function(){var _device={};return _device[VENDOR]=undefined2,_device[MODEL]=undefined2,_device[TYPE]=undefined2,rgxMapper.call(_device,_ua,_rgxmap.device),_isSelfNav&&!_device[TYPE]&&_uach&&_uach.mobile&&(_device[TYPE]=MOBILE),_isSelfNav&&_device[MODEL]=="Macintosh"&&_navigator&&typeof _navigator.standalone!==UNDEF_TYPE&&_navigator.maxTouchPoints&&_navigator.maxTouchPoints>2&&(_device[MODEL]="iPad",_device[TYPE]=TABLET),_device},this.getEngine=function(){var _engine={};return _engine[NAME]=undefined2,_engine[VERSION2]=undefined2,rgxMapper.call(_engine,_ua,_rgxmap.engine),_engine},this.getOS=function(){var _os={};return _os[NAME]=undefined2,_os[VERSION2]=undefined2,rgxMapper.call(_os,_ua,_rgxmap.os),_isSelfNav&&!_os[NAME]&&_uach&&_uach.platform&&_uach.platform!="Unknown"&&(_os[NAME]=_uach.platform.replace(/chrome os/i,CHROMIUM_OS).replace(/macos/i,MAC_OS)),_os},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return _ua},this.setUA=function(ua2){return _ua=typeof ua2===STR_TYPE&&ua2.length>UA_MAX_LENGTH?trim(ua2,UA_MAX_LENGTH):ua2,this},this.setUA(_ua),this};UAParser2.VERSION=LIBVERSION,UAParser2.BROWSER=enumerize([NAME,VERSION2,MAJOR]),UAParser2.CPU=enumerize([ARCHITECTURE]),UAParser2.DEVICE=enumerize([MODEL,VENDOR,TYPE,CONSOLE,MOBILE,SMARTTV,TABLET,WEARABLE,EMBEDDED]),UAParser2.ENGINE=UAParser2.OS=enumerize([NAME,VERSION2]),typeof exports!==UNDEF_TYPE?(typeof module!==UNDEF_TYPE&&module.exports&&(exports=module.exports=UAParser2),exports.UAParser=UAParser2):typeof define===FUNC_TYPE&&define.amd?define(function(){return UAParser2}):typeof window2!==UNDEF_TYPE&&(window2.UAParser=UAParser2);var $=typeof window2!==UNDEF_TYPE&&(window2.jQuery||window2.Zepto);if($&&!$.ua){var parser=new UAParser2;$.ua=parser.getResult(),$.ua.get=function(){return parser.getUA()},$.ua.set=function(ua){parser.setUA(ua);var result=parser.getResult();for(var prop in result)$.ua[prop]=result[prop]}}})(typeof window=="object"?window:exports)}});var require_dayjs_min=__commonJS({"node_modules/dayjs/dayjs.min.js"(exports,module){(function(t,e){typeof exports=="object"&&typeof module<"u"?module.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs=e()})(exports,function(){"use strict";var t=1e3,e=6e4,n2=36e5,r="millisecond",i="second",s2="minute",u="hour",a="day",o="week",c="month",f="quarter",h="year",d="date",l2="Invalid Date",$=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t2){var e2=["th","st","nd","rd"],n3=t2%100;return"["+t2+(e2[(n3-20)%10]||e2[n3]||e2[0])+"]"}},m=function(t2,e2,n3){var r2=String(t2);return!r2||r2.length>=e2?t2:""+Array(e2+1-r2.length).join(n3)+t2},v={s:m,z:function(t2){var e2=-t2.utcOffset(),n3=Math.abs(e2),r2=Math.floor(n3/60),i2=n3%60;return(e2<=0?"+":"-")+m(r2,2,"0")+":"+m(i2,2,"0")},m:function t2(e2,n3){if(e2.date()<n3.date())return-t2(n3,e2);var r2=12*(n3.year()-e2.year())+(n3.month()-e2.month()),i2=e2.clone().add(r2,c),s3=n3-i2<0,u2=e2.clone().add(r2+(s3?-1:1),c);return+(-(r2+(n3-i2)/(s3?i2-u2:u2-i2))||0)},a:function(t2){return t2<0?Math.ceil(t2)||0:Math.floor(t2)},p:function(t2){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s2,s:i,ms:r,Q:f}[t2]||String(t2||"").toLowerCase().replace(/s$/,"")},u:function(t2){return t2===void 0}},g="en",D={};D[g]=M;var p="$isDayjsObject",S=function(t2){return t2 instanceof _||!(!t2||!t2[p])},w=function t2(e2,n3,r2){var i2;if(!e2)return g;if(typeof e2=="string"){var s3=e2.toLowerCase();D[s3]&&(i2=s3),n3&&(D[s3]=n3,i2=s3);var u2=e2.split("-");if(!i2&&u2.length>1)return t2(u2[0])}else{var a2=e2.name;D[a2]=e2,i2=a2}return!r2&&i2&&(g=i2),i2||!r2&&g},O=function(t2,e2){if(S(t2))return t2.clone();var n3=typeof e2=="object"?e2:{};return n3.date=t2,n3.args=arguments,new _(n3)},b=v;b.l=w,b.i=S,b.w=function(t2,e2){return O(t2,{locale:e2.$L,utc:e2.$u,x:e2.$x,$offset:e2.$offset})};var _=(function(){function M2(t2){this.$L=w(t2.locale,null,!0),this.parse(t2),this.$x=this.$x||t2.x||{},this[p]=!0}var m2=M2.prototype;return m2.parse=function(t2){this.$d=(function(t3){var e2=t3.date,n3=t3.utc;if(e2===null)return new Date(NaN);if(b.u(e2))return new Date;if(e2 instanceof Date)return new Date(e2);if(typeof e2=="string"&&!/Z$/i.test(e2)){var r2=e2.match($);if(r2){var i2=r2[2]-1||0,s3=(r2[7]||"0").substring(0,3);return n3?new Date(Date.UTC(r2[1],i2,r2[3]||1,r2[4]||0,r2[5]||0,r2[6]||0,s3)):new Date(r2[1],i2,r2[3]||1,r2[4]||0,r2[5]||0,r2[6]||0,s3)}}return new Date(e2)})(t2),this.init()},m2.init=function(){var t2=this.$d;this.$y=t2.getFullYear(),this.$M=t2.getMonth(),this.$D=t2.getDate(),this.$W=t2.getDay(),this.$H=t2.getHours(),this.$m=t2.getMinutes(),this.$s=t2.getSeconds(),this.$ms=t2.getMilliseconds()},m2.$utils=function(){return b},m2.isValid=function(){return this.$d.toString()!==l2},m2.isSame=function(t2,e2){var n3=O(t2);return this.startOf(e2)<=n3&&n3<=this.endOf(e2)},m2.isAfter=function(t2,e2){return O(t2)<this.startOf(e2)},m2.isBefore=function(t2,e2){return this.endOf(e2)<O(t2)},m2.$g=function(t2,e2,n3){return b.u(t2)?this[e2]:this.set(n3,t2)},m2.unix=function(){return Math.floor(this.valueOf()/1e3)},m2.valueOf=function(){return this.$d.getTime()},m2.startOf=function(t2,e2){var n3=this,r2=!!b.u(e2)||e2,f2=b.p(t2),l3=function(t3,e3){var i2=b.w(n3.$u?Date.UTC(n3.$y,e3,t3):new Date(n3.$y,e3,t3),n3);return r2?i2:i2.endOf(a)},$2=function(t3,e3){return b.w(n3.toDate()[t3].apply(n3.toDate("s"),(r2?[0,0,0,0]:[23,59,59,999]).slice(e3)),n3)},y2=this.$W,M3=this.$M,m3=this.$D,v2="set"+(this.$u?"UTC":"");switch(f2){case h:return r2?l3(1,0):l3(31,11);case c:return r2?l3(1,M3):l3(0,M3+1);case o:var g2=this.$locale().weekStart||0,D2=(y2<g2?y2+7:y2)-g2;return l3(r2?m3-D2:m3+(6-D2),M3);case a:case d:return $2(v2+"Hours",0);case u:return $2(v2+"Minutes",1);case s2:return $2(v2+"Seconds",2);case i:return $2(v2+"Milliseconds",3);default:return this.clone()}},m2.endOf=function(t2){return this.startOf(t2,!1)},m2.$set=function(t2,e2){var n3,o2=b.p(t2),f2="set"+(this.$u?"UTC":""),l3=(n3={},n3[a]=f2+"Date",n3[d]=f2+"Date",n3[c]=f2+"Month",n3[h]=f2+"FullYear",n3[u]=f2+"Hours",n3[s2]=f2+"Minutes",n3[i]=f2+"Seconds",n3[r]=f2+"Milliseconds",n3)[o2],$2=o2===a?this.$D+(e2-this.$W):e2;if(o2===c||o2===h){var y2=this.clone().set(d,1);y2.$d[l3]($2),y2.init(),this.$d=y2.set(d,Math.min(this.$D,y2.daysInMonth())).$d}else l3&&this.$d[l3]($2);return this.init(),this},m2.set=function(t2,e2){return this.clone().$set(t2,e2)},m2.get=function(t2){return this[b.p(t2)]()},m2.add=function(r2,f2){var d2,l3=this;r2=Number(r2);var $2=b.p(f2),y2=function(t2){var e2=O(l3);return b.w(e2.date(e2.date()+Math.round(t2*r2)),l3)};if($2===c)return this.set(c,this.$M+r2);if($2===h)return this.set(h,this.$y+r2);if($2===a)return y2(1);if($2===o)return y2(7);var M3=(d2={},d2[s2]=e,d2[u]=n2,d2[i]=t,d2)[$2]||1,m3=this.$d.getTime()+r2*M3;return b.w(m3,this)},m2.subtract=function(t2,e2){return this.add(-1*t2,e2)},m2.format=function(t2){var e2=this,n3=this.$locale();if(!this.isValid())return n3.invalidDate||l2;var r2=t2||"YYYY-MM-DDTHH:mm:ssZ",i2=b.z(this),s3=this.$H,u2=this.$m,a2=this.$M,o2=n3.weekdays,c2=n3.months,f2=n3.meridiem,h2=function(t3,n4,i3,s4){return t3&&(t3[n4]||t3(e2,r2))||i3[n4].slice(0,s4)},d2=function(t3){return b.s(s3%12||12,t3,"0")},$2=f2||function(t3,e3,n4){var r3=t3<12?"AM":"PM";return n4?r3.toLowerCase():r3};return r2.replace(y,function(t3,r3){return r3||(function(t4){switch(t4){case"YY":return String(e2.$y).slice(-2);case"YYYY":return b.s(e2.$y,4,"0");case"M":return a2+1;case"MM":return b.s(a2+1,2,"0");case"MMM":return h2(n3.monthsShort,a2,c2,3);case"MMMM":return h2(c2,a2);case"D":return e2.$D;case"DD":return b.s(e2.$D,2,"0");case"d":return String(e2.$W);case"dd":return h2(n3.weekdaysMin,e2.$W,o2,2);case"ddd":return h2(n3.weekdaysShort,e2.$W,o2,3);case"dddd":return o2[e2.$W];case"H":return String(s3);case"HH":return b.s(s3,2,"0");case"h":return d2(1);case"hh":return d2(2);case"a":return $2(s3,u2,!0);case"A":return $2(s3,u2,!1);case"m":return String(u2);case"mm":return b.s(u2,2,"0");case"s":return String(e2.$s);case"ss":return b.s(e2.$s,2,"0");case"SSS":return b.s(e2.$ms,3,"0");case"Z":return i2}return null})(t3)||i2.replace(":","")})},m2.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m2.diff=function(r2,d2,l3){var $2,y2=this,M3=b.p(d2),m3=O(r2),v2=(m3.utcOffset()-this.utcOffset())*e,g2=this-m3,D2=function(){return b.m(y2,m3)};switch(M3){case h:$2=D2()/12;break;case c:$2=D2();break;case f:$2=D2()/3;break;case o:$2=(g2-v2)/6048e5;break;case a:$2=(g2-v2)/864e5;break;case u:$2=g2/n2;break;case s2:$2=g2/e;break;case i:$2=g2/t;break;default:$2=g2}return l3?$2:b.a($2)},m2.daysInMonth=function(){return this.endOf(c).$D},m2.$locale=function(){return D[this.$L]},m2.locale=function(t2,e2){if(!t2)return this.$L;var n3=this.clone(),r2=w(t2,e2,!0);return r2&&(n3.$L=r2),n3},m2.clone=function(){return b.w(this.$d,this)},m2.toDate=function(){return new Date(this.valueOf())},m2.toJSON=function(){return this.isValid()?this.toISOString():null},m2.toISOString=function(){return this.$d.toISOString()},m2.toString=function(){return this.$d.toUTCString()},M2})(),Y=_.prototype;return O.prototype=Y,[["$ms",r],["$s",i],["$m",s2],["$H",u],["$W",a],["$M",c],["$y",h],["$D",d]].forEach(function(t2){Y[t2[1]]=function(e2){return this.$g(e2,t2[0],t2[1])}}),O.extend=function(t2,e2){return t2.$i||(t2(e2,_,O),t2.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t2){return O(1e3*t2)},O.en=D[g],O.Ls=D,O.p={},O})}});var require_localeData=__commonJS({"node_modules/dayjs/plugin/localeData.js"(exports,module){(function(n2,e){typeof exports=="object"&&typeof module<"u"?module.exports=e():typeof define=="function"&&define.amd?define(e):(n2=typeof globalThis<"u"?globalThis:n2||self).dayjs_plugin_localeData=e()})(exports,function(){"use strict";return function(n2,e,t){var r=e.prototype,o=function(n3){return n3&&(n3.indexOf?n3:n3.s)},u=function(n3,e2,t2,r2,u2){var i2=n3.name?n3:n3.$locale(),a2=o(i2[e2]),s3=o(i2[t2]),f=a2||s3.map(function(n4){return n4.slice(0,r2)});if(!u2)return f;var d=i2.weekStart;return f.map(function(n4,e3){return f[(e3+(d||0))%7]})},i=function(){return t.Ls[t.locale()]},a=function(n3,e2){return n3.formats[e2]||(function(n4){return n4.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(n5,e3,t2){return e3||t2.slice(1)})})(n3.formats[e2.toUpperCase()])},s2=function(){var n3=this;return{months:function(e2){return e2?e2.format("MMMM"):u(n3,"months")},monthsShort:function(e2){return e2?e2.format("MMM"):u(n3,"monthsShort","months",3)},firstDayOfWeek:function(){return n3.$locale().weekStart||0},weekdays:function(e2){return e2?e2.format("dddd"):u(n3,"weekdays")},weekdaysMin:function(e2){return e2?e2.format("dd"):u(n3,"weekdaysMin","weekdays",2)},weekdaysShort:function(e2){return e2?e2.format("ddd"):u(n3,"weekdaysShort","weekdays",3)},longDateFormat:function(e2){return a(n3.$locale(),e2)},meridiem:this.$locale().meridiem,ordinal:this.$locale().ordinal}};r.localeData=function(){return s2.bind(this)()},t.localeData=function(){var n3=i();return{firstDayOfWeek:function(){return n3.weekStart||0},weekdays:function(){return t.weekdays()},weekdaysShort:function(){return t.weekdaysShort()},weekdaysMin:function(){return t.weekdaysMin()},months:function(){return t.months()},monthsShort:function(){return t.monthsShort()},longDateFormat:function(e2){return a(n3,e2)},meridiem:n3.meridiem,ordinal:n3.ordinal}},t.months=function(){return u(i(),"months")},t.monthsShort=function(){return u(i(),"monthsShort","months",3)},t.weekdays=function(n3){return u(i(),"weekdays",null,null,n3)},t.weekdaysShort=function(n3){return u(i(),"weekdaysShort","weekdays",3,n3)},t.weekdaysMin=function(n3){return u(i(),"weekdaysMin","weekdays",2,n3)}}})}});var require_localizedFormat=__commonJS({"node_modules/dayjs/plugin/localizedFormat.js"(exports,module){(function(e,t){typeof exports=="object"&&typeof module<"u"?module.exports=t():typeof define=="function"&&define.amd?define(t):(e=typeof globalThis<"u"?globalThis:e||self).dayjs_plugin_localizedFormat=t()})(exports,function(){"use strict";var e={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};return function(t,o,n2){var r=o.prototype,i=r.format;n2.en.formats=e,r.format=function(t2){t2===void 0&&(t2="YYYY-MM-DDTHH:mm:ssZ");var o2=this.$locale().formats,n3=(function(t3,o3){return t3.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(t4,n4,r2){var i2=r2&&r2.toUpperCase();return n4||o3[r2]||e[r2]||o3[i2].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(e2,t5,o4){return t5||o4.slice(1)})})})(t2,o2===void 0?{}:o2);return i.call(this,n3)}}})}});var require_isoWeek=__commonJS({"node_modules/dayjs/plugin/isoWeek.js"(exports,module){(function(e,t){typeof exports=="object"&&typeof module<"u"?module.exports=t():typeof define=="function"&&define.amd?define(t):(e=typeof globalThis<"u"?globalThis:e||self).dayjs_plugin_isoWeek=t()})(exports,function(){"use strict";var e="day";return function(t,i,s2){var a=function(t2){return t2.add(4-t2.isoWeekday(),e)},d=i.prototype;d.isoWeekYear=function(){return a(this).year()},d.isoWeek=function(t2){if(!this.$utils().u(t2))return this.add(7*(t2-this.isoWeek()),e);var i2,d2,n3,o,r=a(this),u=(i2=this.isoWeekYear(),d2=this.$u,n3=(d2?s2.utc:s2)().year(i2).startOf("year"),o=4-n3.isoWeekday(),n3.isoWeekday()>4&&(o+=7),n3.add(o,e));return r.diff(u,"week")+1},d.isoWeekday=function(e2){return this.$utils().u(e2)?this.day()||7:this.day(this.day()%7?e2:e2-7)};var n2=d.startOf;d.startOf=function(e2,t2){var i2=this.$utils(),s3=!!i2.u(t2)||t2;return i2.p(e2)==="isoweek"?s3?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):n2.bind(this)(e2,t2)}}})}});var require_weekOfYear=__commonJS({"node_modules/dayjs/plugin/weekOfYear.js"(exports,module){(function(e,t){typeof exports=="object"&&typeof module<"u"?module.exports=t():typeof define=="function"&&define.amd?define(t):(e=typeof globalThis<"u"?globalThis:e||self).dayjs_plugin_weekOfYear=t()})(exports,function(){"use strict";var e="week",t="year";return function(i,n2,r){var f=n2.prototype;f.week=function(i2){if(i2===void 0&&(i2=null),i2!==null)return this.add(7*(i2-this.week()),"day");var n3=this.$locale().yearStart||1;if(this.month()===11&&this.date()>25){var f2=r(this).startOf(t).add(1,t).date(n3),s2=r(this).endOf(e);if(f2.isBefore(s2))return 1}var a=r(this).startOf(t).date(n3).startOf(e).subtract(1,"millisecond"),o=this.diff(a,e,!0);return o<0?r(this).startOf("week").week():Math.ceil(o)},f.weeks=function(e2){return e2===void 0&&(e2=null),this.week(e2)}}})}});var require_customParseFormat=__commonJS({"node_modules/dayjs/plugin/customParseFormat.js"(exports,module){(function(e,t){typeof exports=="object"&&typeof module<"u"?module.exports=t():typeof define=="function"&&define.amd?define(t):(e=typeof globalThis<"u"?globalThis:e||self).dayjs_plugin_customParseFormat=t()})(exports,function(){"use strict";var e={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},t=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n2=/\d/,r=/\d\d/,i=/\d\d?/,o=/\d*[^-_:/,()\s\d]+/,s2={},a=function(e2){return(e2=+e2)+(e2>68?1900:2e3)},f=function(e2){return function(t2){this[e2]=+t2}},h=[/[+-]\d\d:?(\d\d)?|Z/,function(e2){(this.zone||(this.zone={})).offset=(function(e3){if(!e3||e3==="Z")return 0;var t2=e3.match(/([+-]|\d\d)/g),n3=60*t2[1]+(+t2[2]||0);return n3===0?0:t2[0]==="+"?-n3:n3})(e2)}],u=function(e2){var t2=s2[e2];return t2&&(t2.indexOf?t2:t2.s.concat(t2.f))},d=function(e2,t2){var n3,r2=s2.meridiem;if(r2){for(var i2=1;i2<=24;i2+=1)if(e2.indexOf(r2(i2,0,t2))>-1){n3=i2>12;break}}else n3=e2===(t2?"pm":"PM");return n3},c={A:[o,function(e2){this.afternoon=d(e2,!1)}],a:[o,function(e2){this.afternoon=d(e2,!0)}],Q:[n2,function(e2){this.month=3*(e2-1)+1}],S:[n2,function(e2){this.milliseconds=100*+e2}],SS:[r,function(e2){this.milliseconds=10*+e2}],SSS:[/\d{3}/,function(e2){this.milliseconds=+e2}],s:[i,f("seconds")],ss:[i,f("seconds")],m:[i,f("minutes")],mm:[i,f("minutes")],H:[i,f("hours")],h:[i,f("hours")],HH:[i,f("hours")],hh:[i,f("hours")],D:[i,f("day")],DD:[r,f("day")],Do:[o,function(e2){var t2=s2.ordinal,n3=e2.match(/\d+/);if(this.day=n3[0],t2)for(var r2=1;r2<=31;r2+=1)t2(r2).replace(/\[|\]/g,"")===e2&&(this.day=r2)}],w:[i,f("week")],ww:[r,f("week")],M:[i,f("month")],MM:[r,f("month")],MMM:[o,function(e2){var t2=u("months"),n3=(u("monthsShort")||t2.map(function(e3){return e3.slice(0,3)})).indexOf(e2)+1;if(n3<1)throw new Error;this.month=n3%12||n3}],MMMM:[o,function(e2){var t2=u("months").indexOf(e2)+1;if(t2<1)throw new Error;this.month=t2%12||t2}],Y:[/[+-]?\d+/,f("year")],YY:[r,function(e2){this.year=a(e2)}],YYYY:[/\d{4}/,f("year")],Z:h,ZZ:h};function l2(n3){var r2,i2;r2=n3,i2=s2&&s2.formats;for(var o2=(n3=r2.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(t2,n4,r3){var o3=r3&&r3.toUpperCase();return n4||i2[r3]||e[r3]||i2[o3].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(e2,t3,n5){return t3||n5.slice(1)})})).match(t),a2=o2.length,f2=0;f2<a2;f2+=1){var h2=o2[f2],u2=c[h2],d2=u2&&u2[0],l3=u2&&u2[1];o2[f2]=l3?{regex:d2,parser:l3}:h2.replace(/^\[|\]$/g,"")}return function(e2){for(var t2={},n4=0,r3=0;n4<a2;n4+=1){var i3=o2[n4];if(typeof i3=="string")r3+=i3.length;else{var s3=i3.regex,f3=i3.parser,h3=e2.slice(r3),u3=s3.exec(h3)[0];f3.call(t2,u3),e2=e2.replace(u3,"")}}return(function(e3){var t3=e3.afternoon;if(t3!==void 0){var n5=e3.hours;t3?n5<12&&(e3.hours+=12):n5===12&&(e3.hours=0),delete e3.afternoon}})(t2),t2}}return function(e2,t2,n3){n3.p.customParseFormat=!0,e2&&e2.parseTwoDigitYear&&(a=e2.parseTwoDigitYear);var r2=t2.prototype,i2=r2.parse;r2.parse=function(e3){var t3=e3.date,r3=e3.utc,o2=e3.args;this.$u=r3;var a2=o2[1];if(typeof a2=="string"){var f2=o2[2]===!0,h2=o2[3]===!0,u2=f2||h2,d2=o2[2];h2&&(d2=o2[2]),s2=this.$locale(),!f2&&d2&&(s2=n3.Ls[d2]),this.$d=(function(e4,t4,n4,r4){try{if(["x","X"].indexOf(t4)>-1)return new Date((t4==="X"?1e3:1)*e4);var i3=l2(t4)(e4),o3=i3.year,s3=i3.month,a3=i3.day,f3=i3.hours,h3=i3.minutes,u3=i3.seconds,d3=i3.milliseconds,c3=i3.zone,m2=i3.week,M2=new Date,Y=a3||(o3||s3?1:M2.getDate()),p=o3||M2.getFullYear(),v=0;o3&&!s3||(v=s3>0?s3-1:M2.getMonth());var D,w=f3||0,g=h3||0,y=u3||0,L=d3||0;return c3?new Date(Date.UTC(p,v,Y,w,g,y,L+60*c3.offset*1e3)):n4?new Date(Date.UTC(p,v,Y,w,g,y,L)):(D=new Date(p,v,Y,w,g,y,L),m2&&(D=r4(D).week(m2).toDate()),D)}catch(e5){return new Date("")}})(t3,a2,r3,n3),this.init(),d2&&d2!==!0&&(this.$L=this.locale(d2).$L),u2&&t3!=this.format(a2)&&(this.$d=new Date("")),s2={}}else if(a2 instanceof Array)for(var c2=a2.length,m=1;m<=c2;m+=1){o2[1]=a2[m-1];var M=n3.apply(this,o2);if(M.isValid()){this.$d=M.$d,this.$L=M.$L,this.init();break}m===c2&&(this.$d=new Date(""))}else i2.call(this,e3)}}})}});var require_papaparse_min=__commonJS({"node_modules/papaparse/papaparse.min.js"(exports,module){((e,t)=>{typeof define=="function"&&define.amd?define([],t):typeof module=="object"&&typeof exports<"u"?module.exports=t():e.Papa=t()})(exports,function r(){var n2=typeof self<"u"?self:typeof window<"u"?window:n2!==void 0?n2:{},d,s2=!n2.document&&!!n2.postMessage,a=n2.IS_PAPA_WORKER||!1,o={},h=0,v={};function u(e){this._handle=null,this._finished=!1,this._completed=!1,this._halted=!1,this._input=null,this._baseIndex=0,this._partialLine="",this._rowCount=0,this._start=0,this._nextChunk=null,this.isFirstChunk=!0,this._completeResults={data:[],errors:[],meta:{}},function(e2){var t=b(e2);t.chunkSize=parseInt(t.chunkSize),e2.step||e2.chunk||(t.chunkSize=null),this._handle=new i(t),(this._handle.streamer=this)._config=t}.call(this,e),this.parseChunk=function(t,e2){var i2=parseInt(this._config.skipFirstNLines)||0;if(this.isFirstChunk&&0<i2){let e3=this._config.newline;e3||(r2=this._config.quoteChar||'"',e3=this._handle.guessLineEndings(t,r2)),t=[...t.split(e3).slice(i2)].join(e3)}this.isFirstChunk&&U(this._config.beforeFirstChunk)&&(r2=this._config.beforeFirstChunk(t))!==void 0&&(t=r2),this.isFirstChunk=!1,this._halted=!1;var i2=this._partialLine+t,r2=(this._partialLine="",this._handle.parse(i2,this._baseIndex,!this._finished));if(!this._handle.paused()&&!this._handle.aborted()){if(t=r2.meta.cursor,i2=(this._finished||(this._partialLine=i2.substring(t-this._baseIndex),this._baseIndex=t),r2&&r2.data&&(this._rowCount+=r2.data.length),this._finished||this._config.preview&&this._rowCount>=this._config.preview),a)n2.postMessage({results:r2,workerId:v.WORKER_ID,finished:i2});else if(U(this._config.chunk)&&!e2){if(this._config.chunk(r2,this._handle),this._handle.paused()||this._handle.aborted())return void(this._halted=!0);this._completeResults=r2=void 0}return this._config.step||this._config.chunk||(this._completeResults.data=this._completeResults.data.concat(r2.data),this._completeResults.errors=this._completeResults.errors.concat(r2.errors),this._completeResults.meta=r2.meta),this._completed||!i2||!U(this._config.complete)||r2&&r2.meta.aborted||(this._config.complete(this._completeResults,this._input),this._completed=!0),i2||r2&&r2.meta.paused||this._nextChunk(),r2}this._halted=!0},this._sendError=function(e2){U(this._config.error)?this._config.error(e2):a&&this._config.error&&n2.postMessage({workerId:v.WORKER_ID,error:e2,finished:!1})}}function f(e){var r2;(e=e||{}).chunkSize||(e.chunkSize=v.RemoteChunkSize),u.call(this,e),this._nextChunk=s2?function(){this._readChunk(),this._chunkLoaded()}:function(){this._readChunk()},this.stream=function(e2){this._input=e2,this._nextChunk()},this._readChunk=function(){if(this._finished)this._chunkLoaded();else{if(r2=new XMLHttpRequest,this._config.withCredentials&&(r2.withCredentials=this._config.withCredentials),s2||(r2.onload=y(this._chunkLoaded,this),r2.onerror=y(this._chunkError,this)),r2.open(this._config.downloadRequestBody?"POST":"GET",this._input,!s2),this._config.downloadRequestHeaders){var e2,t=this._config.downloadRequestHeaders;for(e2 in t)r2.setRequestHeader(e2,t[e2])}var i2;this._config.chunkSize&&(i2=this._start+this._config.chunkSize-1,r2.setRequestHeader("Range","bytes="+this._start+"-"+i2));try{r2.send(this._config.downloadRequestBody)}catch(e3){this._chunkError(e3.message)}s2&&r2.status===0&&this._chunkError()}},this._chunkLoaded=function(){r2.readyState===4&&(r2.status<200||400<=r2.status?this._chunkError():(this._start+=this._config.chunkSize||r2.responseText.length,this._finished=!this._config.chunkSize||this._start>=(e2=>(e2=e2.getResponseHeader("Content-Range"))!==null?parseInt(e2.substring(e2.lastIndexOf("/")+1)):-1)(r2),this.parseChunk(r2.responseText)))},this._chunkError=function(e2){e2=r2.statusText||e2,this._sendError(new Error(e2))}}function l2(e){(e=e||{}).chunkSize||(e.chunkSize=v.LocalChunkSize),u.call(this,e);var i2,r2,n3=typeof FileReader<"u";this.stream=function(e2){this._input=e2,r2=e2.slice||e2.webkitSlice||e2.mozSlice,n3?((i2=new FileReader).onload=y(this._chunkLoaded,this),i2.onerror=y(this._chunkError,this)):i2=new FileReaderSync,this._nextChunk()},this._nextChunk=function(){this._finished||this._config.preview&&!(this._rowCount<this._config.preview)||this._readChunk()},this._readChunk=function(){var e2=this._input,t=(this._config.chunkSize&&(t=Math.min(this._start+this._config.chunkSize,this._input.size),e2=r2.call(e2,this._start,t)),i2.readAsText(e2,this._config.encoding));n3||this._chunkLoaded({target:{result:t}})},this._chunkLoaded=function(e2){this._start+=this._config.chunkSize,this._finished=!this._config.chunkSize||this._start>=this._input.size,this.parseChunk(e2.target.result)},this._chunkError=function(){this._sendError(i2.error)}}function c(e){var i2;u.call(this,e=e||{}),this.stream=function(e2){return i2=e2,this._nextChunk()},this._nextChunk=function(){var e2,t;if(!this._finished)return e2=this._config.chunkSize,i2=e2?(t=i2.substring(0,e2),i2.substring(e2)):(t=i2,""),this._finished=!i2,this.parseChunk(t)}}function p(e){u.call(this,e=e||{});var t=[],i2=!0,r2=!1;this.pause=function(){u.prototype.pause.apply(this,arguments),this._input.pause()},this.resume=function(){u.prototype.resume.apply(this,arguments),this._input.resume()},this.stream=function(e2){this._input=e2,this._input.on("data",this._streamData),this._input.on("end",this._streamEnd),this._input.on("error",this._streamError)},this._checkIsFinished=function(){r2&&t.length===1&&(this._finished=!0)},this._nextChunk=function(){this._checkIsFinished(),t.length?this.parseChunk(t.shift()):i2=!0},this._streamData=y(function(e2){try{t.push(typeof e2=="string"?e2:e2.toString(this._config.encoding)),i2&&(i2=!1,this._checkIsFinished(),this.parseChunk(t.shift()))}catch(e3){this._streamError(e3)}},this),this._streamError=y(function(e2){this._streamCleanUp(),this._sendError(e2)},this),this._streamEnd=y(function(){this._streamCleanUp(),r2=!0,this._streamData("")},this),this._streamCleanUp=y(function(){this._input.removeListener("data",this._streamData),this._input.removeListener("end",this._streamEnd),this._input.removeListener("error",this._streamError)},this)}function i(m2){var n3,s3,a2,t,o2=Math.pow(2,53),h2=-o2,u2=/^\s*-?(\d+\.?|\.\d+|\d+\.\d+)([eE][-+]?\d+)?\s*$/,d2=/^((\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z)))$/,i2=this,r2=0,f2=0,l3=!1,e=!1,c2=[],p2={data:[],errors:[],meta:{}};function y2(e2){return m2.skipEmptyLines==="greedy"?e2.join("").trim()==="":e2.length===1&&e2[0].length===0}function g2(){if(p2&&a2&&(k("Delimiter","UndetectableDelimiter","Unable to auto-detect delimiting character; defaulted to '"+v.DefaultDelimiter+"'"),a2=!1),m2.skipEmptyLines&&(p2.data=p2.data.filter(function(e3){return!y2(e3)})),_2()){let t3=function(e3,t4){U(m2.transformHeader)&&(e3=m2.transformHeader(e3,t4)),c2.push(e3)};var t2=t3;if(p2)if(Array.isArray(p2.data[0])){for(var e2=0;_2()&&e2<p2.data.length;e2++)p2.data[e2].forEach(t3);p2.data.splice(0,1)}else p2.data.forEach(t3)}function i3(e3,t3){for(var i4=m2.header?{}:[],r4=0;r4<e3.length;r4++){var n4=r4,s4=e3[r4],s4=((e4,t4)=>(e5=>(m2.dynamicTypingFunction&&m2.dynamicTyping[e5]===void 0&&(m2.dynamicTyping[e5]=m2.dynamicTypingFunction(e5)),(m2.dynamicTyping[e5]||m2.dynamicTyping)===!0))(e4)?t4==="true"||t4==="TRUE"||t4!=="false"&&t4!=="FALSE"&&((e5=>{if(u2.test(e5)&&(e5=parseFloat(e5),h2<e5&&e5<o2))return 1})(t4)?parseFloat(t4):d2.test(t4)?new Date(t4):t4===""?null:t4):t4)(n4=m2.header?r4>=c2.length?"__parsed_extra":c2[r4]:n4,s4=m2.transform?m2.transform(s4,n4):s4);n4==="__parsed_extra"?(i4[n4]=i4[n4]||[],i4[n4].push(s4)):i4[n4]=s4}return m2.header&&(r4>c2.length?k("FieldMismatch","TooManyFields","Too many fields: expected "+c2.length+" fields but parsed "+r4,f2+t3):r4<c2.length&&k("FieldMismatch","TooFewFields","Too few fields: expected "+c2.length+" fields but parsed "+r4,f2+t3)),i4}var r3;p2&&(m2.header||m2.dynamicTyping||m2.transform)&&(r3=1,!p2.data.length||Array.isArray(p2.data[0])?(p2.data=p2.data.map(i3),r3=p2.data.length):p2.data=i3(p2.data,0),m2.header&&p2.meta&&(p2.meta.fields=c2),f2+=r3)}function _2(){return m2.header&&c2.length===0}function k(e2,t2,i3,r3){e2={type:e2,code:t2,message:i3},r3!==void 0&&(e2.row=r3),p2.errors.push(e2)}U(m2.step)&&(t=m2.step,m2.step=function(e2){p2=e2,_2()?g2():(g2(),p2.data.length!==0&&(r2+=e2.data.length,m2.preview&&r2>m2.preview?s3.abort():(p2.data=p2.data[0],t(p2,i2))))}),this.parse=function(e2,t2,i3){var r3=m2.quoteChar||'"',r3=(m2.newline||(m2.newline=this.guessLineEndings(e2,r3)),a2=!1,m2.delimiter?U(m2.delimiter)&&(m2.delimiter=m2.delimiter(e2),p2.meta.delimiter=m2.delimiter):((r3=((e3,t3,i4,r4,n4)=>{var s4,a3,o3,h3;n4=n4||[","," ","|",";",v.RECORD_SEP,v.UNIT_SEP];for(var u3=0;u3<n4.length;u3++){for(var d3,f3=n4[u3],l4=0,c3=0,p3=0,g3=(o3=void 0,new E({comments:r4,delimiter:f3,newline:t3,preview:10}).parse(e3)),_3=0;_3<g3.data.length;_3++)i4&&y2(g3.data[_3])?p3++:(d3=g3.data[_3].length,c3+=d3,o3===void 0?o3=d3:0<d3&&(l4+=Math.abs(d3-o3),o3=d3));0<g3.data.length&&(c3/=g3.data.length-p3),(a3===void 0||l4<=a3)&&(h3===void 0||h3<c3)&&1.99<c3&&(a3=l4,s4=f3,h3=c3)}return{successful:!!(m2.delimiter=s4),bestDelimiter:s4}})(e2,m2.newline,m2.skipEmptyLines,m2.comments,m2.delimitersToGuess)).successful?m2.delimiter=r3.bestDelimiter:(a2=!0,m2.delimiter=v.DefaultDelimiter),p2.meta.delimiter=m2.delimiter),b(m2));return m2.preview&&m2.header&&r3.preview++,n3=e2,s3=new E(r3),p2=s3.parse(n3,t2,i3),g2(),l3?{meta:{paused:!0}}:p2||{meta:{paused:!1}}},this.paused=function(){return l3},this.pause=function(){l3=!0,s3.abort(),n3=U(m2.chunk)?"":n3.substring(s3.getCharIndex())},this.resume=function(){i2.streamer._halted?(l3=!1,i2.streamer.parseChunk(n3,!0)):setTimeout(i2.resume,3)},this.aborted=function(){return e},this.abort=function(){e=!0,s3.abort(),p2.meta.aborted=!0,U(m2.complete)&&m2.complete(p2),n3=""},this.guessLineEndings=function(e2,t2){e2=e2.substring(0,1048576);var t2=new RegExp(P(t2)+"([^]*?)"+P(t2),"gm"),i3=(e2=e2.replace(t2,"")).split("\r"),t2=e2.split(`
|
|
1
|
+
import{require_jszip_min}from"./chunk-POL6ATNF.js";import{quill_default}from"./chunk-6JQMCSN6.js";import{A11yModule,ACTIVE_RUNTIME_CHECKS,ANIMATION_MODULE_TYPE,APP_CONFIG,APP_INITIALIZER,AUTO_STYLE,Actions,ActionsSubject,ActivatedRoute,AnimationGroupPlayer,AnimationMetadataType,AnonymousSubject,ApplicationRef,AsyncPipe,BackendComponentCallerService,BackendComponentCallerServiceFactory,BackendComponentClient,BackendComponentClientProxyService,BehaviorSubject,BidiModule,BreakpointObserver,Breakpoints,BrowserModule,CdkDrag,CdkDragPlaceholder,CdkDragPreview,CdkDropList,CdkFixedSizeVirtualScroll,CdkMonitorFocus,CdkPortalOutlet,CdkTextareaAutosize,CdkTrapFocus,CdkVirtualForOf,CdkVirtualScrollViewport,ChangeDetectorRef,CommonModule,ComponentFactoryResolver$1,ComponentPortal,ComponentTemplateValidatorService,DEFAULT_CARD_DIMENSIONS,DEFAULT_CBC_INGRESS_URL,DEFAULT_REPORT_DIMENSIONS,DEFAULT_SHEET_DIMENSIONS,DOCUMENT,DateAdapter,DefaultFlexDirective,DefaultLayoutAlignDirective,DefaultLayoutDirective,DefaultLayoutGapDirective,DefaultValueAccessor,DestroyRef,Directionality,DomRendererFactory2,DomSanitizer,DragDropModule,EMPTY,EffectsModule,ElementRef,ErrorHandler,EventEmitter,FlexLayoutModule,FlexModule,FormArray,FormBuilder,FormControl,FormControlDirective,FormControlName,FormGroup,FormGroupDirective,FormGroupName,FormsModule,HTTP_INTERCEPTORS,HostAttributeToken,HttpClient,HttpContext,HttpErrorResponse,HttpHeaders,HttpParams,HttpResponse,INIT,INITIAL_STATE,IXAPI_OPTIONS,InjectionToken,Injector,IterableDiffers,IxApi2RequestErrorMessages,IxApiErrorMessages,IxApiErrors,IxApiHeaderKeys,IxApiModule,IxApiRequestErrorMessages,IxApiRequestErrors,IxApiService,LayoutModule,Location,LowerCasePipe,MAT_BOTTOM_SHEET_DATA,MAT_DATE_FORMATS,MAT_DATE_LOCALE,MAT_DIALOG_DATA,MAT_INPUT_VALUE_ACCESSOR,MatActionList,MatBottomSheet,MatBottomSheetRef,MatButton,MatButtonModule,MatButtonToggle,MatButtonToggleGroup,MatButtonToggleModule,MatCard,MatCardActions,MatCardHeader,MatCardModule,MatCardSubtitle,MatCardTitle,MatCheckbox,MatCheckboxModule,MatChipGrid,MatChipInput,MatChipsModule,MatDatepicker,MatDatepickerInput,MatDatepickerModule,MatDatepickerToggle,MatDialog,MatDialogActions,MatDialogClose,MatDialogContainer,MatDialogContent,MatDialogModule,MatDialogRef,MatDialogTitle,MatDivider,MatDividerModule,MatDrawer,MatDrawerContainer,MatDrawerContent,MatError,MatExpansionPanel,MatFormField,MatFormFieldModule,MatHint,MatIcon,MatIconButton,MatIconModule,MatIconRegistry,MatInput,MatInputModule,MatLabel,MatList,MatListItem,MatListItemIcon,MatListItemLine,MatListItemMeta,MatListItemTitle,MatListModule,MatListOption,MatListSubheaderCssMatStyler,MatMenu,MatMenuItem,MatMenuModule,MatMenuTrigger,MatOptgroup,MatOption,MatOptionModule,MatPaginatorModule,MatPrefix,MatProgressSpinner,MatSelect,MatSelectModule,MatSelectTrigger,MatSelectionList,MatSidenavModule,MatSnackBar,MatSnackBarModule,MatSuffix,MatTab,MatTabGroup,MatTabsModule,MatToolbar,MatToolbarModule,MatTooltip,MatTooltipModule,MaxValidator,MediaObserver,Meta,MinValidator,MtxPopoverModule,NG_VALIDATORS,NG_VALUE_ACCESSOR,NavigationCancel,NavigationEnd,NavigationError,NavigationStart,NgControl,NgControlStatus,NgControlStatusGroup,NgForOf,NgIf,NgModel,NgSelectOption,NgStyle,NgTemplateOutlet,NgZone,NoopAnimationPlayer,NumberValueAccessor,ONE_WEEK,OTP_SMS_REQUIRED_PATTERN,Observable,Overlay,OverlayConfig,OverlayModule,PAGE_COMPONENT,PLATFORM_ID,PageComponentTemplateManifestModule,PageComponentTemplateModule,PageComponentTemplateService,Platform,PortalModule,REQUIRES_ACCESS_TOKEN,REQUIRES_AUTH_TOKEN,REQUIRES_BRANDING,REQUIRES_COMPANY,ReactiveFormsModule,ReducerManagerDispatcher,ReducerObservable,Renderer2,RendererFactory2,ReplaySubject,RequiredValidator,ResourceDataClient,ResourceDataClientProxyService,ResourceDataServiceFactory,Router,RouterLink,RouterModule,RouterOutlet,RoutesRecognized,RuntimeError,SESSION_STORAGE,STORAGE_KEY_CBC_CONFIG_VALUES,STORAGE_KEY_CBC_INGRESS,STORAGE_KEY_CBC_INGRESS_URL,STORAGE_KEY_CBC_PUBLIC_ID,ScannedActionsSubject,ScrollingModule,SecurityContext,SelectControlValueAccessor,SelectionModel,SettingsModule,SharedModule,StateObservable,StorageEventContext,StorageModule,StorageService,Store,StoreModule,Subject,Subscriber,Subscription,TREE_KEY_MANAGER,TemplateRef,Title,TitleCasePipe,TranslateDirective,TranslateLoader,TranslateModule,TranslatePipe,TranslateService,UPDATE,USER_PROVIDED_EFFECTS,Validators,ViewContainerRef,ViewportRuler,WA_WINDOW,WINDOW,_animationsDisabled,_getFocusedElementPierceShadowDom,add,addFailure,addSuccess,afterNextRender,appConfigFactory,booleanAttribute,buffer,buildFields,catchError,coerceBooleanProperty,coerceNumberProperty,coerceObservable,coerceStringArray,combineLatest,compactFields,computed,concat,concatMap,createAction,createEffect,createEntityAdapter,createFeature,createFeatureSelector,createReducer,createResourceAdapter,createResourceSelectorFactory,createSelector,debounceTime,decryptValue,defaultOptions,defer,delay,delayWhen,didAdd,didAddList,didRemove,didRemoveList,didUpdate,didUpdateList,distinctUntilChanged,effect,ensureAll,ensureMany,ensureOne,environment,filter,finalize,findAppId,first,firstValueFrom,forkJoin,forwardRef,from,fromEvent,getLinkMap,getLinkUrl,getMissingFields,getPageParams,hasFields,hasModifierKey,hasNonPublicIdFields,haveFields,inject,input,isDataSource,isDevMode,isNgrxMockEnvironment,isObservable,isPlatformBrowser,isPlatformServer,last,lastValueFrom,linkedSignal,loadAllForIntentSuccess,loadAllSuccess,loadAppConfig,loadHost,loadHostFailure,loadHostSuccess,loadManySuccess,makeEnvironmentProviders,map,mapPageComponentTemplateManifestToDefaultInputs,mapPageComponentTemplateToCustomElementName,mapPageComponentTemplateToTemplateBaseUrl,mapPageComponentTemplateToTemplateUrl,mapResourceToSubResourceList,mapTemplateUrlToMainPath,mapTemplateUrlToManifestUrl,mapTemplateUrlToPublicId,merge,mergeFields,mergeLoadedFields,mergeMap,moveItemInArray,mustache_default,naturalSort,normalizePassiveListenerOptions,numberAttribute,observeOn,of,ofStatus,ofType,omitLoadedFields,omitSubresources,on,output,pairwise,parseBody,platformBrowser,props,provideEnvironmentInitializer,provideHttpClient,provideZoneChangeDetection,queueScheduler,reduce,remove,removeFailure,removeSuccess,require_crypto_js,reset,reset2,reset3,resetPendingUpdates,resource,retryBackoff,scan,select,selectAll,selectEntities,selectEntities2,selectEntity,selectEntity2,sequence,share,shareReplay,signal,skip,sortByNameAndPublicIdComparer,startWith,style,switchMap,take,takeUntil,takeUntilDestroyed,tap,throwError,throwNotFoundError,timeout,timer,toObservable,toSignal,untracked,update,updateFailure,updateMany,updateManyFailure,updateManySuccess,updateResource,updateSuccess,validateOptions,viewChild,whileMoreAfter,withFetch,withInterceptorsFromDi,withLatestFrom,ɵNgNoValidate,ɵNgSelectMultipleOption,ɵPRE_STYLE,ɵɵInheritDefinitionFeature,ɵɵNgOnChangesFeature,ɵɵProvidersFeature,ɵɵadvance,ɵɵattribute,ɵɵclassMap,ɵɵclassProp,ɵɵconditional,ɵɵconditionalCreate,ɵɵcontentQuery,ɵɵdeclareLet,ɵɵdefineComponent,ɵɵdefineDirective,ɵɵdefineInjectable,ɵɵdefineInjector,ɵɵdefineNgModule,ɵɵdefinePipe,ɵɵdirectiveInject,ɵɵdomElement,ɵɵdomElementEnd,ɵɵdomElementStart,ɵɵdomListener,ɵɵdomProperty,ɵɵelement,ɵɵelementContainer,ɵɵelementContainerEnd,ɵɵelementContainerStart,ɵɵelementEnd,ɵɵelementStart,ɵɵgetCurrentView,ɵɵgetInheritedFactory,ɵɵinject,ɵɵinterpolate,ɵɵinterpolate1,ɵɵlistener,ɵɵloadQuery,ɵɵnamespaceHTML,ɵɵnamespaceSVG,ɵɵnextContext,ɵɵpipe,ɵɵpipeBind1,ɵɵpipeBind2,ɵɵpipeBind3,ɵɵprojection,ɵɵprojectionDef,ɵɵproperty,ɵɵpureFunction0,ɵɵpureFunction1,ɵɵqueryAdvance,ɵɵqueryRefresh,ɵɵreadContextLet,ɵɵreference,ɵɵrepeater,ɵɵrepeaterCreate,ɵɵrepeaterTrackByIdentity,ɵɵrepeaterTrackByIndex,ɵɵresetView,ɵɵresolveDocument,ɵɵresolveWindow,ɵɵrestoreView,ɵɵsanitizeHtml,ɵɵsanitizeUrl,ɵɵstoreLet,ɵɵstyleMap,ɵɵstyleProp,ɵɵtemplate,ɵɵtemplateRefExtractor,ɵɵtext,ɵɵtextInterpolate,ɵɵtextInterpolate1,ɵɵtextInterpolate2,ɵɵtextInterpolate3,ɵɵtwoWayBindingSet,ɵɵtwoWayListener,ɵɵtwoWayProperty,ɵɵviewQuery,ɵɵviewQuerySignal}from"./chunk-ZARYOHEJ.js";import{camelCase_default,capitalize_default,chunk_default,cloneDeep_default,compact_default,deburr_default,escape_default,flatMap_default,flatten_default,get_default,groupBy_default,has_default,isArray_default,isEmpty_default,isEqual_default,isNil_default,isNumber_default,isObject_default,isString_default,isUndefined_default,kebabCase_default,memoize_default,merge_default,omitBy_default,omit_default,orderBy_default,pick_default,range_default,set_default,snakeCase_default,sortBy_default,startCase_default,template_default,uniqBy_default,uniq_default,upperFirst_default}from"./chunk-J4YOB4GK.js";import{__async,__commonJS,__export,__objRest,__require,__spreadProps,__spreadValues,__superGet,__toESM,__yieldStar}from"./chunk-3QVXQNFX.js";var require_FileSaver_min=__commonJS({"node_modules/file-saver/dist/FileSaver.min.js"(exports,module){(function(a,b){typeof define=="function"&&define.amd?define([],b):typeof exports<"u"?b():(b(),a.FileSaver={})})(exports,function(){"use strict";function b(a2,b2){return typeof b2>"u"?b2={autoBom:!1}:typeof b2!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),b2={autoBom:!b2}),b2.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(a2.type)?new Blob(["\uFEFF",a2],{type:a2.type}):a2}function c(a2,b2,c2){var d2=new XMLHttpRequest;d2.open("GET",a2),d2.responseType="blob",d2.onload=function(){g(d2.response,b2,c2)},d2.onerror=function(){console.error("could not download file")},d2.send()}function d(a2){var b2=new XMLHttpRequest;b2.open("HEAD",a2,!1);try{b2.send()}catch(a3){}return 200<=b2.status&&299>=b2.status}function e(a2){try{a2.dispatchEvent(new MouseEvent("click"))}catch(c2){var b2=document.createEvent("MouseEvents");b2.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),a2.dispatchEvent(b2)}}var f=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof global=="object"&&global.global===global?global:void 0,a=f.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),g=f.saveAs||(typeof window!="object"||window!==f?function(){}:"download"in HTMLAnchorElement.prototype&&!a?function(b2,g2,h){var i=f.URL||f.webkitURL,j=document.createElement("a");g2=g2||b2.name||"download",j.download=g2,j.rel="noopener",typeof b2=="string"?(j.href=b2,j.origin===location.origin?e(j):d(j.href)?c(b2,g2,h):e(j,j.target="_blank")):(j.href=i.createObjectURL(b2),setTimeout(function(){i.revokeObjectURL(j.href)},4e4),setTimeout(function(){e(j)},0))}:"msSaveOrOpenBlob"in navigator?function(f2,g2,h){if(g2=g2||f2.name||"download",typeof f2!="string")navigator.msSaveOrOpenBlob(b(f2,h),g2);else if(d(f2))c(f2,g2,h);else{var i=document.createElement("a");i.href=f2,i.target="_blank",setTimeout(function(){e(i)})}}:function(b2,d2,e2,g2){if(g2=g2||open("","_blank"),g2&&(g2.document.title=g2.document.body.innerText="downloading..."),typeof b2=="string")return c(b2,d2,e2);var h=b2.type==="application/octet-stream",i=/constructor/i.test(f.HTMLElement)||f.safari,j=/CriOS\/[\d]+/.test(navigator.userAgent);if((j||h&&i||a)&&typeof FileReader<"u"){var k=new FileReader;k.onloadend=function(){var a2=k.result;a2=j?a2:a2.replace(/^data:[^;]*;/,"data:attachment/file;"),g2?g2.location.href=a2:location=a2,g2=null},k.readAsDataURL(b2)}else{var l2=f.URL||f.webkitURL,m=l2.createObjectURL(b2);g2?g2.location=m:location.href=m,g2=null,setTimeout(function(){l2.revokeObjectURL(m)},4e4)}});f.saveAs=g.saveAs=g,typeof module<"u"&&(module.exports=g)})}});var require_ua_parser=__commonJS({"node_modules/ua-parser-js/src/ua-parser.js"(exports,module){(function(window2,undefined2){"use strict";var LIBVERSION="1.0.41",EMPTY2="",UNKNOWN="?",FUNC_TYPE="function",UNDEF_TYPE="undefined",OBJ_TYPE="object",STR_TYPE="string",MAJOR="major",MODEL="model",NAME="name",TYPE="type",VENDOR="vendor",VERSION2="version",ARCHITECTURE="architecture",CONSOLE="console",MOBILE="mobile",TABLET="tablet",SMARTTV="smarttv",WEARABLE="wearable",EMBEDDED="embedded",UA_MAX_LENGTH=500,AMAZON="Amazon",APPLE="Apple",ASUS="ASUS",BLACKBERRY="BlackBerry",BROWSER="Browser",CHROME="Chrome",EDGE="Edge",FIREFOX="Firefox",GOOGLE="Google",HONOR="Honor",HUAWEI="Huawei",LENOVO="Lenovo",LG="LG",MICROSOFT="Microsoft",MOTOROLA="Motorola",NVIDIA="Nvidia",ONEPLUS="OnePlus",OPERA="Opera",OPPO="OPPO",SAMSUNG="Samsung",SHARP="Sharp",SONY="Sony",XIAOMI="Xiaomi",ZEBRA="Zebra",FACEBOOK="Facebook",CHROMIUM_OS="Chromium OS",MAC_OS="Mac OS",SUFFIX_BROWSER=" Browser",extend3=function(regexes2,extensions){var mergedRegexes={};for(var i in regexes2)extensions[i]&&extensions[i].length%2===0?mergedRegexes[i]=extensions[i].concat(regexes2[i]):mergedRegexes[i]=regexes2[i];return mergedRegexes},enumerize=function(arr){for(var enums={},i=0;i<arr.length;i++)enums[arr[i].toUpperCase()]=arr[i];return enums},has2=function(str1,str2){return typeof str1===STR_TYPE?lowerize(str2).indexOf(lowerize(str1))!==-1:!1},lowerize=function(str){return str.toLowerCase()},majorize=function(version2){return typeof version2===STR_TYPE?version2.replace(/[^\d\.]/g,EMPTY2).split(".")[0]:undefined2},trim=function(str,len){if(typeof str===STR_TYPE)return str=str.replace(/^\s\s*/,EMPTY2),typeof len===UNDEF_TYPE?str:str.substring(0,UA_MAX_LENGTH)},rgxMapper=function(ua,arrays){for(var i=0,j,k,p,q,matches,match3;i<arrays.length&&!matches;){var regex=arrays[i],props2=arrays[i+1];for(j=k=0;j<regex.length&&!matches&®ex[j];)if(matches=regex[j++].exec(ua),matches)for(p=0;p<props2.length;p++)match3=matches[++k],q=props2[p],typeof q===OBJ_TYPE&&q.length>0?q.length===2?typeof q[1]==FUNC_TYPE?this[q[0]]=q[1].call(this,match3):this[q[0]]=q[1]:q.length===3?typeof q[1]===FUNC_TYPE&&!(q[1].exec&&q[1].test)?this[q[0]]=match3?q[1].call(this,match3,q[2]):undefined2:this[q[0]]=match3?match3.replace(q[1],q[2]):undefined2:q.length===4&&(this[q[0]]=match3?q[3].call(this,match3.replace(q[1],q[2])):undefined2):this[q]=match3||undefined2;i+=2}},strMapper=function(str,map4){for(var i in map4)if(typeof map4[i]===OBJ_TYPE&&map4[i].length>0){for(var j=0;j<map4[i].length;j++)if(has2(map4[i][j],str))return i===UNKNOWN?undefined2:i}else if(has2(map4[i],str))return i===UNKNOWN?undefined2:i;return map4.hasOwnProperty("*")?map4["*"]:str},oldSafariMap={"1.0":"/8","1.2":"/1","1.3":"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"},windowsVersionMap={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2","8.1":"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"},regexes={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[VERSION2,[NAME,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[VERSION2,[NAME,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[NAME,VERSION2],[/opios[\/ ]+([\w\.]+)/i],[VERSION2,[NAME,OPERA+" Mini"]],[/\bop(?:rg)?x\/([\w\.]+)/i],[VERSION2,[NAME,OPERA+" GX"]],[/\bopr\/([\w\.]+)/i],[VERSION2,[NAME,OPERA]],[/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i],[VERSION2,[NAME,"Baidu"]],[/\b(?:mxbrowser|mxios|myie2)\/?([-\w\.]*)\b/i],[VERSION2,[NAME,"Maxthon"]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\/ ]?([\w\.]*)/i,/(avant|iemobile|slim(?:browser|boat|jet))[\/ ]?([\d\.]*)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio|(?=comodo_)?dragon)\/([-\w\.]+)/i,/(heytap|ovi|115)browser\/([\d\.]+)/i,/(weibo)__([\d\.]+)/i],[NAME,VERSION2],[/quark(?:pc)?\/([-\w\.]+)/i],[VERSION2,[NAME,"Quark"]],[/\bddg\/([\w\.]+)/i],[VERSION2,[NAME,"DuckDuckGo"]],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[VERSION2,[NAME,"UC"+BROWSER]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i,/micromessenger\/([\w\.]+)/i],[VERSION2,[NAME,"WeChat"]],[/konqueror\/([\w\.]+)/i],[VERSION2,[NAME,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[VERSION2,[NAME,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[VERSION2,[NAME,"Yandex"]],[/slbrowser\/([\w\.]+)/i],[VERSION2,[NAME,"Smart Lenovo "+BROWSER]],[/(avast|avg)\/([\w\.]+)/i],[[NAME,/(.+)/,"$1 Secure "+BROWSER],VERSION2],[/\bfocus\/([\w\.]+)/i],[VERSION2,[NAME,FIREFOX+" Focus"]],[/\bopt\/([\w\.]+)/i],[VERSION2,[NAME,OPERA+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[VERSION2,[NAME,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[VERSION2,[NAME,"Dolphin"]],[/coast\/([\w\.]+)/i],[VERSION2,[NAME,OPERA+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[VERSION2,[NAME,"MIUI"+SUFFIX_BROWSER]],[/fxios\/([\w\.-]+)/i],[VERSION2,[NAME,FIREFOX]],[/\bqihoobrowser\/?([\w\.]*)/i],[VERSION2,[NAME,"360"]],[/\b(qq)\/([\w\.]+)/i],[[NAME,/(.+)/,"$1Browser"],VERSION2],[/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i],[[NAME,/(.+)/,"$1"+SUFFIX_BROWSER],VERSION2],[/samsungbrowser\/([\w\.]+)/i],[VERSION2,[NAME,SAMSUNG+" Internet"]],[/metasr[\/ ]?([\d\.]+)/i],[VERSION2,[NAME,"Sogou Explorer"]],[/(sogou)mo\w+\/([\d\.]+)/i],[[NAME,"Sogou Mobile"],VERSION2],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|2345(?=browser|chrome|explorer))\w*[\/ ]?v?([\w\.]+)/i],[NAME,VERSION2],[/(lbbrowser|rekonq)/i,/\[(linkedin)app\]/i],[NAME],[/ome\/([\w\.]+) \w* ?(iron) saf/i,/ome\/([\w\.]+).+qihu (360)[es]e/i],[VERSION2,NAME],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[NAME,FACEBOOK],VERSION2],[/(Klarna)\/([\w\.]+)/i,/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,/(daum)apps[\/ ]([\w\.]+)/i,/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(alipay)client\/([\w\.]+)/i,/(twitter)(?:and| f.+e\/([\w\.]+))/i,/(chromium|instagram|snapchat)[\/ ]([-\w\.]+)/i],[NAME,VERSION2],[/\bgsa\/([\w\.]+) .*safari\//i],[VERSION2,[NAME,"GSA"]],[/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i],[VERSION2,[NAME,"TikTok"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[VERSION2,[NAME,CHROME+" Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[NAME,CHROME+" WebView"],VERSION2],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[VERSION2,[NAME,"Android "+BROWSER]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[NAME,VERSION2],[/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i],[VERSION2,[NAME,"Mobile Safari"]],[/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i],[VERSION2,NAME],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[NAME,[VERSION2,strMapper,oldSafariMap]],[/(webkit|khtml)\/([\w\.]+)/i],[NAME,VERSION2],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[NAME,"Netscape"],VERSION2],[/(wolvic|librewolf)\/([\w\.]+)/i],[NAME,VERSION2],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[VERSION2,[NAME,FIREFOX+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(amaya|dillo|doris|icab|ladybird|lynx|mosaic|netsurf|obigo|polaris|w3m|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/\b(links) \(([\w\.]+)/i],[NAME,[VERSION2,/_/g,"."]],[/(cobalt)\/([\w\.]+)/i],[NAME,[VERSION2,/master.|lts./,""]]],cpu:[[/\b((amd|x|x86[-_]?|wow|win)64)\b/i],[[ARCHITECTURE,"amd64"]],[/(ia32(?=;))/i,/\b((i[346]|x)86)(pc)?\b/i],[[ARCHITECTURE,"ia32"]],[/\b(aarch64|arm(v?[89]e?l?|_?64))\b/i],[[ARCHITECTURE,"arm64"]],[/\b(arm(v[67])?ht?n?[fl]p?)\b/i],[[ARCHITECTURE,"armhf"]],[/( (ce|mobile); ppc;|\/[\w\.]+arm\b)/i],[[ARCHITECTURE,"arm"]],[/((ppc|powerpc)(64)?)( mac|;|\))/i],[[ARCHITECTURE,/ower/,EMPTY2,lowerize]],[/ sun4\w[;\)]/i],[[ARCHITECTURE,"sparc"]],[/\b(avr32|ia64(?=;)|68k(?=\))|\barm(?=v([1-7]|[5-7]1)l?|;|eabi)|(irix|mips|sparc)(64)?\b|pa-risc)/i],[[ARCHITECTURE,lowerize]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[MODEL,[VENDOR,SAMSUNG],[TYPE,TABLET]],[/\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]((?!sm-[lr])[-\w]+)/i,/sec-(sgh\w+)/i],[MODEL,[VENDOR,SAMSUNG],[TYPE,MOBILE]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[MODEL,[VENDOR,APPLE],[TYPE,MOBILE]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[MODEL,[VENDOR,APPLE],[TYPE,TABLET]],[/(macintosh);/i],[MODEL,[VENDOR,APPLE]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[MODEL,[VENDOR,SHARP],[TYPE,MOBILE]],[/\b((?:brt|eln|hey2?|gdi|jdn)-a?[lnw]09|(?:ag[rm]3?|jdn2|kob2)-a?[lw]0[09]hn)(?: bui|\)|;)/i],[MODEL,[VENDOR,HONOR],[TYPE,TABLET]],[/honor([-\w ]+)[;\)]/i],[MODEL,[VENDOR,HONOR],[TYPE,MOBILE]],[/\b((?:ag[rs][2356]?k?|bah[234]?|bg[2o]|bt[kv]|cmr|cpn|db[ry]2?|jdn2|got|kob2?k?|mon|pce|scm|sht?|[tw]gr|vrd)-[ad]?[lw][0125][09]b?|605hw|bg2-u03|(?:gem|fdr|m2|ple|t1)-[7a]0[1-4][lu]|t1-a2[13][lw]|mediapad[\w\. ]*(?= bui|\)))\b(?!.+d\/s)/i],[MODEL,[VENDOR,HUAWEI],[TYPE,TABLET]],[/(?:huawei)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[MODEL,[VENDOR,HUAWEI],[TYPE,MOBILE]],[/oid[^\)]+; (2[\dbc]{4}(182|283|rp\w{2})[cgl]|m2105k81a?c)(?: bui|\))/i,/\b((?:red)?mi[-_ ]?pad[\w- ]*)(?: bui|\))/i],[[MODEL,/_/g," "],[VENDOR,XIAOMI],[TYPE,TABLET]],[/\b(poco[\w ]+|m2\d{3}j\d\d[a-z]{2})(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/oid[^\)]+; (m?[12][0-389][01]\w{3,6}[c-y])( bui|; wv|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite|pro)?)(?: bui|\))/i,/ ([\w ]+) miui\/v?\d/i],[[MODEL,/_/g," "],[VENDOR,XIAOMI],[TYPE,MOBILE]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[MODEL,[VENDOR,OPPO],[TYPE,MOBILE]],[/\b(opd2(\d{3}a?))(?: bui|\))/i],[MODEL,[VENDOR,strMapper,{OnePlus:["304","403","203"],"*":OPPO}],[TYPE,TABLET]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[MODEL,[VENDOR,"Vivo"],[TYPE,MOBILE]],[/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],[MODEL,[VENDOR,"Realme"],[TYPE,MOBILE]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto(?! 360)[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[MODEL,[VENDOR,MOTOROLA],[TYPE,MOBILE]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[MODEL,[VENDOR,MOTOROLA],[TYPE,TABLET]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[MODEL,[VENDOR,LG],[TYPE,TABLET]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv|watch)\w+)/i,/\blg-?([\d\w]+) bui/i],[MODEL,[VENDOR,LG],[TYPE,MOBILE]],[/(ideatab[-\w ]+|602lv|d-42a|a101lv|a2109a|a3500-hv|s[56]000|pb-6505[my]|tb-?x?\d{3,4}(?:f[cu]|xu|[av])|yt\d?-[jx]?\d+[lfmx])( bui|;|\)|\/)/i,/lenovo ?(b[68]0[08]0-?[hf]?|tab(?:[\w- ]+?)|tb[\w-]{6,7})( bui|;|\)|\/)/i],[MODEL,[VENDOR,LENOVO],[TYPE,TABLET]],[/(nokia) (t[12][01])/i],[VENDOR,MODEL,[TYPE,TABLET]],[/(?:maemo|nokia).*(n900|lumia \d+|rm-\d+)/i,/nokia[-_ ]?(([-\w\. ]*))/i],[[MODEL,/_/g," "],[TYPE,MOBILE],[VENDOR,"Nokia"]],[/(pixel (c|tablet))\b/i],[MODEL,[VENDOR,GOOGLE],[TYPE,TABLET]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[MODEL,[VENDOR,GOOGLE],[TYPE,MOBILE]],[/droid.+; (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[MODEL,[VENDOR,SONY],[TYPE,MOBILE]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[MODEL,"Xperia Tablet"],[VENDOR,SONY],[TYPE,TABLET]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[MODEL,[VENDOR,ONEPLUS],[TYPE,MOBILE]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[MODEL,[VENDOR,AMAZON],[TYPE,TABLET]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[MODEL,/(.+)/g,"Fire Phone $1"],[VENDOR,AMAZON],[TYPE,MOBILE]],[/(playbook);[-\w\),; ]+(rim)/i],[MODEL,VENDOR,[TYPE,TABLET]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[MODEL,[VENDOR,BLACKBERRY],[TYPE,MOBILE]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[MODEL,[VENDOR,ASUS],[TYPE,TABLET]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[MODEL,[VENDOR,ASUS],[TYPE,MOBILE]],[/(nexus 9)/i],[MODEL,[VENDOR,"HTC"],[TYPE,TABLET]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[VENDOR,[MODEL,/_/g," "],[TYPE,MOBILE]],[/droid [\w\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])\w*(\)| bui)/i],[MODEL,[VENDOR,"TCL"],[TYPE,TABLET]],[/(itel) ((\w+))/i],[[VENDOR,lowerize],MODEL,[TYPE,strMapper,{tablet:["p10001l","w7001"],"*":"mobile"}]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[MODEL,[VENDOR,"Acer"],[TYPE,TABLET]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[MODEL,[VENDOR,"Meizu"],[TYPE,MOBILE]],[/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i],[MODEL,[VENDOR,"Ulefone"],[TYPE,MOBILE]],[/; (energy ?\w+)(?: bui|\))/i,/; energizer ([\w ]+)(?: bui|\))/i],[MODEL,[VENDOR,"Energizer"],[TYPE,MOBILE]],[/; cat (b35);/i,/; (b15q?|s22 flip|s48c|s62 pro)(?: bui|\))/i],[MODEL,[VENDOR,"Cat"],[TYPE,MOBILE]],[/((?:new )?andromax[\w- ]+)(?: bui|\))/i],[MODEL,[VENDOR,"Smartfren"],[TYPE,MOBILE]],[/droid.+; (a(?:015|06[35]|142p?))/i],[MODEL,[VENDOR,"Nothing"],[TYPE,MOBILE]],[/; (x67 5g|tikeasy \w+|ac[1789]\d\w+)( b|\))/i,/archos ?(5|gamepad2?|([\w ]*[t1789]|hello) ?\d+[\w ]*)( b|\))/i],[MODEL,[VENDOR,"Archos"],[TYPE,TABLET]],[/archos ([\w ]+)( b|\))/i,/; (ac[3-6]\d\w{2,8})( b|\))/i],[MODEL,[VENDOR,"Archos"],[TYPE,MOBILE]],[/(imo) (tab \w+)/i,/(infinix) (x1101b?)/i],[VENDOR,MODEL,[TYPE,TABLET]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus(?! zenw)|dell|jolla|meizu|motorola|polytron|infinix|tecno|micromax|advan)[-_ ]?([-\w]*)/i,/; (hmd|imo) ([\w ]+?)(?: bui|\))/i,/(hp) ([\w ]+\w)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w ]+?)(?: bui|\)|\/)/i,/(oppo) ?([\w ]+) bui/i],[VENDOR,MODEL,[TYPE,MOBILE]],[/(kobo)\s(ereader|touch)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[VENDOR,MODEL,[TYPE,TABLET]],[/(surface duo)/i],[MODEL,[VENDOR,MICROSOFT],[TYPE,TABLET]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[MODEL,[VENDOR,"Fairphone"],[TYPE,MOBILE]],[/(u304aa)/i],[MODEL,[VENDOR,"AT&T"],[TYPE,MOBILE]],[/\bsie-(\w*)/i],[MODEL,[VENDOR,"Siemens"],[TYPE,MOBILE]],[/\b(rct\w+) b/i],[MODEL,[VENDOR,"RCA"],[TYPE,TABLET]],[/\b(venue[\d ]{2,7}) b/i],[MODEL,[VENDOR,"Dell"],[TYPE,TABLET]],[/\b(q(?:mv|ta)\w+) b/i],[MODEL,[VENDOR,"Verizon"],[TYPE,TABLET]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[MODEL,[VENDOR,"Barnes & Noble"],[TYPE,TABLET]],[/\b(tm\d{3}\w+) b/i],[MODEL,[VENDOR,"NuVision"],[TYPE,TABLET]],[/\b(k88) b/i],[MODEL,[VENDOR,"ZTE"],[TYPE,TABLET]],[/\b(nx\d{3}j) b/i],[MODEL,[VENDOR,"ZTE"],[TYPE,MOBILE]],[/\b(gen\d{3}) b.+49h/i],[MODEL,[VENDOR,"Swiss"],[TYPE,MOBILE]],[/\b(zur\d{3}) b/i],[MODEL,[VENDOR,"Swiss"],[TYPE,TABLET]],[/\b((zeki)?tb.*\b) b/i],[MODEL,[VENDOR,"Zeki"],[TYPE,TABLET]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[VENDOR,"Dragon Touch"],MODEL,[TYPE,TABLET]],[/\b(ns-?\w{0,9}) b/i],[MODEL,[VENDOR,"Insignia"],[TYPE,TABLET]],[/\b((nxa|next)-?\w{0,9}) b/i],[MODEL,[VENDOR,"NextBook"],[TYPE,TABLET]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[VENDOR,"Voice"],MODEL,[TYPE,MOBILE]],[/\b(lvtel\-)?(v1[12]) b/i],[[VENDOR,"LvTel"],MODEL,[TYPE,MOBILE]],[/\b(ph-1) /i],[MODEL,[VENDOR,"Essential"],[TYPE,MOBILE]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[MODEL,[VENDOR,"Envizen"],[TYPE,TABLET]],[/\b(trio[-\w\. ]+) b/i],[MODEL,[VENDOR,"MachSpeed"],[TYPE,TABLET]],[/\btu_(1491) b/i],[MODEL,[VENDOR,"Rotor"],[TYPE,TABLET]],[/((?:tegranote|shield t(?!.+d tv))[\w- ]*?)(?: b|\))/i],[MODEL,[VENDOR,NVIDIA],[TYPE,TABLET]],[/(sprint) (\w+)/i],[VENDOR,MODEL,[TYPE,MOBILE]],[/(kin\.[onetw]{3})/i],[[MODEL,/\./g," "],[VENDOR,MICROSOFT],[TYPE,MOBILE]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[MODEL,[VENDOR,ZEBRA],[TYPE,TABLET]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[MODEL,[VENDOR,ZEBRA],[TYPE,MOBILE]],[/smart-tv.+(samsung)/i],[VENDOR,[TYPE,SMARTTV]],[/hbbtv.+maple;(\d+)/i],[[MODEL,/^/,"SmartTV"],[VENDOR,SAMSUNG],[TYPE,SMARTTV]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[VENDOR,LG],[TYPE,SMARTTV]],[/(apple) ?tv/i],[VENDOR,[MODEL,APPLE+" TV"],[TYPE,SMARTTV]],[/crkey/i],[[MODEL,CHROME+"cast"],[VENDOR,GOOGLE],[TYPE,SMARTTV]],[/droid.+aft(\w+)( bui|\))/i],[MODEL,[VENDOR,AMAZON],[TYPE,SMARTTV]],[/(shield \w+ tv)/i],[MODEL,[VENDOR,NVIDIA],[TYPE,SMARTTV]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[MODEL,[VENDOR,SHARP],[TYPE,SMARTTV]],[/(bravia[\w ]+)( bui|\))/i],[MODEL,[VENDOR,SONY],[TYPE,SMARTTV]],[/(mi(tv|box)-?\w+) bui/i],[MODEL,[VENDOR,XIAOMI],[TYPE,SMARTTV]],[/Hbbtv.*(technisat) (.*);/i],[VENDOR,MODEL,[TYPE,SMARTTV]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[VENDOR,trim],[MODEL,trim],[TYPE,SMARTTV]],[/droid.+; ([\w- ]+) (?:android tv|smart[- ]?tv)/i],[MODEL,[TYPE,SMARTTV]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[TYPE,SMARTTV]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[VENDOR,MODEL,[TYPE,CONSOLE]],[/droid.+; (shield)( bui|\))/i],[MODEL,[VENDOR,NVIDIA],[TYPE,CONSOLE]],[/(playstation \w+)/i],[MODEL,[VENDOR,SONY],[TYPE,CONSOLE]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[MODEL,[VENDOR,MICROSOFT],[TYPE,CONSOLE]],[/\b(sm-[lr]\d\d[0156][fnuw]?s?|gear live)\b/i],[MODEL,[VENDOR,SAMSUNG],[TYPE,WEARABLE]],[/((pebble))app/i,/(asus|google|lg|oppo) ((pixel |zen)?watch[\w ]*)( bui|\))/i],[VENDOR,MODEL,[TYPE,WEARABLE]],[/(ow(?:19|20)?we?[1-3]{1,3})/i],[MODEL,[VENDOR,OPPO],[TYPE,WEARABLE]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[MODEL,[VENDOR,APPLE],[TYPE,WEARABLE]],[/(opwwe\d{3})/i],[MODEL,[VENDOR,ONEPLUS],[TYPE,WEARABLE]],[/(moto 360)/i],[MODEL,[VENDOR,MOTOROLA],[TYPE,WEARABLE]],[/(smartwatch 3)/i],[MODEL,[VENDOR,SONY],[TYPE,WEARABLE]],[/(g watch r)/i],[MODEL,[VENDOR,LG],[TYPE,WEARABLE]],[/droid.+; (wt63?0{2,3})\)/i],[MODEL,[VENDOR,ZEBRA],[TYPE,WEARABLE]],[/droid.+; (glass) \d/i],[MODEL,[VENDOR,GOOGLE],[TYPE,WEARABLE]],[/(pico) (4|neo3(?: link|pro)?)/i],[VENDOR,MODEL,[TYPE,WEARABLE]],[/; (quest( \d| pro)?)/i],[MODEL,[VENDOR,FACEBOOK],[TYPE,WEARABLE]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[VENDOR,[TYPE,EMBEDDED]],[/(aeobc)\b/i],[MODEL,[VENDOR,AMAZON],[TYPE,EMBEDDED]],[/(homepod).+mac os/i],[MODEL,[VENDOR,APPLE],[TYPE,EMBEDDED]],[/windows iot/i],[[TYPE,EMBEDDED]],[/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew).+? mobile safari/i],[MODEL,[TYPE,MOBILE]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[MODEL,[TYPE,TABLET]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[TYPE,TABLET]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[TYPE,MOBILE]],[/droid .+?; ([\w\. -]+)( bui|\))/i],[MODEL,[VENDOR,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[VERSION2,[NAME,EDGE+"HTML"]],[/(arkweb)\/([\w\.]+)/i],[NAME,VERSION2],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[VERSION2,[NAME,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna|servo)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[NAME,VERSION2],[/ladybird\//i],[[NAME,"LibWeb"]],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[VERSION2,NAME]],os:[[/microsoft (windows) (vista|xp)/i],[NAME,VERSION2],[/(windows (?:phone(?: os)?|mobile|iot))[\/ ]?([\d\.\w ]*)/i],[NAME,[VERSION2,strMapper,windowsVersionMap]],[/windows nt 6\.2; (arm)/i,/windows[\/ ]([ntce\d\. ]+\w)(?!.+xbox)/i,/(?:win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[VERSION2,strMapper,windowsVersionMap],[NAME,"Windows"]],[/[adehimnop]{4,7}\b(?:.*os ([\w]+) like mac|; opera)/i,/(?:ios;fbsv\/|iphone.+ios[\/ ])([\d\.]+)/i,/cfnetwork\/.+darwin/i],[[VERSION2,/_/g,"."],[NAME,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[NAME,MAC_OS],[VERSION2,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i],[VERSION2,NAME],[/(ubuntu) ([\w\.]+) like android/i],[[NAME,/(.+)/,"$1 Touch"],VERSION2],[/(android|bada|blackberry|kaios|maemo|meego|openharmony|qnx|rim tablet os|sailfish|series40|symbian|tizen|webos)\w*[-\/; ]?([\d\.]*)/i],[NAME,VERSION2],[/\(bb(10);/i],[VERSION2,[NAME,BLACKBERRY]],[/(?:symbian ?os|symbos|s60(?=;)|series ?60)[-\/ ]?([\w\.]*)/i],[VERSION2,[NAME,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[VERSION2,[NAME,FIREFOX+" OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[VERSION2,[NAME,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[VERSION2,[NAME,"watchOS"]],[/crkey\/([\d\.]+)/i],[VERSION2,[NAME,CHROME+"cast"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[NAME,CHROMIUM_OS],VERSION2],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\/(\d+\.[\w\.]+)/i,/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/(mint)[\/\(\) ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/(hurd|linux)(?: arm\w*| x86\w*| ?)([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[NAME,VERSION2],[/(sunos) ?([\w\.\d]*)/i],[[NAME,"Solaris"],VERSION2],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[NAME,VERSION2]]},UAParser2=function(ua,extensions){if(typeof ua===OBJ_TYPE&&(extensions=ua,ua=undefined2),!(this instanceof UAParser2))return new UAParser2(ua,extensions).getResult();var _navigator=typeof window2!==UNDEF_TYPE&&window2.navigator?window2.navigator:undefined2,_ua=ua||(_navigator&&_navigator.userAgent?_navigator.userAgent:EMPTY2),_uach=_navigator&&_navigator.userAgentData?_navigator.userAgentData:undefined2,_rgxmap=extensions?extend3(regexes,extensions):regexes,_isSelfNav=_navigator&&_navigator.userAgent==_ua;return this.getBrowser=function(){var _browser={};return _browser[NAME]=undefined2,_browser[VERSION2]=undefined2,rgxMapper.call(_browser,_ua,_rgxmap.browser),_browser[MAJOR]=majorize(_browser[VERSION2]),_isSelfNav&&_navigator&&_navigator.brave&&typeof _navigator.brave.isBrave==FUNC_TYPE&&(_browser[NAME]="Brave"),_browser},this.getCPU=function(){var _cpu={};return _cpu[ARCHITECTURE]=undefined2,rgxMapper.call(_cpu,_ua,_rgxmap.cpu),_cpu},this.getDevice=function(){var _device={};return _device[VENDOR]=undefined2,_device[MODEL]=undefined2,_device[TYPE]=undefined2,rgxMapper.call(_device,_ua,_rgxmap.device),_isSelfNav&&!_device[TYPE]&&_uach&&_uach.mobile&&(_device[TYPE]=MOBILE),_isSelfNav&&_device[MODEL]=="Macintosh"&&_navigator&&typeof _navigator.standalone!==UNDEF_TYPE&&_navigator.maxTouchPoints&&_navigator.maxTouchPoints>2&&(_device[MODEL]="iPad",_device[TYPE]=TABLET),_device},this.getEngine=function(){var _engine={};return _engine[NAME]=undefined2,_engine[VERSION2]=undefined2,rgxMapper.call(_engine,_ua,_rgxmap.engine),_engine},this.getOS=function(){var _os={};return _os[NAME]=undefined2,_os[VERSION2]=undefined2,rgxMapper.call(_os,_ua,_rgxmap.os),_isSelfNav&&!_os[NAME]&&_uach&&_uach.platform&&_uach.platform!="Unknown"&&(_os[NAME]=_uach.platform.replace(/chrome os/i,CHROMIUM_OS).replace(/macos/i,MAC_OS)),_os},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return _ua},this.setUA=function(ua2){return _ua=typeof ua2===STR_TYPE&&ua2.length>UA_MAX_LENGTH?trim(ua2,UA_MAX_LENGTH):ua2,this},this.setUA(_ua),this};UAParser2.VERSION=LIBVERSION,UAParser2.BROWSER=enumerize([NAME,VERSION2,MAJOR]),UAParser2.CPU=enumerize([ARCHITECTURE]),UAParser2.DEVICE=enumerize([MODEL,VENDOR,TYPE,CONSOLE,MOBILE,SMARTTV,TABLET,WEARABLE,EMBEDDED]),UAParser2.ENGINE=UAParser2.OS=enumerize([NAME,VERSION2]),typeof exports!==UNDEF_TYPE?(typeof module!==UNDEF_TYPE&&module.exports&&(exports=module.exports=UAParser2),exports.UAParser=UAParser2):typeof define===FUNC_TYPE&&define.amd?define(function(){return UAParser2}):typeof window2!==UNDEF_TYPE&&(window2.UAParser=UAParser2);var $=typeof window2!==UNDEF_TYPE&&(window2.jQuery||window2.Zepto);if($&&!$.ua){var parser=new UAParser2;$.ua=parser.getResult(),$.ua.get=function(){return parser.getUA()},$.ua.set=function(ua){parser.setUA(ua);var result=parser.getResult();for(var prop in result)$.ua[prop]=result[prop]}}})(typeof window=="object"?window:exports)}});var require_dayjs_min=__commonJS({"node_modules/dayjs/dayjs.min.js"(exports,module){(function(t,e){typeof exports=="object"&&typeof module<"u"?module.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs=e()})(exports,function(){"use strict";var t=1e3,e=6e4,n2=36e5,r="millisecond",i="second",s2="minute",u="hour",a="day",o="week",c="month",f="quarter",h="year",d="date",l2="Invalid Date",$=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t2){var e2=["th","st","nd","rd"],n3=t2%100;return"["+t2+(e2[(n3-20)%10]||e2[n3]||e2[0])+"]"}},m=function(t2,e2,n3){var r2=String(t2);return!r2||r2.length>=e2?t2:""+Array(e2+1-r2.length).join(n3)+t2},v={s:m,z:function(t2){var e2=-t2.utcOffset(),n3=Math.abs(e2),r2=Math.floor(n3/60),i2=n3%60;return(e2<=0?"+":"-")+m(r2,2,"0")+":"+m(i2,2,"0")},m:function t2(e2,n3){if(e2.date()<n3.date())return-t2(n3,e2);var r2=12*(n3.year()-e2.year())+(n3.month()-e2.month()),i2=e2.clone().add(r2,c),s3=n3-i2<0,u2=e2.clone().add(r2+(s3?-1:1),c);return+(-(r2+(n3-i2)/(s3?i2-u2:u2-i2))||0)},a:function(t2){return t2<0?Math.ceil(t2)||0:Math.floor(t2)},p:function(t2){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s2,s:i,ms:r,Q:f}[t2]||String(t2||"").toLowerCase().replace(/s$/,"")},u:function(t2){return t2===void 0}},g="en",D={};D[g]=M;var p="$isDayjsObject",S=function(t2){return t2 instanceof _||!(!t2||!t2[p])},w=function t2(e2,n3,r2){var i2;if(!e2)return g;if(typeof e2=="string"){var s3=e2.toLowerCase();D[s3]&&(i2=s3),n3&&(D[s3]=n3,i2=s3);var u2=e2.split("-");if(!i2&&u2.length>1)return t2(u2[0])}else{var a2=e2.name;D[a2]=e2,i2=a2}return!r2&&i2&&(g=i2),i2||!r2&&g},O=function(t2,e2){if(S(t2))return t2.clone();var n3=typeof e2=="object"?e2:{};return n3.date=t2,n3.args=arguments,new _(n3)},b=v;b.l=w,b.i=S,b.w=function(t2,e2){return O(t2,{locale:e2.$L,utc:e2.$u,x:e2.$x,$offset:e2.$offset})};var _=(function(){function M2(t2){this.$L=w(t2.locale,null,!0),this.parse(t2),this.$x=this.$x||t2.x||{},this[p]=!0}var m2=M2.prototype;return m2.parse=function(t2){this.$d=(function(t3){var e2=t3.date,n3=t3.utc;if(e2===null)return new Date(NaN);if(b.u(e2))return new Date;if(e2 instanceof Date)return new Date(e2);if(typeof e2=="string"&&!/Z$/i.test(e2)){var r2=e2.match($);if(r2){var i2=r2[2]-1||0,s3=(r2[7]||"0").substring(0,3);return n3?new Date(Date.UTC(r2[1],i2,r2[3]||1,r2[4]||0,r2[5]||0,r2[6]||0,s3)):new Date(r2[1],i2,r2[3]||1,r2[4]||0,r2[5]||0,r2[6]||0,s3)}}return new Date(e2)})(t2),this.init()},m2.init=function(){var t2=this.$d;this.$y=t2.getFullYear(),this.$M=t2.getMonth(),this.$D=t2.getDate(),this.$W=t2.getDay(),this.$H=t2.getHours(),this.$m=t2.getMinutes(),this.$s=t2.getSeconds(),this.$ms=t2.getMilliseconds()},m2.$utils=function(){return b},m2.isValid=function(){return this.$d.toString()!==l2},m2.isSame=function(t2,e2){var n3=O(t2);return this.startOf(e2)<=n3&&n3<=this.endOf(e2)},m2.isAfter=function(t2,e2){return O(t2)<this.startOf(e2)},m2.isBefore=function(t2,e2){return this.endOf(e2)<O(t2)},m2.$g=function(t2,e2,n3){return b.u(t2)?this[e2]:this.set(n3,t2)},m2.unix=function(){return Math.floor(this.valueOf()/1e3)},m2.valueOf=function(){return this.$d.getTime()},m2.startOf=function(t2,e2){var n3=this,r2=!!b.u(e2)||e2,f2=b.p(t2),l3=function(t3,e3){var i2=b.w(n3.$u?Date.UTC(n3.$y,e3,t3):new Date(n3.$y,e3,t3),n3);return r2?i2:i2.endOf(a)},$2=function(t3,e3){return b.w(n3.toDate()[t3].apply(n3.toDate("s"),(r2?[0,0,0,0]:[23,59,59,999]).slice(e3)),n3)},y2=this.$W,M3=this.$M,m3=this.$D,v2="set"+(this.$u?"UTC":"");switch(f2){case h:return r2?l3(1,0):l3(31,11);case c:return r2?l3(1,M3):l3(0,M3+1);case o:var g2=this.$locale().weekStart||0,D2=(y2<g2?y2+7:y2)-g2;return l3(r2?m3-D2:m3+(6-D2),M3);case a:case d:return $2(v2+"Hours",0);case u:return $2(v2+"Minutes",1);case s2:return $2(v2+"Seconds",2);case i:return $2(v2+"Milliseconds",3);default:return this.clone()}},m2.endOf=function(t2){return this.startOf(t2,!1)},m2.$set=function(t2,e2){var n3,o2=b.p(t2),f2="set"+(this.$u?"UTC":""),l3=(n3={},n3[a]=f2+"Date",n3[d]=f2+"Date",n3[c]=f2+"Month",n3[h]=f2+"FullYear",n3[u]=f2+"Hours",n3[s2]=f2+"Minutes",n3[i]=f2+"Seconds",n3[r]=f2+"Milliseconds",n3)[o2],$2=o2===a?this.$D+(e2-this.$W):e2;if(o2===c||o2===h){var y2=this.clone().set(d,1);y2.$d[l3]($2),y2.init(),this.$d=y2.set(d,Math.min(this.$D,y2.daysInMonth())).$d}else l3&&this.$d[l3]($2);return this.init(),this},m2.set=function(t2,e2){return this.clone().$set(t2,e2)},m2.get=function(t2){return this[b.p(t2)]()},m2.add=function(r2,f2){var d2,l3=this;r2=Number(r2);var $2=b.p(f2),y2=function(t2){var e2=O(l3);return b.w(e2.date(e2.date()+Math.round(t2*r2)),l3)};if($2===c)return this.set(c,this.$M+r2);if($2===h)return this.set(h,this.$y+r2);if($2===a)return y2(1);if($2===o)return y2(7);var M3=(d2={},d2[s2]=e,d2[u]=n2,d2[i]=t,d2)[$2]||1,m3=this.$d.getTime()+r2*M3;return b.w(m3,this)},m2.subtract=function(t2,e2){return this.add(-1*t2,e2)},m2.format=function(t2){var e2=this,n3=this.$locale();if(!this.isValid())return n3.invalidDate||l2;var r2=t2||"YYYY-MM-DDTHH:mm:ssZ",i2=b.z(this),s3=this.$H,u2=this.$m,a2=this.$M,o2=n3.weekdays,c2=n3.months,f2=n3.meridiem,h2=function(t3,n4,i3,s4){return t3&&(t3[n4]||t3(e2,r2))||i3[n4].slice(0,s4)},d2=function(t3){return b.s(s3%12||12,t3,"0")},$2=f2||function(t3,e3,n4){var r3=t3<12?"AM":"PM";return n4?r3.toLowerCase():r3};return r2.replace(y,function(t3,r3){return r3||(function(t4){switch(t4){case"YY":return String(e2.$y).slice(-2);case"YYYY":return b.s(e2.$y,4,"0");case"M":return a2+1;case"MM":return b.s(a2+1,2,"0");case"MMM":return h2(n3.monthsShort,a2,c2,3);case"MMMM":return h2(c2,a2);case"D":return e2.$D;case"DD":return b.s(e2.$D,2,"0");case"d":return String(e2.$W);case"dd":return h2(n3.weekdaysMin,e2.$W,o2,2);case"ddd":return h2(n3.weekdaysShort,e2.$W,o2,3);case"dddd":return o2[e2.$W];case"H":return String(s3);case"HH":return b.s(s3,2,"0");case"h":return d2(1);case"hh":return d2(2);case"a":return $2(s3,u2,!0);case"A":return $2(s3,u2,!1);case"m":return String(u2);case"mm":return b.s(u2,2,"0");case"s":return String(e2.$s);case"ss":return b.s(e2.$s,2,"0");case"SSS":return b.s(e2.$ms,3,"0");case"Z":return i2}return null})(t3)||i2.replace(":","")})},m2.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m2.diff=function(r2,d2,l3){var $2,y2=this,M3=b.p(d2),m3=O(r2),v2=(m3.utcOffset()-this.utcOffset())*e,g2=this-m3,D2=function(){return b.m(y2,m3)};switch(M3){case h:$2=D2()/12;break;case c:$2=D2();break;case f:$2=D2()/3;break;case o:$2=(g2-v2)/6048e5;break;case a:$2=(g2-v2)/864e5;break;case u:$2=g2/n2;break;case s2:$2=g2/e;break;case i:$2=g2/t;break;default:$2=g2}return l3?$2:b.a($2)},m2.daysInMonth=function(){return this.endOf(c).$D},m2.$locale=function(){return D[this.$L]},m2.locale=function(t2,e2){if(!t2)return this.$L;var n3=this.clone(),r2=w(t2,e2,!0);return r2&&(n3.$L=r2),n3},m2.clone=function(){return b.w(this.$d,this)},m2.toDate=function(){return new Date(this.valueOf())},m2.toJSON=function(){return this.isValid()?this.toISOString():null},m2.toISOString=function(){return this.$d.toISOString()},m2.toString=function(){return this.$d.toUTCString()},M2})(),Y=_.prototype;return O.prototype=Y,[["$ms",r],["$s",i],["$m",s2],["$H",u],["$W",a],["$M",c],["$y",h],["$D",d]].forEach(function(t2){Y[t2[1]]=function(e2){return this.$g(e2,t2[0],t2[1])}}),O.extend=function(t2,e2){return t2.$i||(t2(e2,_,O),t2.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t2){return O(1e3*t2)},O.en=D[g],O.Ls=D,O.p={},O})}});var require_localeData=__commonJS({"node_modules/dayjs/plugin/localeData.js"(exports,module){(function(n2,e){typeof exports=="object"&&typeof module<"u"?module.exports=e():typeof define=="function"&&define.amd?define(e):(n2=typeof globalThis<"u"?globalThis:n2||self).dayjs_plugin_localeData=e()})(exports,function(){"use strict";return function(n2,e,t){var r=e.prototype,o=function(n3){return n3&&(n3.indexOf?n3:n3.s)},u=function(n3,e2,t2,r2,u2){var i2=n3.name?n3:n3.$locale(),a2=o(i2[e2]),s3=o(i2[t2]),f=a2||s3.map(function(n4){return n4.slice(0,r2)});if(!u2)return f;var d=i2.weekStart;return f.map(function(n4,e3){return f[(e3+(d||0))%7]})},i=function(){return t.Ls[t.locale()]},a=function(n3,e2){return n3.formats[e2]||(function(n4){return n4.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(n5,e3,t2){return e3||t2.slice(1)})})(n3.formats[e2.toUpperCase()])},s2=function(){var n3=this;return{months:function(e2){return e2?e2.format("MMMM"):u(n3,"months")},monthsShort:function(e2){return e2?e2.format("MMM"):u(n3,"monthsShort","months",3)},firstDayOfWeek:function(){return n3.$locale().weekStart||0},weekdays:function(e2){return e2?e2.format("dddd"):u(n3,"weekdays")},weekdaysMin:function(e2){return e2?e2.format("dd"):u(n3,"weekdaysMin","weekdays",2)},weekdaysShort:function(e2){return e2?e2.format("ddd"):u(n3,"weekdaysShort","weekdays",3)},longDateFormat:function(e2){return a(n3.$locale(),e2)},meridiem:this.$locale().meridiem,ordinal:this.$locale().ordinal}};r.localeData=function(){return s2.bind(this)()},t.localeData=function(){var n3=i();return{firstDayOfWeek:function(){return n3.weekStart||0},weekdays:function(){return t.weekdays()},weekdaysShort:function(){return t.weekdaysShort()},weekdaysMin:function(){return t.weekdaysMin()},months:function(){return t.months()},monthsShort:function(){return t.monthsShort()},longDateFormat:function(e2){return a(n3,e2)},meridiem:n3.meridiem,ordinal:n3.ordinal}},t.months=function(){return u(i(),"months")},t.monthsShort=function(){return u(i(),"monthsShort","months",3)},t.weekdays=function(n3){return u(i(),"weekdays",null,null,n3)},t.weekdaysShort=function(n3){return u(i(),"weekdaysShort","weekdays",3,n3)},t.weekdaysMin=function(n3){return u(i(),"weekdaysMin","weekdays",2,n3)}}})}});var require_localizedFormat=__commonJS({"node_modules/dayjs/plugin/localizedFormat.js"(exports,module){(function(e,t){typeof exports=="object"&&typeof module<"u"?module.exports=t():typeof define=="function"&&define.amd?define(t):(e=typeof globalThis<"u"?globalThis:e||self).dayjs_plugin_localizedFormat=t()})(exports,function(){"use strict";var e={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};return function(t,o,n2){var r=o.prototype,i=r.format;n2.en.formats=e,r.format=function(t2){t2===void 0&&(t2="YYYY-MM-DDTHH:mm:ssZ");var o2=this.$locale().formats,n3=(function(t3,o3){return t3.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(t4,n4,r2){var i2=r2&&r2.toUpperCase();return n4||o3[r2]||e[r2]||o3[i2].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(e2,t5,o4){return t5||o4.slice(1)})})})(t2,o2===void 0?{}:o2);return i.call(this,n3)}}})}});var require_isoWeek=__commonJS({"node_modules/dayjs/plugin/isoWeek.js"(exports,module){(function(e,t){typeof exports=="object"&&typeof module<"u"?module.exports=t():typeof define=="function"&&define.amd?define(t):(e=typeof globalThis<"u"?globalThis:e||self).dayjs_plugin_isoWeek=t()})(exports,function(){"use strict";var e="day";return function(t,i,s2){var a=function(t2){return t2.add(4-t2.isoWeekday(),e)},d=i.prototype;d.isoWeekYear=function(){return a(this).year()},d.isoWeek=function(t2){if(!this.$utils().u(t2))return this.add(7*(t2-this.isoWeek()),e);var i2,d2,n3,o,r=a(this),u=(i2=this.isoWeekYear(),d2=this.$u,n3=(d2?s2.utc:s2)().year(i2).startOf("year"),o=4-n3.isoWeekday(),n3.isoWeekday()>4&&(o+=7),n3.add(o,e));return r.diff(u,"week")+1},d.isoWeekday=function(e2){return this.$utils().u(e2)?this.day()||7:this.day(this.day()%7?e2:e2-7)};var n2=d.startOf;d.startOf=function(e2,t2){var i2=this.$utils(),s3=!!i2.u(t2)||t2;return i2.p(e2)==="isoweek"?s3?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):n2.bind(this)(e2,t2)}}})}});var require_weekOfYear=__commonJS({"node_modules/dayjs/plugin/weekOfYear.js"(exports,module){(function(e,t){typeof exports=="object"&&typeof module<"u"?module.exports=t():typeof define=="function"&&define.amd?define(t):(e=typeof globalThis<"u"?globalThis:e||self).dayjs_plugin_weekOfYear=t()})(exports,function(){"use strict";var e="week",t="year";return function(i,n2,r){var f=n2.prototype;f.week=function(i2){if(i2===void 0&&(i2=null),i2!==null)return this.add(7*(i2-this.week()),"day");var n3=this.$locale().yearStart||1;if(this.month()===11&&this.date()>25){var f2=r(this).startOf(t).add(1,t).date(n3),s2=r(this).endOf(e);if(f2.isBefore(s2))return 1}var a=r(this).startOf(t).date(n3).startOf(e).subtract(1,"millisecond"),o=this.diff(a,e,!0);return o<0?r(this).startOf("week").week():Math.ceil(o)},f.weeks=function(e2){return e2===void 0&&(e2=null),this.week(e2)}}})}});var require_customParseFormat=__commonJS({"node_modules/dayjs/plugin/customParseFormat.js"(exports,module){(function(e,t){typeof exports=="object"&&typeof module<"u"?module.exports=t():typeof define=="function"&&define.amd?define(t):(e=typeof globalThis<"u"?globalThis:e||self).dayjs_plugin_customParseFormat=t()})(exports,function(){"use strict";var e={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},t=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n2=/\d/,r=/\d\d/,i=/\d\d?/,o=/\d*[^-_:/,()\s\d]+/,s2={},a=function(e2){return(e2=+e2)+(e2>68?1900:2e3)},f=function(e2){return function(t2){this[e2]=+t2}},h=[/[+-]\d\d:?(\d\d)?|Z/,function(e2){(this.zone||(this.zone={})).offset=(function(e3){if(!e3||e3==="Z")return 0;var t2=e3.match(/([+-]|\d\d)/g),n3=60*t2[1]+(+t2[2]||0);return n3===0?0:t2[0]==="+"?-n3:n3})(e2)}],u=function(e2){var t2=s2[e2];return t2&&(t2.indexOf?t2:t2.s.concat(t2.f))},d=function(e2,t2){var n3,r2=s2.meridiem;if(r2){for(var i2=1;i2<=24;i2+=1)if(e2.indexOf(r2(i2,0,t2))>-1){n3=i2>12;break}}else n3=e2===(t2?"pm":"PM");return n3},c={A:[o,function(e2){this.afternoon=d(e2,!1)}],a:[o,function(e2){this.afternoon=d(e2,!0)}],Q:[n2,function(e2){this.month=3*(e2-1)+1}],S:[n2,function(e2){this.milliseconds=100*+e2}],SS:[r,function(e2){this.milliseconds=10*+e2}],SSS:[/\d{3}/,function(e2){this.milliseconds=+e2}],s:[i,f("seconds")],ss:[i,f("seconds")],m:[i,f("minutes")],mm:[i,f("minutes")],H:[i,f("hours")],h:[i,f("hours")],HH:[i,f("hours")],hh:[i,f("hours")],D:[i,f("day")],DD:[r,f("day")],Do:[o,function(e2){var t2=s2.ordinal,n3=e2.match(/\d+/);if(this.day=n3[0],t2)for(var r2=1;r2<=31;r2+=1)t2(r2).replace(/\[|\]/g,"")===e2&&(this.day=r2)}],w:[i,f("week")],ww:[r,f("week")],M:[i,f("month")],MM:[r,f("month")],MMM:[o,function(e2){var t2=u("months"),n3=(u("monthsShort")||t2.map(function(e3){return e3.slice(0,3)})).indexOf(e2)+1;if(n3<1)throw new Error;this.month=n3%12||n3}],MMMM:[o,function(e2){var t2=u("months").indexOf(e2)+1;if(t2<1)throw new Error;this.month=t2%12||t2}],Y:[/[+-]?\d+/,f("year")],YY:[r,function(e2){this.year=a(e2)}],YYYY:[/\d{4}/,f("year")],Z:h,ZZ:h};function l2(n3){var r2,i2;r2=n3,i2=s2&&s2.formats;for(var o2=(n3=r2.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(t2,n4,r3){var o3=r3&&r3.toUpperCase();return n4||i2[r3]||e[r3]||i2[o3].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(e2,t3,n5){return t3||n5.slice(1)})})).match(t),a2=o2.length,f2=0;f2<a2;f2+=1){var h2=o2[f2],u2=c[h2],d2=u2&&u2[0],l3=u2&&u2[1];o2[f2]=l3?{regex:d2,parser:l3}:h2.replace(/^\[|\]$/g,"")}return function(e2){for(var t2={},n4=0,r3=0;n4<a2;n4+=1){var i3=o2[n4];if(typeof i3=="string")r3+=i3.length;else{var s3=i3.regex,f3=i3.parser,h3=e2.slice(r3),u3=s3.exec(h3)[0];f3.call(t2,u3),e2=e2.replace(u3,"")}}return(function(e3){var t3=e3.afternoon;if(t3!==void 0){var n5=e3.hours;t3?n5<12&&(e3.hours+=12):n5===12&&(e3.hours=0),delete e3.afternoon}})(t2),t2}}return function(e2,t2,n3){n3.p.customParseFormat=!0,e2&&e2.parseTwoDigitYear&&(a=e2.parseTwoDigitYear);var r2=t2.prototype,i2=r2.parse;r2.parse=function(e3){var t3=e3.date,r3=e3.utc,o2=e3.args;this.$u=r3;var a2=o2[1];if(typeof a2=="string"){var f2=o2[2]===!0,h2=o2[3]===!0,u2=f2||h2,d2=o2[2];h2&&(d2=o2[2]),s2=this.$locale(),!f2&&d2&&(s2=n3.Ls[d2]),this.$d=(function(e4,t4,n4,r4){try{if(["x","X"].indexOf(t4)>-1)return new Date((t4==="X"?1e3:1)*e4);var i3=l2(t4)(e4),o3=i3.year,s3=i3.month,a3=i3.day,f3=i3.hours,h3=i3.minutes,u3=i3.seconds,d3=i3.milliseconds,c3=i3.zone,m2=i3.week,M2=new Date,Y=a3||(o3||s3?1:M2.getDate()),p=o3||M2.getFullYear(),v=0;o3&&!s3||(v=s3>0?s3-1:M2.getMonth());var D,w=f3||0,g=h3||0,y=u3||0,L=d3||0;return c3?new Date(Date.UTC(p,v,Y,w,g,y,L+60*c3.offset*1e3)):n4?new Date(Date.UTC(p,v,Y,w,g,y,L)):(D=new Date(p,v,Y,w,g,y,L),m2&&(D=r4(D).week(m2).toDate()),D)}catch(e5){return new Date("")}})(t3,a2,r3,n3),this.init(),d2&&d2!==!0&&(this.$L=this.locale(d2).$L),u2&&t3!=this.format(a2)&&(this.$d=new Date("")),s2={}}else if(a2 instanceof Array)for(var c2=a2.length,m=1;m<=c2;m+=1){o2[1]=a2[m-1];var M=n3.apply(this,o2);if(M.isValid()){this.$d=M.$d,this.$L=M.$L,this.init();break}m===c2&&(this.$d=new Date(""))}else i2.call(this,e3)}}})}});var require_papaparse_min=__commonJS({"node_modules/papaparse/papaparse.min.js"(exports,module){((e,t)=>{typeof define=="function"&&define.amd?define([],t):typeof module=="object"&&typeof exports<"u"?module.exports=t():e.Papa=t()})(exports,function r(){var n2=typeof self<"u"?self:typeof window<"u"?window:n2!==void 0?n2:{},d,s2=!n2.document&&!!n2.postMessage,a=n2.IS_PAPA_WORKER||!1,o={},h=0,v={};function u(e){this._handle=null,this._finished=!1,this._completed=!1,this._halted=!1,this._input=null,this._baseIndex=0,this._partialLine="",this._rowCount=0,this._start=0,this._nextChunk=null,this.isFirstChunk=!0,this._completeResults={data:[],errors:[],meta:{}},function(e2){var t=b(e2);t.chunkSize=parseInt(t.chunkSize),e2.step||e2.chunk||(t.chunkSize=null),this._handle=new i(t),(this._handle.streamer=this)._config=t}.call(this,e),this.parseChunk=function(t,e2){var i2=parseInt(this._config.skipFirstNLines)||0;if(this.isFirstChunk&&0<i2){let e3=this._config.newline;e3||(r2=this._config.quoteChar||'"',e3=this._handle.guessLineEndings(t,r2)),t=[...t.split(e3).slice(i2)].join(e3)}this.isFirstChunk&&U(this._config.beforeFirstChunk)&&(r2=this._config.beforeFirstChunk(t))!==void 0&&(t=r2),this.isFirstChunk=!1,this._halted=!1;var i2=this._partialLine+t,r2=(this._partialLine="",this._handle.parse(i2,this._baseIndex,!this._finished));if(!this._handle.paused()&&!this._handle.aborted()){if(t=r2.meta.cursor,i2=(this._finished||(this._partialLine=i2.substring(t-this._baseIndex),this._baseIndex=t),r2&&r2.data&&(this._rowCount+=r2.data.length),this._finished||this._config.preview&&this._rowCount>=this._config.preview),a)n2.postMessage({results:r2,workerId:v.WORKER_ID,finished:i2});else if(U(this._config.chunk)&&!e2){if(this._config.chunk(r2,this._handle),this._handle.paused()||this._handle.aborted())return void(this._halted=!0);this._completeResults=r2=void 0}return this._config.step||this._config.chunk||(this._completeResults.data=this._completeResults.data.concat(r2.data),this._completeResults.errors=this._completeResults.errors.concat(r2.errors),this._completeResults.meta=r2.meta),this._completed||!i2||!U(this._config.complete)||r2&&r2.meta.aborted||(this._config.complete(this._completeResults,this._input),this._completed=!0),i2||r2&&r2.meta.paused||this._nextChunk(),r2}this._halted=!0},this._sendError=function(e2){U(this._config.error)?this._config.error(e2):a&&this._config.error&&n2.postMessage({workerId:v.WORKER_ID,error:e2,finished:!1})}}function f(e){var r2;(e=e||{}).chunkSize||(e.chunkSize=v.RemoteChunkSize),u.call(this,e),this._nextChunk=s2?function(){this._readChunk(),this._chunkLoaded()}:function(){this._readChunk()},this.stream=function(e2){this._input=e2,this._nextChunk()},this._readChunk=function(){if(this._finished)this._chunkLoaded();else{if(r2=new XMLHttpRequest,this._config.withCredentials&&(r2.withCredentials=this._config.withCredentials),s2||(r2.onload=y(this._chunkLoaded,this),r2.onerror=y(this._chunkError,this)),r2.open(this._config.downloadRequestBody?"POST":"GET",this._input,!s2),this._config.downloadRequestHeaders){var e2,t=this._config.downloadRequestHeaders;for(e2 in t)r2.setRequestHeader(e2,t[e2])}var i2;this._config.chunkSize&&(i2=this._start+this._config.chunkSize-1,r2.setRequestHeader("Range","bytes="+this._start+"-"+i2));try{r2.send(this._config.downloadRequestBody)}catch(e3){this._chunkError(e3.message)}s2&&r2.status===0&&this._chunkError()}},this._chunkLoaded=function(){r2.readyState===4&&(r2.status<200||400<=r2.status?this._chunkError():(this._start+=this._config.chunkSize||r2.responseText.length,this._finished=!this._config.chunkSize||this._start>=(e2=>(e2=e2.getResponseHeader("Content-Range"))!==null?parseInt(e2.substring(e2.lastIndexOf("/")+1)):-1)(r2),this.parseChunk(r2.responseText)))},this._chunkError=function(e2){e2=r2.statusText||e2,this._sendError(new Error(e2))}}function l2(e){(e=e||{}).chunkSize||(e.chunkSize=v.LocalChunkSize),u.call(this,e);var i2,r2,n3=typeof FileReader<"u";this.stream=function(e2){this._input=e2,r2=e2.slice||e2.webkitSlice||e2.mozSlice,n3?((i2=new FileReader).onload=y(this._chunkLoaded,this),i2.onerror=y(this._chunkError,this)):i2=new FileReaderSync,this._nextChunk()},this._nextChunk=function(){this._finished||this._config.preview&&!(this._rowCount<this._config.preview)||this._readChunk()},this._readChunk=function(){var e2=this._input,t=(this._config.chunkSize&&(t=Math.min(this._start+this._config.chunkSize,this._input.size),e2=r2.call(e2,this._start,t)),i2.readAsText(e2,this._config.encoding));n3||this._chunkLoaded({target:{result:t}})},this._chunkLoaded=function(e2){this._start+=this._config.chunkSize,this._finished=!this._config.chunkSize||this._start>=this._input.size,this.parseChunk(e2.target.result)},this._chunkError=function(){this._sendError(i2.error)}}function c(e){var i2;u.call(this,e=e||{}),this.stream=function(e2){return i2=e2,this._nextChunk()},this._nextChunk=function(){var e2,t;if(!this._finished)return e2=this._config.chunkSize,i2=e2?(t=i2.substring(0,e2),i2.substring(e2)):(t=i2,""),this._finished=!i2,this.parseChunk(t)}}function p(e){u.call(this,e=e||{});var t=[],i2=!0,r2=!1;this.pause=function(){u.prototype.pause.apply(this,arguments),this._input.pause()},this.resume=function(){u.prototype.resume.apply(this,arguments),this._input.resume()},this.stream=function(e2){this._input=e2,this._input.on("data",this._streamData),this._input.on("end",this._streamEnd),this._input.on("error",this._streamError)},this._checkIsFinished=function(){r2&&t.length===1&&(this._finished=!0)},this._nextChunk=function(){this._checkIsFinished(),t.length?this.parseChunk(t.shift()):i2=!0},this._streamData=y(function(e2){try{t.push(typeof e2=="string"?e2:e2.toString(this._config.encoding)),i2&&(i2=!1,this._checkIsFinished(),this.parseChunk(t.shift()))}catch(e3){this._streamError(e3)}},this),this._streamError=y(function(e2){this._streamCleanUp(),this._sendError(e2)},this),this._streamEnd=y(function(){this._streamCleanUp(),r2=!0,this._streamData("")},this),this._streamCleanUp=y(function(){this._input.removeListener("data",this._streamData),this._input.removeListener("end",this._streamEnd),this._input.removeListener("error",this._streamError)},this)}function i(m2){var n3,s3,a2,t,o2=Math.pow(2,53),h2=-o2,u2=/^\s*-?(\d+\.?|\.\d+|\d+\.\d+)([eE][-+]?\d+)?\s*$/,d2=/^((\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z)))$/,i2=this,r2=0,f2=0,l3=!1,e=!1,c2=[],p2={data:[],errors:[],meta:{}};function y2(e2){return m2.skipEmptyLines==="greedy"?e2.join("").trim()==="":e2.length===1&&e2[0].length===0}function g2(){if(p2&&a2&&(k("Delimiter","UndetectableDelimiter","Unable to auto-detect delimiting character; defaulted to '"+v.DefaultDelimiter+"'"),a2=!1),m2.skipEmptyLines&&(p2.data=p2.data.filter(function(e3){return!y2(e3)})),_2()){let t3=function(e3,t4){U(m2.transformHeader)&&(e3=m2.transformHeader(e3,t4)),c2.push(e3)};var t2=t3;if(p2)if(Array.isArray(p2.data[0])){for(var e2=0;_2()&&e2<p2.data.length;e2++)p2.data[e2].forEach(t3);p2.data.splice(0,1)}else p2.data.forEach(t3)}function i3(e3,t3){for(var i4=m2.header?{}:[],r4=0;r4<e3.length;r4++){var n4=r4,s4=e3[r4],s4=((e4,t4)=>(e5=>(m2.dynamicTypingFunction&&m2.dynamicTyping[e5]===void 0&&(m2.dynamicTyping[e5]=m2.dynamicTypingFunction(e5)),(m2.dynamicTyping[e5]||m2.dynamicTyping)===!0))(e4)?t4==="true"||t4==="TRUE"||t4!=="false"&&t4!=="FALSE"&&((e5=>{if(u2.test(e5)&&(e5=parseFloat(e5),h2<e5&&e5<o2))return 1})(t4)?parseFloat(t4):d2.test(t4)?new Date(t4):t4===""?null:t4):t4)(n4=m2.header?r4>=c2.length?"__parsed_extra":c2[r4]:n4,s4=m2.transform?m2.transform(s4,n4):s4);n4==="__parsed_extra"?(i4[n4]=i4[n4]||[],i4[n4].push(s4)):i4[n4]=s4}return m2.header&&(r4>c2.length?k("FieldMismatch","TooManyFields","Too many fields: expected "+c2.length+" fields but parsed "+r4,f2+t3):r4<c2.length&&k("FieldMismatch","TooFewFields","Too few fields: expected "+c2.length+" fields but parsed "+r4,f2+t3)),i4}var r3;p2&&(m2.header||m2.dynamicTyping||m2.transform)&&(r3=1,!p2.data.length||Array.isArray(p2.data[0])?(p2.data=p2.data.map(i3),r3=p2.data.length):p2.data=i3(p2.data,0),m2.header&&p2.meta&&(p2.meta.fields=c2),f2+=r3)}function _2(){return m2.header&&c2.length===0}function k(e2,t2,i3,r3){e2={type:e2,code:t2,message:i3},r3!==void 0&&(e2.row=r3),p2.errors.push(e2)}U(m2.step)&&(t=m2.step,m2.step=function(e2){p2=e2,_2()?g2():(g2(),p2.data.length!==0&&(r2+=e2.data.length,m2.preview&&r2>m2.preview?s3.abort():(p2.data=p2.data[0],t(p2,i2))))}),this.parse=function(e2,t2,i3){var r3=m2.quoteChar||'"',r3=(m2.newline||(m2.newline=this.guessLineEndings(e2,r3)),a2=!1,m2.delimiter?U(m2.delimiter)&&(m2.delimiter=m2.delimiter(e2),p2.meta.delimiter=m2.delimiter):((r3=((e3,t3,i4,r4,n4)=>{var s4,a3,o3,h3;n4=n4||[","," ","|",";",v.RECORD_SEP,v.UNIT_SEP];for(var u3=0;u3<n4.length;u3++){for(var d3,f3=n4[u3],l4=0,c3=0,p3=0,g3=(o3=void 0,new E({comments:r4,delimiter:f3,newline:t3,preview:10}).parse(e3)),_3=0;_3<g3.data.length;_3++)i4&&y2(g3.data[_3])?p3++:(d3=g3.data[_3].length,c3+=d3,o3===void 0?o3=d3:0<d3&&(l4+=Math.abs(d3-o3),o3=d3));0<g3.data.length&&(c3/=g3.data.length-p3),(a3===void 0||l4<=a3)&&(h3===void 0||h3<c3)&&1.99<c3&&(a3=l4,s4=f3,h3=c3)}return{successful:!!(m2.delimiter=s4),bestDelimiter:s4}})(e2,m2.newline,m2.skipEmptyLines,m2.comments,m2.delimitersToGuess)).successful?m2.delimiter=r3.bestDelimiter:(a2=!0,m2.delimiter=v.DefaultDelimiter),p2.meta.delimiter=m2.delimiter),b(m2));return m2.preview&&m2.header&&r3.preview++,n3=e2,s3=new E(r3),p2=s3.parse(n3,t2,i3),g2(),l3?{meta:{paused:!0}}:p2||{meta:{paused:!1}}},this.paused=function(){return l3},this.pause=function(){l3=!0,s3.abort(),n3=U(m2.chunk)?"":n3.substring(s3.getCharIndex())},this.resume=function(){i2.streamer._halted?(l3=!1,i2.streamer.parseChunk(n3,!0)):setTimeout(i2.resume,3)},this.aborted=function(){return e},this.abort=function(){e=!0,s3.abort(),p2.meta.aborted=!0,U(m2.complete)&&m2.complete(p2),n3=""},this.guessLineEndings=function(e2,t2){e2=e2.substring(0,1048576);var t2=new RegExp(P(t2)+"([^]*?)"+P(t2),"gm"),i3=(e2=e2.replace(t2,"")).split("\r"),t2=e2.split(`
|
|
2
2
|
`),e2=1<t2.length&&t2[0].length<i3[0].length;if(i3.length===1||e2)return`
|
|
3
3
|
`;for(var r3=0,n4=0;n4<i3.length;n4++)i3[n4][0]===`
|
|
4
4
|
`&&r3++;return r3>=i3.length/2?`\r
|
|
@@ -132,6 +132,7 @@ list should be an Array.`),e3.length===0)return new f(0);if(e3.length===1)return
|
|
|
132
132
|
loggingTrialUsed
|
|
133
133
|
mobileAppLicenceStatus
|
|
134
134
|
name
|
|
135
|
+
platform
|
|
135
136
|
premiumLicenceStatus
|
|
136
137
|
publicId
|
|
137
138
|
requireDedicatedRscServer
|
|
@@ -259,7 +260,7 @@ list should be an Array.`),e3.length===0)return new f(0);if(e3.length===1)return
|
|
|
259
260
|
support
|
|
260
261
|
type
|
|
261
262
|
}
|
|
262
|
-
`);var sortBy=naturalSort();function sortByName(a,b){return sortBy(a.name,b.name)}var didAdd29=createAction("[ChangeNotification] AcceptedTermsOfUsePolicy Was Added",props());var adapter11=createResourceAdapter({sortComparer:sortByName,subresourcePaths:SUBRESOURCE_PATHS6,mergeFn:updateResource}),initialState12=adapter11.getInitialState({allServiceAccountsLoaded:!1,allServiceAccountsLoading:!1,me:null}),reducer10=createReducer(initialState12,on(reset26,()=>__spreadValues({},initialState12)),on(resetList,state=>__spreadProps(__spreadValues({},state),{allLoading:initialState12.allLoading,allLoaded:initialState12.allLoaded,entities:initialState12.entities,ids:initialState12.ids})),on(didAdd26,(state,{data})=>data?adapter11.addOne(data,state):state),on(loadAll16,state=>__spreadProps(__spreadValues({},state),{allLoading:!0,allServiceAccountsLoading:!0})),on(loadAllFailure16,state=>__spreadProps(__spreadValues({},state),{allLoading:!1,allServiceAccountsLoading:!1})),on(loadAllSuccess17,(state,{data})=>adapter11.upsertMany(data,__spreadProps(__spreadValues({},state),{allLoading:!1,allLoaded:!0,allServiceAccountsLoading:!1,allServiceAccountsLoaded:!0}))),on(loadAllServiceAccounts,state=>__spreadProps(__spreadValues({},state),{allServiceAccountsLoading:!0})),on(loadAllServiceAccountsFailure,state=>__spreadProps(__spreadValues({},state),{allServiceAccountsLoading:!1})),on(loadAllServiceAccountsSuccess,(state,{data})=>adapter11.upsertMany(data,__spreadProps(__spreadValues({},state),{allServiceAccountsLoading:!1,allServiceAccountsLoaded:!0}))),on(loadMeSuccess3,loginLoadMeSuccess,(state,{data})=>__spreadProps(__spreadValues({},state),{me:data})),on(loadDetailsSuccess3,(state,{data})=>adapter11.upsertOne(data,state)),on(didUpdate25,(state,{data,publicId})=>data?adapter11.updateOne({id:publicId,changes:data},state):state),on(shouldUpdateMe2,updateMeSuccess2,didUpdateMe2,(state,{data})=>__spreadProps(__spreadValues({},state),{me:updateResource(state.me,omitSubresources(data,SUBRESOURCE_PATHS6))})),on(removeSuccess21,didRemove26,(state,{publicId})=>adapter11.removeOne(publicId,state)),on(removeMeSuccess,state=>__spreadProps(__spreadValues({},state),{me:null})),on(didAdd29,(state,{data})=>{let acceptedTermsOfUsePolicies=state.me?.acceptedTermsOfUsePolicies?.some(a=>a.publicId===data?.publicId)?state.me?.acceptedTermsOfUsePolicies:[...state.me?.acceptedTermsOfUsePolicies||[],data];return __spreadProps(__spreadValues({},state),{me:updateResource(state.me,omitSubresources({acceptedTermsOfUsePolicies},SUBRESOURCE_PATHS6))})}),on(loadOneSuccess,didUpdate3,(state,{data})=>data?.connectedUsers?adapter11.upsertMany(data.connectedUsers,state):state),on(loadAllSuccess2,loadAllActiveSuccess,(state,{data})=>data[0]?.connectedUsers?adapter11.upsertMany(flatMap_default(data.map(agent=>agent.connectedUsers||[])),state):state),on(didAdd6,(state,{data})=>adapter11.upsertOne(data,state)),on(didAdd28,(state,{data})=>{let entity2=data.user?state.entities[data.user.publicId]:void 0;if(entity2?.memberships&&!entity2.memberships.some(m=>m.publicId===data.publicId)){let memberships=[...entity2.memberships,{publicId:data.publicId}],update56={id:entity2.publicId,changes:{memberships}};return adapter11.updateOne(update56,state)}return state}),on(didRemove28,(state,{publicId})=>{let updates=Object.values(state.entities).reduce((acc,entity2)=>{let membershipIdList=entity2.memberships?.map(m=>m.publicId)||[];if(entity2.memberships&&membershipIdList.includes(publicId)){let memberships=entity2.memberships.filter(m=>m.publicId!==publicId);return[...acc,{id:entity2.publicId,changes:{memberships}}]}return acc},[]);return updates.length?adapter11.updateMany(updates,state):state}),on(addListSuccess5,(state,{data})=>{let updates=data.reduce((acc,membership)=>{let entity2=membership.user?state.entities[membership.user.publicId]:void 0;if(entity2?.memberships){if(acc.some(update56=>update56.id===entity2.publicId))return acc.map(update56=>{if(update56.id===entity2.publicId&&update56.changes.memberships){let memberships=[...update56.changes.memberships,{publicId:membership.publicId}];return __spreadProps(__spreadValues({},update56),{changes:{memberships}})}return update56});{let memberships=[...entity2.memberships.filter(m=>m.publicId!==membership.publicId)||[],{publicId:membership.publicId}],update56={id:entity2.publicId,changes:{memberships}};return[...acc,update56]}}return acc},[]);return updates.length?adapter11.updateMany(updates,state):state}),on(removeListSuccess4,(state,{publicIdList})=>{let updates=Object.values(state.entities).reduce((acc,user)=>{let membershipIdList=user.memberships?.map(m=>m.publicId)||[];if(user.memberships&&membershipIdList.some(id=>publicIdList.includes(id))){let memberships=user.memberships.filter(m=>!publicIdList.includes(m.publicId));return[...acc,{id:user.publicId,changes:{memberships}}]}return acc},[]);return updates.length?adapter11.updateMany(updates,state):state}),on(updateListSuccess3,(state,{data})=>{let updates=data.reduce((acc,membership)=>{let entity2=membership.user?state.entities[membership.user.publicId]:void 0;if(entity2?.memberships){if(acc.some(update56=>update56.id===entity2.publicId))return acc.map(update56=>{if(update56.id===entity2.publicId&&update56.changes.memberships){let memberships=update56.changes.memberships.map(m=>m.publicId===membership.publicId?__spreadValues(__spreadValues({},m),membership):m),changes=__spreadProps(__spreadValues({},update56.changes),{memberships});return __spreadProps(__spreadValues({},update56),{changes})}return update56});{let memberships=entity2.memberships.map(m=>m.publicId===membership.publicId?__spreadValues(__spreadValues({},m),membership):m);return[...acc,{id:entity2.publicId,changes:{memberships}}]}}return acc},[]);return updates.length?adapter11.updateMany(updates,state):state}),on(updateUserSuccess,(state,{userId,data})=>adapter11.updateOne({id:userId,changes:{memberships:data}},state))),feature10=createFeature({name:FEATURE_NAME12,reducer:reducer10});var selectAll12=createSelector(feature10.selectUserState,adapter11.getSelectors().selectAll),selectAllPersons=createSelector(selectAll12,users=>users.filter(user=>user.type==="person")),selectAllServiceAccounts=createSelector(selectAll12,users=>users.filter(user=>user.type==="service_account")),selectAllAccessiblePersons=createSelector(selectAllPersons,users=>users.filter(user=>!!user.emailAddress)),selectEntity5=publicId=>createSelector(feature10.selectEntities,entities=>entities[publicId]),selectMyId2=createSelector(feature10.selectMe,myUser=>myUser?.publicId||null),{selectAllLoading:selectAllLoading10,selectAllLoaded:selectAllLoaded10,selectAllServiceAccountsLoading,selectAllServiceAccountsLoaded,selectEntities:selectEntities13,selectMe:selectMe3}=feature10;function isRoleWithPermissions(...permissions){return role=>permissions.every(p=>role.permissions?.some(({publicId})=>publicId===p))}function isRoleWithSomePermissions(...permissions){return role=>permissions.some(p=>role.permissions?.some(({publicId})=>publicId===p))}var isAdminRole=isRoleWithPermissions("COMPANY_ADMIN"),isCompanyWideManageAgentRole=isRoleWithPermissions("COMPANY_WIDE_ROLE","MANAGE_AGENT"),isCompanyWideManageAgentTemplateRole=isRoleWithPermissions("COMPANY_WIDE_ROLE","MANAGE_AGENT_TEMPLATE"),isCompanyWideManagePageRole=isRoleWithPermissions("COMPANY_WIDE_ROLE","MANAGE_PAGE"),isCompanyWideRole=isRoleWithSomePermissions("COMPANY_ADMIN","COMPANY_WIDE_ROLE");function featureCheck(featureName,fallbackValue){let store=inject(Store);return mergeMap(source=>store.select(state=>featureName in state).pipe(take(1),mergeMap(exists=>exists?of(source):fallbackValue!==void 0?of(fallbackValue):EMPTY)))}function userHasPermissionInGroup(permission,memberships,roles){return group=>memberships.some(membership=>{if(!membership.role?.publicId||membership.group?.publicId!==group.publicId)return!1;let role=roles.find(({publicId})=>publicId===membership.role?.publicId);return role?.permissions?isRoleWithPermissions(permission)(role):!1})}function userHasManageAgentInGroup(memberships,roles){return userHasPermissionInGroup("MANAGE_AGENT",memberships,roles)}function userHasManagePageInGroup(memberships,roles){return userHasPermissionInGroup("MANAGE_PAGE",memberships,roles)}var selectAgentLikeEntity=publicId=>createSelector(selectEntities3,selectEntities5,(agents,templates)=>publicId&&(agents[publicId]||templates[publicId])||null);var selectMyBackendComponentTemplates=createSelector(selectAll5,selectMyId,(templates,myCompanyId)=>templates.filter(template=>template.company?.publicId===myCompanyId)),selectMyCompany=selectMe,selectMyCompanyId=selectMyId,selectMyCompanyWithFields=createResourceSelectorFactory(selectMyCompany),selectMyPageComponentTemplates=createSelector(selectAll,selectMyId,(templates,myCompanyId)=>templates.filter(template=>template.company?.publicId===myCompanyId)),selectMySector=selectMe2;var selectMyUser=selectMe3,selectMyUserId=selectMyId2,selectMyUserMemberships=createSelector(selectMyUserId,selectAll11,(myUserId,userMemberships)=>myUserId?userMemberships.filter(membership=>membership.user?.publicId===myUserId):[]),selectMyUserMembershipRoles=createSelector(selectMyUserMemberships,selectEntities8,(myUserMemberships,roles)=>compact_default(uniq_default(compact_default(myUserMemberships.map(membership=>membership.role?.publicId))).map(roleId=>roles[roleId]))),selectMyUserMembershipRoleAudiences=createSelector(selectMyUserMembershipRoles,roles=>uniqBy_default(compact_default(flatten_default(roles.map(role=>role.audiences))),audience=>audience.publicId)),selectMyUserMembershipRolePermissions=createSelector(selectMyUserMembershipRoles,roles=>uniqBy_default(compact_default(flatten_default(roles.map(role=>role.permissions))),permission=>permission.publicId)),selectGroupsWithManageAgent=createSelector(selectAll8,selectFeatureState2,selectMyUserMemberships,selectMyUserMembershipRoles,selectMyUser,(groups,groupState,myMemberships,myRoles,myUser)=>{if(myUser?.support||myRoles.some(isAdminRole)||myRoles.some(isCompanyWideManageAgentRole))return groups;let groupsWithManageAgent=groups.filter(userHasManageAgentInGroup(myMemberships,myRoles));return uniqBy_default(flatten_default(groupsWithManageAgent.map(group=>getGroupTree(group,groupState))),group=>group.publicId)}),selectGroupsWithManageAgentTemplate=createSelector(selectAll8,selectFeatureState2,selectMyUserMemberships,selectMyUserMembershipRoles,selectMyUser,(groups,groupState,myMemberships,myRoles,myUser)=>{if(myUser?.support||myRoles.some(isAdminRole)||myRoles.some(isCompanyWideManageAgentTemplateRole))return groups;let groupsWithManageAgentTemplate=groups.filter(userHasPermissionInGroup("MANAGE_AGENT_TEMPLATE",myMemberships,myRoles));return uniqBy_default(flatten_default(groupsWithManageAgentTemplate.map(group=>getGroupTree(group,groupState))),group=>group.publicId)}),selectGroupsWithManagePage=createSelector(selectAll8,selectFeatureState2,selectMyUserMemberships,selectMyUserMembershipRoles,selectMyUser,selectEntities10,(groups,groupState,myMemberships,myRoles,myUser,groupTypeEntities)=>{let groupsWithTypes=groups.map(group=>group.type&&group.type.publicId&&groupTypeEntities[group.type.publicId]!==void 0?__spreadProps(__spreadValues({},group),{type:group.type?{publicId:group.type?.publicId,name:groupTypeEntities[group.type.publicId].name}:null}):group);if(myUser?.support||myRoles.some(isAdminRole)||myRoles.some(isCompanyWideManagePageRole))return groupsWithTypes;let groupsWithManagePage=groupsWithTypes.filter(userHasManagePageInGroup(myMemberships,myRoles));return uniqBy_default(flatten_default(groupsWithManagePage.map(group=>getGroupTree(group,groupState))),group=>group.publicId)}),selectAllManageablePages=createSelector(selectAll10,selectAll8,selectFeatureState2,selectMyUserMemberships,selectMyUserMembershipRoles,selectMyUser,(pages,groups,groupState,myMemberships,myRoles,myUser)=>{if(myUser?.support||myRoles.some(isAdminRole)||myRoles.some(isRoleWithPermissions("COMPANY_WIDE_ROLE","MANAGE_PAGE")))return pages;if(groups.length===0||pages.length===0)return[];let manageableGroupIds=new Set;for(let group of groups)if(userHasManagePageInGroup(myMemberships,myRoles)(group)){let groupTree=getGroupTree(group,groupState);for(let descendantGroup of groupTree)manageableGroupIds.add(descendantGroup.publicId)}return pages.filter(page=>!page.static&&page.group?.publicId&&manageableGroupIds.has(page.group.publicId))}),selectAllManageablePagesWithFields=createResourceSelectorFactory(selectAllManageablePages,SUBRESOURCE_PATH_TO_FEATURE_NAME2),selectGroupEntitiesWithCompanyName=createSelector(selectFeatureState2,selectMyCompany,({companyGroupId,entities},myCompany)=>{if(companyGroupId){let companyGroup=entities[companyGroupId];if(companyGroup)return __spreadProps(__spreadValues({},entities),{[companyGroupId]:replaceCompanyGroupName(companyGroup,myCompany)})}return entities});var FEATURE_NAME13="pageVersion",DEFAULT_PERIOD_SPEC="today";var SUBRESOURCE_PATH_TO_FEATURE_NAME7=new Map([["components[]","pageComponent"],["pagePages[]","pagePage"]]),SUBRESOURCE_PATHS7=[...SUBRESOURCE_PATH_TO_FEATURE_NAME7.keys()];var add21=createAction("[App] Add PagePage",props()),addFailure21=createAction("[IxApi] Add PagePage Failure",props()),addSuccess21=createAction("[IxApi] Add PagePage Success",props()),didAdd30=createAction("[ChangeNotification] PagePage Was Added",props()),didRemove29=createAction("[ChangeNotification] PagePage Was Removed",props()),didUpdate28=createAction("[ChangeNotification] PagePage Was Updated",props()),ensureAll19=createAction("[App] Ensure All PagePages",props()),loadAll18=createAction("[App] Load All PagePages",props()),loadAllFailure18=createAction("[IxApi] Load All PagePages Failure",props()),loadAllSuccess19=createAction("[IxApi] Load All PagePages Success",props()),loadDetails5=createAction("[App] Load PagePage Details",props()),loadDetailsFailure5=createAction("[IxApi] Load PagePage Details Failure",props()),loadDetailsSuccess5=createAction("[IxApi] Load PagePage Details Success",props()),remove23=createAction("[App] Remove PagePage",props()),removeFailure23=createAction("[IxApi] Remove PagePage Failure",props()),removeSuccess23=createAction("[IxApi] Remove PagePage Success",props()),reset29=createAction("[App] Reset PagePage State");var adapter12=createResourceAdapter({mergeFn:updateResource,subresourcePaths:SUBRESOURCE_PATHS7,translationPaths:["title"]}),initialState13=__spreadProps(__spreadValues({},adapter12.getInitialState()),{titleTranslationKeys:{}}),REDUCER_TOKEN3=new InjectionToken(`${FEATURE_NAME13}Reducer`);function reducerFactory3(translate){return adapter12.useTranslateService(translate),createReducer(initialState13,on(reset24,()=>__spreadValues({},initialState13)),on(invalidateTranslations5,state=>adapter12.retranslate(state)),on(addSuccess19,didAdd24,loadDetailsSuccess2,(state,{data})=>adapter12.upsertOne(data,state)),on(didRemove24,(state,{publicId})=>adapter12.removeOne(publicId,state)),on(updateSuccess18,didUpdate23,(state,{data,publicId})=>adapter12.updateOne({id:publicId,changes:data},state)),on(removeSuccess2,didRemove3,(state,{publicId})=>adapter12.map(version2=>version2.previewAgent?.publicId===publicId?__spreadProps(__spreadValues({},version2),{previewAgent:null}):version2,state)),on(didAdd22,didUpdate21,(state,{data})=>{let versions=[...data.page?.published?[data.page.published]:[],...data.page?.draft?[data.page.draft]:[]];return adapter12.upsertMany(versions,state)}),on(loadAllSuccess14,(state,{data})=>{let versions=data.reduce((acc,item)=>[...acc,...item.page?.published?[item.page.published]:[],...item.page?.draft?[item.page.draft]:[]],[]);return adapter12.upsertMany(versions,state)}),on(removeSuccess19,didRemove23,(state,{publicId})=>{let versionIds=Object.keys(state.entities).filter(id=>state.entities[id]?.page?.publicId===publicId);return versionIds.length?adapter12.removeMany(versionIds,state):state}),on(publishSuccess,(state,{data})=>data.removed?adapter12.removeOne(data.removed.publicId,state):state),on(loadDetailsSuccess,ensureDraftSuccess,duplicateSuccess,(state,{data})=>{let versions=[...data.draft?[data.draft]:[],...data.published?[data.published]:[]];return adapter12.upsertMany(versions,state)}),on(loadAllSuccess15,loadListForAgentSuccess,loadListForAssetSuccess,reloadListForAgentSuccess,reloadListForAssetSuccess,(state,{data})=>{let versions=data.reduce((acc,page)=>[...acc,...page.draft?[page.draft]:[],...page.published?[page.published]:[]],[]);return adapter12.upsertMany(versions,state)}),on(addSuccess,didAdd,(state,{data})=>{let versionId=data.pageVersion?.publicId;return versionId?adapter12.mutate(versionId,"components",state).upsertOne(data.publicId):state}),on(didAddList,(state,{data})=>data.reduce((s2,c)=>{let versionId=c.pageVersion?.publicId;return versionId?adapter12.mutate(versionId,"components",s2).upsertOne(c.publicId):s2},state)),on(removeSuccess,didRemove,(state,{publicId})=>{let versionId=Object.keys(state.entities).find(id=>state.entities[id]?.components?.some(component=>component.publicId===publicId));return versionId?adapter12.mutate(versionId,"components",state).removeOne(publicId):state}),on(didRemoveList,(state,{publicIdList})=>publicIdList.reduce((s2,publicId)=>{let versionId=Object.keys(s2.entities).find(id=>s2.entities[id]?.components?.some(component=>component.publicId===publicId));return versionId?adapter12.mutate(versionId,"components",s2).removeOne(publicId):s2},state)),on(addSuccess21,didAdd30,(state,{data})=>{let versionId=data.pageVersion?.publicId;return versionId?adapter12.mutate(versionId,"pagePages",state).upsertOne(data.publicId):state}),on(removeSuccess23,didRemove29,(state,{publicId})=>{let versionId=Object.keys(state.entities).find(id=>state.entities[id]?.pagePages?.some(page=>page.publicId===publicId));return versionId?adapter12.mutate(versionId,"pagePages",state).removeOne(publicId):state}))}var selectFeatureState4=createFeatureSelector(FEATURE_NAME13),selectors4=adapter12.getSelectors(),selectEntities14=createSelector(selectFeatureState4,selectors4.selectEntities),selectEntity6=publicId=>createSelector(selectEntities14,entities=>publicId&&entities[publicId]||null),selectEntityWithFields3=publicId=>createResourceSelectorFactory(selectEntity6(publicId),SUBRESOURCE_PATH_TO_FEATURE_NAME7),selectTitleTranslationKey=publicId=>createSelector(selectFeatureState4,state=>state.titleTranslationKeys[publicId]);var ObjectStorageClientProxyEventType=(function(ObjectStorageClientProxyEventType2){return ObjectStorageClientProxyEventType2.GetBlob="ayayot.objectstorage.get-blob",ObjectStorageClientProxyEventType2.GetBlobResult="ayayot.objectstorage.get-blob-result",ObjectStorageClientProxyEventType2.GetList="ayayot.objectstorage.get-list",ObjectStorageClientProxyEventType2.GetListResult="ayayot.objectstorage.get-list-result",ObjectStorageClientProxyEventType2.Delete="ayayot.objectstorage.delete",ObjectStorageClientProxyEventType2.DeleteResult="ayayot.objectstorage.delete-result",ObjectStorageClientProxyEventType2.Store="ayayot.objectstorage.store",ObjectStorageClientProxyEventType2.StoreResult="ayayot.objectstorage.store-result",ObjectStorageClientProxyEventType2.Update="ayayot.objectstorage.update",ObjectStorageClientProxyEventType2.UpdateResult="ayayot.objectstorage.update-result",ObjectStorageClientProxyEventType2.Error="ayayot.objectstorage.error",ObjectStorageClientProxyEventType2})(ObjectStorageClientProxyEventType||{});var ObjectStorageProxyService=(()=>{class ObjectStorageProxyService2{constructor(window2){this.window=window2}onGetBlob(scope){return fromEvent(this.window,ObjectStorageClientProxyEventType.GetBlob).pipe(filter(event2=>scope===event2.detail.scope))}onGetList(scope){return fromEvent(this.window,ObjectStorageClientProxyEventType.GetList).pipe(filter(event2=>scope===event2.detail.scope))}onDelete(scope){return fromEvent(this.window,ObjectStorageClientProxyEventType.Delete).pipe(filter(event2=>scope===event2.detail.scope))}onStore(scope){return fromEvent(this.window,ObjectStorageClientProxyEventType.Store).pipe(filter(event2=>scope===event2.detail.scope))}onUpdate(scope){return fromEvent(this.window,ObjectStorageClientProxyEventType.Update).pipe(filter(event2=>scope===event2.detail.scope))}emitResult(result,eventType,clientRef,scope){let detail={clientRef,result,scope},event2=new CustomEvent(eventType,{detail});this.window.dispatchEvent(event2)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||ObjectStorageProxyService2)(\u0275\u0275inject(WINDOW))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:ObjectStorageProxyService2,factory:ObjectStorageProxyService2.\u0275fac,providedIn:"root"})}}return ObjectStorageProxyService2})();function*clientRefGenerator(namespace,id,scope){let uid=0;for(;;)yield`yot:${namespace}.${scope?scope+".":""}${id}.c${uid++}`}var ObjectStorageClient=class{constructor(id,scope,componentId,abortController=new AbortController){this.id=id,this.scope=scope,this.componentId=componentId,this.abortController=abortController,this._clientRef=clientRefGenerator("osc",this.id,this.scope),this._resolvers=new Map,window.addEventListener(ObjectStorageClientProxyEventType.GetBlobResult,this,{capture:!0}),window.addEventListener(ObjectStorageClientProxyEventType.DeleteResult,this,{capture:!0}),window.addEventListener(ObjectStorageClientProxyEventType.StoreResult,this,{capture:!0}),window.addEventListener(ObjectStorageClientProxyEventType.GetListResult,this,{capture:!0}),window.addEventListener(ObjectStorageClientProxyEventType.UpdateResult,this,{capture:!0}),window.addEventListener(ObjectStorageClientProxyEventType.Error,this,{capture:!0})}_destroy(){this.abortController.abort(),window.removeEventListener(ObjectStorageClientProxyEventType.GetBlobResult,this,{capture:!0}),window.removeEventListener(ObjectStorageClientProxyEventType.DeleteResult,this,{capture:!0}),window.removeEventListener(ObjectStorageClientProxyEventType.StoreResult,this,{capture:!0}),window.removeEventListener(ObjectStorageClientProxyEventType.GetListResult,this,{capture:!0}),window.removeEventListener(ObjectStorageClientProxyEventType.UpdateResult,this,{capture:!0}),window.removeEventListener(ObjectStorageClientProxyEventType.Error,this,{capture:!0});for(let resolver of this._resolvers.values())resolver.reject(new Error("client destroyed"))}destroy(){this._destroy()}getBlob(objectMeta,options={}){return options.abortSignal||(options.abortSignal=this.abortController.signal),new Promise((resolve,reject2)=>{let clientRef=this._clientRef.next().value;this._resolvers.set(clientRef,{resolve,reject:reject2});let event2=new CustomEvent(ObjectStorageClientProxyEventType.GetBlob,{detail:{clientRef,scope:this.scope,objectMeta,options,pageComponentId:this.componentId}});window.dispatchEvent(event2)})}delete(objectMeta,options){return new Promise((resolve,reject2)=>{let clientRef=this._clientRef.next().value;this._resolvers.set(clientRef,{resolve,reject:reject2});let event2=new CustomEvent(ObjectStorageClientProxyEventType.Delete,{detail:{clientRef,scope:this.scope,objectMeta,options,pageComponentId:this.componentId}});window.dispatchEvent(event2)})}getList(options){return new Promise((resolve,reject2)=>{let clientRef=this._clientRef.next().value;this._resolvers.set(clientRef,{resolve,reject:reject2});let event2=new CustomEvent(ObjectStorageClientProxyEventType.GetList,{detail:{clientRef,scope:this.scope,options,pageComponentId:this.componentId}});window.dispatchEvent(event2)})}store(object,options){return new Promise((resolve,reject2)=>{let clientRef=this._clientRef.next().value;this._resolvers.set(clientRef,{resolve,reject:reject2});let event2=new CustomEvent(ObjectStorageClientProxyEventType.Store,{detail:{clientRef,scope:this.scope,object,options,pageComponentId:this.componentId}});window.dispatchEvent(event2)})}update(objectMeta,options){return new Promise((resolve,reject2)=>{let clientRef=this._clientRef.next().value;this._resolvers.set(clientRef,{resolve,reject:reject2});let event2=new CustomEvent(ObjectStorageClientProxyEventType.Update,{detail:{clientRef,scope:this.scope,objectMeta,options,pageComponentId:this.componentId}});window.dispatchEvent(event2)})}handleEvent(event2){if(event2.detail.scope===this.scope){let ref=this._resolvers.get(event2.detail.clientRef);if(ref){switch(event2.type){case ObjectStorageClientProxyEventType.GetBlobResult:case ObjectStorageClientProxyEventType.GetListResult:case ObjectStorageClientProxyEventType.StoreResult:ref.resolve(event2.detail.result);break;case ObjectStorageClientProxyEventType.DeleteResult:case ObjectStorageClientProxyEventType.UpdateResult:ref.resolve(null);break;case ObjectStorageClientProxyEventType.Error:ref.reject(new Error(event2.detail.result));break}this._resolvers.delete(event2.detail.clientRef)}}}};var version="3.7.8",VERSION=version,_hasBuffer=typeof Buffer=="function",_TD=typeof TextDecoder=="function"?new TextDecoder:void 0,_TE=typeof TextEncoder=="function"?new TextEncoder:void 0,b64ch="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",b64chs=Array.prototype.slice.call(b64ch),b64tab=(a=>{let tab={};return a.forEach((c,i)=>tab[c]=i),tab})(b64chs),b64re=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,_fromCC=String.fromCharCode.bind(String),_U8Afrom=typeof Uint8Array.from=="function"?Uint8Array.from.bind(Uint8Array):it=>new Uint8Array(Array.prototype.slice.call(it,0)),_mkUriSafe=src=>src.replace(/=/g,"").replace(/[+\/]/g,m0=>m0=="+"?"-":"_"),_tidyB64=s2=>s2.replace(/[^A-Za-z0-9\+\/]/g,""),btoaPolyfill=bin=>{let u32,c0,c1,c2,asc="",pad3=bin.length%3;for(let i=0;i<bin.length;){if((c0=bin.charCodeAt(i++))>255||(c1=bin.charCodeAt(i++))>255||(c2=bin.charCodeAt(i++))>255)throw new TypeError("invalid character found");u32=c0<<16|c1<<8|c2,asc+=b64chs[u32>>18&63]+b64chs[u32>>12&63]+b64chs[u32>>6&63]+b64chs[u32&63]}return pad3?asc.slice(0,pad3-3)+"===".substring(pad3):asc},_btoa=typeof btoa=="function"?bin=>btoa(bin):_hasBuffer?bin=>Buffer.from(bin,"binary").toString("base64"):btoaPolyfill,_fromUint8Array=_hasBuffer?u8a=>Buffer.from(u8a).toString("base64"):u8a=>{let strs=[];for(let i=0,l2=u8a.length;i<l2;i+=4096)strs.push(_fromCC.apply(null,u8a.subarray(i,i+4096)));return _btoa(strs.join(""))},fromUint8Array=(u8a,urlsafe=!1)=>urlsafe?_mkUriSafe(_fromUint8Array(u8a)):_fromUint8Array(u8a),cb_utob=c=>{if(c.length<2){var cc=c.charCodeAt(0);return cc<128?c:cc<2048?_fromCC(192|cc>>>6)+_fromCC(128|cc&63):_fromCC(224|cc>>>12&15)+_fromCC(128|cc>>>6&63)+_fromCC(128|cc&63)}else{var cc=65536+(c.charCodeAt(0)-55296)*1024+(c.charCodeAt(1)-56320);return _fromCC(240|cc>>>18&7)+_fromCC(128|cc>>>12&63)+_fromCC(128|cc>>>6&63)+_fromCC(128|cc&63)}},re_utob=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,utob=u=>u.replace(re_utob,cb_utob),_encode=_hasBuffer?s2=>Buffer.from(s2,"utf8").toString("base64"):_TE?s2=>_fromUint8Array(_TE.encode(s2)):s2=>_btoa(utob(s2)),encode=(src,urlsafe=!1)=>urlsafe?_mkUriSafe(_encode(src)):_encode(src),encodeURI=src=>encode(src,!0),re_btou=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,cb_btou=cccc=>{switch(cccc.length){case 4:var cp=(7&cccc.charCodeAt(0))<<18|(63&cccc.charCodeAt(1))<<12|(63&cccc.charCodeAt(2))<<6|63&cccc.charCodeAt(3),offset3=cp-65536;return _fromCC((offset3>>>10)+55296)+_fromCC((offset3&1023)+56320);case 3:return _fromCC((15&cccc.charCodeAt(0))<<12|(63&cccc.charCodeAt(1))<<6|63&cccc.charCodeAt(2));default:return _fromCC((31&cccc.charCodeAt(0))<<6|63&cccc.charCodeAt(1))}},btou=b=>b.replace(re_btou,cb_btou),atobPolyfill=asc=>{if(asc=asc.replace(/\s+/g,""),!b64re.test(asc))throw new TypeError("malformed base64.");asc+="==".slice(2-(asc.length&3));let u24,r1,r2,binArray=[];for(let i=0;i<asc.length;)u24=b64tab[asc.charAt(i++)]<<18|b64tab[asc.charAt(i++)]<<12|(r1=b64tab[asc.charAt(i++)])<<6|(r2=b64tab[asc.charAt(i++)]),r1===64?binArray.push(_fromCC(u24>>16&255)):r2===64?binArray.push(_fromCC(u24>>16&255,u24>>8&255)):binArray.push(_fromCC(u24>>16&255,u24>>8&255,u24&255));return binArray.join("")},_atob=typeof atob=="function"?asc=>atob(_tidyB64(asc)):_hasBuffer?asc=>Buffer.from(asc,"base64").toString("binary"):atobPolyfill,_toUint8Array=_hasBuffer?a=>_U8Afrom(Buffer.from(a,"base64")):a=>_U8Afrom(_atob(a).split("").map(c=>c.charCodeAt(0))),toUint8Array=a=>_toUint8Array(_unURI(a)),_decode=_hasBuffer?a=>Buffer.from(a,"base64").toString("utf8"):_TD?a=>_TD.decode(_toUint8Array(a)):a=>btou(_atob(a)),_unURI=a=>_tidyB64(a.replace(/[-_]/g,m0=>m0=="-"?"+":"/")),decode=src=>_decode(_unURI(src)),isValid=src=>{if(typeof src!="string")return!1;let s2=src.replace(/\s+/g,"").replace(/={0,2}$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(s2)||!/[^\s0-9a-zA-Z\-_]/.test(s2)},_noEnum=v=>({value:v,enumerable:!1,writable:!0,configurable:!0}),extendString=function(){let _add=(name,body)=>Object.defineProperty(String.prototype,name,_noEnum(body));_add("fromBase64",function(){return decode(this)}),_add("toBase64",function(urlsafe){return encode(this,urlsafe)}),_add("toBase64URI",function(){return encode(this,!0)}),_add("toBase64URL",function(){return encode(this,!0)}),_add("toUint8Array",function(){return toUint8Array(this)})},extendUint8Array=function(){let _add=(name,body)=>Object.defineProperty(Uint8Array.prototype,name,_noEnum(body));_add("toBase64",function(urlsafe){return fromUint8Array(this,urlsafe)}),_add("toBase64URI",function(){return fromUint8Array(this,!0)}),_add("toBase64URL",function(){return fromUint8Array(this,!0)})},extendBuiltins=()=>{extendString(),extendUint8Array()},gBase64={version,VERSION,atob:_atob,atobPolyfill,btoa:_btoa,btoaPolyfill,fromBase64:decode,toBase64:encode,encode,encodeURI,encodeURL:encodeURI,utob,btou,decode,isValid,fromUint8Array,toUint8Array,extendString,extendUint8Array,extendBuiltins};var ObjectStorageServiceFactory=(()=>{class ObjectStorageServiceFactory3{constructor(api,http){this.api=api,this.http=http}createService(agentOrAsset,backendComponentTemplateId){return agentOrAsset?new ObjectStorageService(this.api,this.http,agentOrAsset,backendComponentTemplateId):new NoopObjectStorageService}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||ObjectStorageServiceFactory3)(\u0275\u0275inject(IxApiService),\u0275\u0275inject(HttpClient))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:ObjectStorageServiceFactory3,factory:ObjectStorageServiceFactory3.\u0275fac,providedIn:"root"})}}return ObjectStorageServiceFactory3})(),NoopObjectStorageService=class{delete(){return Promise.reject("no agent or asset")}getBlob(){return Promise.reject("no agent or asset")}getList(){return Promise.reject("no agent or asset")}store(){return Promise.reject("no agent or asset")}update(){return Promise.reject("no agent or asset")}destroy(){}},ObjectStorageService=class{constructor(api,http,agentOrAsset,backendComponentTemplateId){this.api=api,this.http=http,this.agentOrAsset=agentOrAsset,this.backendComponentTemplateId=backendComponentTemplateId,this._type=agentOrAsset.reference?.name||"Agent"}getList(options){let url=this._getUrl("ObjectStorageListAction"),body={arguments:options?.args,template:{publicId:this.backendComponentTemplateId}},context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,httpOptions={context:context3,headers};return firstValueFrom(this.http.post(url,body,httpOptions).pipe(map(({data})=>data.map(meta=>__spreadProps(__spreadValues({},meta),{tags:this._decodeTagValues(meta.tags)}))),map(entries=>({entries}))))}getBlob(objectMeta,options){if(Array.isArray(objectMeta)){let blobMap=new Map,promises=objectMeta.map(meta=>this.getBlob(meta,options).then(blob=>{blobMap.set(meta.uuid,blob)}).catch(()=>null));return Promise.all(promises).then(()=>__async(this,null,function*(){let JSZip2=(yield import("./chunk-H2LGWVKU.js")).default,zip=new JSZip2;return objectMeta.forEach(meta=>{let blob=blobMap.get(meta.uuid);if(!blob)return;let fileName=meta.tags.name;if(meta.outputDir){let folder=zip.folder(meta.outputDir);if(!folder)return;folder.file(fileName,blob);return}zip.file(fileName,blob)}),zip.generateAsync({type:"blob"})}))}let url=this._getUrl("ObjectStorageDownloadAction",objectMeta),body={template:{publicId:this.backendComponentTemplateId},uuid:objectMeta.uuid,arguments:options?.args},context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,httpOptions={context:context3,headers};return firstValueFrom(this.http.post(url,body,httpOptions).pipe(switchMap(e=>this.http.get(e.data.url||"",{responseType:"blob"}))))}store(object,options){let url=this._getUrl("ObjectStorageUploadAction"),identifier=crypto.randomUUID(),body={template:{publicId:this.backendComponentTemplateId},uuid:identifier,arguments:options?.args},context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,httpOptions={context:context3,headers};return firstValueFrom(forkJoin([this.http.post(url,body,httpOptions),import("./chunk-DJ3HFKJ4.js")]).pipe(switchMap(_0=>__async(this,[_0],function*([e,{BlockBlobClient}]){switch(e.data.type){case"azure-blob-storage":{let dataUrl=e.data.url;if(!dataUrl)throw new Error("no url provided");let client=new BlockBlobClient(dataUrl),filetype=object.type;return yield client.uploadData(object,{abortSignal:options?.abortSignal,blobHTTPHeaders:{blobContentDisposition:`attachment; filename="${identifier}"`,blobContentType:filetype},tags:this._encodeTagValues(options?.tags)}),{identifier}}default:throw new Error("unsupported type: "+e.data.type)}}))))}delete(objectMeta,options){let url=this._getUrl("ObjectStorageDeleteAction",objectMeta),body={template:{publicId:this.backendComponentTemplateId},uuid:objectMeta.uuid,arguments:options?.args},context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,httpOptions={context:context3,headers};return firstValueFrom(this.http.post(url,body,httpOptions).pipe(map(()=>{})))}update(objectMeta,options){let url=this._getUrl("ObjectStorageObjectMetaUpdateAction",objectMeta),body={template:{publicId:this.backendComponentTemplateId},uuid:objectMeta.uuid,tags:this._encodeTagValues(options?.tags)??{}},context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,httpOptions={context:context3,headers};return firstValueFrom(this.http.patch(url,body,httpOptions).pipe(map(()=>{})))}destroy(){}_decodeTagValues(tags){return tags?Object.entries(tags).reduce((acc,[key,value])=>__spreadProps(__spreadValues({},acc),{[key]:gBase64.decode(value)}),{}):tags??{}}_encodeTagValues(tags){return tags&&Object.entries(tags).reduce((acc,[key,value])=>__spreadProps(__spreadValues({},acc),{[key]:gBase64.encode(value)}),{})}_getUrl(base,identifier){return identifier?.agent?this.api.url("Agent"+base,{agentId:identifier.agent.publicId}):identifier?.asset?this.api.url("Asset"+base,{assetId:identifier.asset.publicId}):this.api.url(this._type+base,{[this._type.toLowerCase()+"Id"]:this.agentOrAsset.publicId})}};var ExceptionCode=(function(ExceptionCode2){return ExceptionCode2.Unimplemented="UNIMPLEMENTED",ExceptionCode2.Unavailable="UNAVAILABLE",ExceptionCode2})(ExceptionCode||{}),CapacitorException=class extends Error{constructor(message,code2,data){super(message),this.message=message,this.code=code2,this.data=data}},getPlatformId=win=>{var _a2,_b;return win?.androidBridge?"android":!((_b=(_a2=win?.webkit)===null||_a2===void 0?void 0:_a2.messageHandlers)===null||_b===void 0)&&_b.bridge?"ios":"web"},createCapacitor=win=>{let capCustomPlatform=win.CapacitorCustomPlatform||null,cap=win.Capacitor||{},Plugins=cap.Plugins=cap.Plugins||{},getPlatform=()=>capCustomPlatform!==null?capCustomPlatform.name:getPlatformId(win),isNativePlatform=()=>getPlatform()!=="web",isPluginAvailable=pluginName=>{let plugin=registeredPlugins.get(pluginName);return!!(plugin?.platforms.has(getPlatform())||getPluginHeader(pluginName))},getPluginHeader=pluginName=>{var _a2;return(_a2=cap.PluginHeaders)===null||_a2===void 0?void 0:_a2.find(h=>h.name===pluginName)},handleError=err=>win.console.error(err),registeredPlugins=new Map,registerPlugin3=(pluginName,jsImplementations={})=>{let registeredPlugin=registeredPlugins.get(pluginName);if(registeredPlugin)return console.warn(`Capacitor plugin "${pluginName}" already registered. Cannot register plugins twice.`),registeredPlugin.proxy;let platform=getPlatform(),pluginHeader=getPluginHeader(pluginName),jsImplementation,loadPluginImplementation=()=>__async(null,null,function*(){return!jsImplementation&&platform in jsImplementations?jsImplementation=typeof jsImplementations[platform]=="function"?jsImplementation=yield jsImplementations[platform]():jsImplementation=jsImplementations[platform]:capCustomPlatform!==null&&!jsImplementation&&"web"in jsImplementations&&(jsImplementation=typeof jsImplementations.web=="function"?jsImplementation=yield jsImplementations.web():jsImplementation=jsImplementations.web),jsImplementation}),createPluginMethod=(impl,prop)=>{var _a2,_b;if(pluginHeader){let methodHeader=pluginHeader?.methods.find(m=>prop===m.name);if(methodHeader)return methodHeader.rtype==="promise"?options=>cap.nativePromise(pluginName,prop.toString(),options):(options,callback)=>cap.nativeCallback(pluginName,prop.toString(),options,callback);if(impl)return(_a2=impl[prop])===null||_a2===void 0?void 0:_a2.bind(impl)}else{if(impl)return(_b=impl[prop])===null||_b===void 0?void 0:_b.bind(impl);throw new CapacitorException(`"${pluginName}" plugin is not implemented on ${platform}`,ExceptionCode.Unimplemented)}},createPluginMethodWrapper=prop=>{let remove58,wrapper=(...args)=>{let p=loadPluginImplementation().then(impl=>{let fn2=createPluginMethod(impl,prop);if(fn2){let p2=fn2(...args);return remove58=p2?.remove,p2}else throw new CapacitorException(`"${pluginName}.${prop}()" is not implemented on ${platform}`,ExceptionCode.Unimplemented)});return prop==="addListener"&&(p.remove=()=>__async(null,null,function*(){return remove58()})),p};return wrapper.toString=()=>`${prop.toString()}() { [capacitor code] }`,Object.defineProperty(wrapper,"name",{value:prop,writable:!1,configurable:!1}),wrapper},addListener=createPluginMethodWrapper("addListener"),removeListener=createPluginMethodWrapper("removeListener"),addListenerNative=(eventName,callback)=>{let call=addListener({eventName},callback),remove58=()=>__async(null,null,function*(){let callbackId=yield call;removeListener({eventName,callbackId},callback)}),p=new Promise(resolve=>call.then(()=>resolve({remove:remove58})));return p.remove=()=>__async(null,null,function*(){console.warn("Using addListener() without 'await' is deprecated."),yield remove58()}),p},proxy=new Proxy({},{get(_,prop){switch(prop){case"$$typeof":return;case"toJSON":return()=>({});case"addListener":return pluginHeader?addListenerNative:addListener;case"removeListener":return removeListener;default:return createPluginMethodWrapper(prop)}}});return Plugins[pluginName]=proxy,registeredPlugins.set(pluginName,{name:pluginName,proxy,platforms:new Set([...Object.keys(jsImplementations),...pluginHeader?[platform]:[]])}),proxy};return cap.convertFileSrc||(cap.convertFileSrc=filePath=>filePath),cap.getPlatform=getPlatform,cap.handleError=handleError,cap.isNativePlatform=isNativePlatform,cap.isPluginAvailable=isPluginAvailable,cap.registerPlugin=registerPlugin3,cap.Exception=CapacitorException,cap.DEBUG=!!cap.DEBUG,cap.isLoggingEnabled=!!cap.isLoggingEnabled,cap},initCapacitorGlobal=win=>win.Capacitor=createCapacitor(win),Capacitor=initCapacitorGlobal(typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}),registerPlugin2=Capacitor.registerPlugin,WebPlugin=class{constructor(){this.listeners={},this.retainedEventArguments={},this.windowListeners={}}addListener(eventName,listenerFunc){let firstListener=!1;this.listeners[eventName]||(this.listeners[eventName]=[],firstListener=!0),this.listeners[eventName].push(listenerFunc);let windowListener=this.windowListeners[eventName];windowListener&&!windowListener.registered&&this.addWindowListener(windowListener),firstListener&&this.sendRetainedArgumentsForEvent(eventName);let remove58=()=>__async(this,null,function*(){return this.removeListener(eventName,listenerFunc)});return Promise.resolve({remove:remove58})}removeAllListeners(){return __async(this,null,function*(){this.listeners={};for(let listener in this.windowListeners)this.removeWindowListener(this.windowListeners[listener]);this.windowListeners={}})}notifyListeners(eventName,data,retainUntilConsumed){let listeners=this.listeners[eventName];if(!listeners){if(retainUntilConsumed){let args=this.retainedEventArguments[eventName];args||(args=[]),args.push(data),this.retainedEventArguments[eventName]=args}return}listeners.forEach(listener=>listener(data))}hasListeners(eventName){var _a2;return!!(!((_a2=this.listeners[eventName])===null||_a2===void 0)&&_a2.length)}registerWindowListener(windowEventName,pluginEventName){this.windowListeners[pluginEventName]={registered:!1,windowEventName,pluginEventName,handler:event2=>{this.notifyListeners(pluginEventName,event2)}}}unimplemented(msg="not implemented"){return new Capacitor.Exception(msg,ExceptionCode.Unimplemented)}unavailable(msg="not available"){return new Capacitor.Exception(msg,ExceptionCode.Unavailable)}removeListener(eventName,listenerFunc){return __async(this,null,function*(){let listeners=this.listeners[eventName];if(!listeners)return;let index=listeners.indexOf(listenerFunc);this.listeners[eventName].splice(index,1),this.listeners[eventName].length||this.removeWindowListener(this.windowListeners[eventName])})}addWindowListener(handle){window.addEventListener(handle.windowEventName,handle.handler),handle.registered=!0}removeWindowListener(handle){handle&&(window.removeEventListener(handle.windowEventName,handle.handler),handle.registered=!1)}sendRetainedArgumentsForEvent(eventName){let args=this.retainedEventArguments[eventName];args&&(delete this.retainedEventArguments[eventName],args.forEach(arg=>{this.notifyListeners(eventName,arg)}))}};var encode2=str=>encodeURIComponent(str).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape),decode2=str=>str.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent),CapacitorCookiesPluginWeb=class extends WebPlugin{getCookies(){return __async(this,null,function*(){let cookies=document.cookie,cookieMap={};return cookies.split(";").forEach(cookie=>{if(cookie.length<=0)return;let[key,value]=cookie.replace(/=/,"CAP_COOKIE").split("CAP_COOKIE");key=decode2(key).trim(),value=decode2(value).trim(),cookieMap[key]=value}),cookieMap})}setCookie(options){return __async(this,null,function*(){try{let encodedKey=encode2(options.key),encodedValue=encode2(options.value),expires=options.expires?`; expires=${options.expires.replace("expires=","")}`:"",path=(options.path||"/").replace("path=",""),domain=options.url!=null&&options.url.length>0?`domain=${options.url}`:"";document.cookie=`${encodedKey}=${encodedValue||""}${expires}; path=${path}; ${domain};`}catch(error3){return Promise.reject(error3)}})}deleteCookie(options){return __async(this,null,function*(){try{document.cookie=`${options.key}=; Max-Age=0`}catch(error3){return Promise.reject(error3)}})}clearCookies(){return __async(this,null,function*(){try{let cookies=document.cookie.split(";")||[];for(let cookie of cookies)document.cookie=cookie.replace(/^ +/,"").replace(/=.*/,`=;expires=${new Date().toUTCString()};path=/`)}catch(error3){return Promise.reject(error3)}})}clearAllCookies(){return __async(this,null,function*(){try{yield this.clearCookies()}catch(error3){return Promise.reject(error3)}})}},CapacitorCookies=registerPlugin2("CapacitorCookies",{web:()=>new CapacitorCookiesPluginWeb}),readBlobAsBase64=blob=>__async(null,null,function*(){return new Promise((resolve,reject2)=>{let reader=new FileReader;reader.onload=()=>{let base64String=reader.result;resolve(base64String.indexOf(",")>=0?base64String.split(",")[1]:base64String)},reader.onerror=error3=>reject2(error3),reader.readAsDataURL(blob)})}),normalizeHttpHeaders=(headers={})=>{let originalKeys=Object.keys(headers);return Object.keys(headers).map(k=>k.toLocaleLowerCase()).reduce((acc,key,index)=>(acc[key]=headers[originalKeys[index]],acc),{})},buildUrlParams=(params,shouldEncode=!0)=>params?Object.entries(params).reduce((accumulator,entry)=>{let[key,value]=entry,encodedValue,item;return Array.isArray(value)?(item="",value.forEach(str=>{encodedValue=shouldEncode?encodeURIComponent(str):str,item+=`${key}=${encodedValue}&`}),item.slice(0,-1)):(encodedValue=shouldEncode?encodeURIComponent(value):value,item=`${key}=${encodedValue}`),`${accumulator}&${item}`},"").substr(1):null,buildRequestInit=(options,extra={})=>{let output2=Object.assign({method:options.method||"GET",headers:options.headers},extra),type=normalizeHttpHeaders(options.headers)["content-type"]||"";if(typeof options.data=="string")output2.body=options.data;else if(type.includes("application/x-www-form-urlencoded")){let params=new URLSearchParams;for(let[key,value]of Object.entries(options.data||{}))params.set(key,value);output2.body=params.toString()}else if(type.includes("multipart/form-data")||options.data instanceof FormData){let form=new FormData;if(options.data instanceof FormData)options.data.forEach((value,key)=>{form.append(key,value)});else for(let key of Object.keys(options.data))form.append(key,options.data[key]);output2.body=form;let headers2=new Headers(output2.headers);headers2.delete("content-type"),output2.headers=headers2}else(type.includes("application/json")||typeof options.data=="object")&&(output2.body=JSON.stringify(options.data));return output2},CapacitorHttpPluginWeb=class extends WebPlugin{request(options){return __async(this,null,function*(){let requestInit=buildRequestInit(options,options.webFetchExtra),urlParams=buildUrlParams(options.params,options.shouldEncodeUrlParams),url=urlParams?`${options.url}?${urlParams}`:options.url,response=yield fetch(url,requestInit),contentType=response.headers.get("content-type")||"",{responseType="text"}=response.ok?options:{};contentType.includes("application/json")&&(responseType="json");let data,blob;switch(responseType){case"arraybuffer":case"blob":blob=yield response.blob(),data=yield readBlobAsBase64(blob);break;case"json":data=yield response.json();break;default:data=yield response.text()}let headers={};return response.headers.forEach((value,key)=>{headers[key]=value}),{data,headers,status:response.status,url:response.url}})}get(options){return __async(this,null,function*(){return this.request(Object.assign(Object.assign({},options),{method:"GET"}))})}post(options){return __async(this,null,function*(){return this.request(Object.assign(Object.assign({},options),{method:"POST"}))})}put(options){return __async(this,null,function*(){return this.request(Object.assign(Object.assign({},options),{method:"PUT"}))})}patch(options){return __async(this,null,function*(){return this.request(Object.assign(Object.assign({},options),{method:"PATCH"}))})}delete(options){return __async(this,null,function*(){return this.request(Object.assign(Object.assign({},options),{method:"DELETE"}))})}},CapacitorHttp=registerPlugin2("CapacitorHttp",{web:()=>new CapacitorHttpPluginWeb});var SystemBarsPluginWeb=class extends WebPlugin{setStyle(){return __async(this,null,function*(){this.unavailable("not available for web")})}setAnimation(){return __async(this,null,function*(){this.unavailable("not available for web")})}show(){return __async(this,null,function*(){this.unavailable("not available for web")})}hide(){return __async(this,null,function*(){this.unavailable("not available for web")})}},SystemBars=registerPlugin2("SystemBars",{web:()=>new SystemBarsPluginWeb});var CAPACITOR_PLATFORM=new InjectionToken("capacitor-platform",{providedIn:"root",factory:()=>Capacitor.getPlatform()||"web"});var VpnClientActiveStatus=(()=>{class VpnClientActiveStatus2 extends BehaviorSubject{constructor(){super(null)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||VpnClientActiveStatus2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:VpnClientActiveStatus2,factory:VpnClientActiveStatus2.\u0275fac,providedIn:"root"})}}return VpnClientActiveStatus2})();function hasActiveRequestWithAgent(snapshot,agentId){return snapshot&&snapshot.activeRequest?snapshot.activeRequest.agentId===agentId:!1}function findCsvDelimiter(formatRef){if(formatRef.includes(":")){let delimiter=formatRef.split(":")[1];if(/^comma|semicolon|tab$/.test(delimiter))return formatRef.split(":")[1]}}function findFormat(formatRef){if(/^csv|metrics$/.test(formatRef)||formatRef.startsWith("csv"))return formatRef.startsWith("csv")?"csv":formatRef}var LoggingDataConfigAvailabilityStrategy=(function(LoggingDataConfigAvailabilityStrategy2){return LoggingDataConfigAvailabilityStrategy2[LoggingDataConfigAvailabilityStrategy2.Lazy=0]="Lazy",LoggingDataConfigAvailabilityStrategy2[LoggingDataConfigAvailabilityStrategy2.Default=1]="Default",LoggingDataConfigAvailabilityStrategy2})(LoggingDataConfigAvailabilityStrategy||{}),LoggingDataQueryControl=class{constructor(value){this._subject=new BehaviorSubject({value}),this.valueChanges=this._subject.asObservable().pipe(filter(e=>e.options?.emitEvent!==!1),map(e=>e.value))}complete(){this._subject.complete()}getValue(){return this._subject.getValue().value}setValue(value,options){this._subject.next({value,options})}},LoggingDataClientProxyEventType=(function(LoggingDataClientProxyEventType2){return LoggingDataClientProxyEventType2.Blob="ayayot.loggingdata.blob",LoggingDataClientProxyEventType2.DebugLog="ayayot.loggingdata.debug-log",LoggingDataClientProxyEventType2.Destroy="ayayot.loggingdata.destroy",LoggingDataClientProxyEventType2.Export="ayayot.loggingdata.export",LoggingDataClientProxyEventType2.Init="ayayot.loggingdata.init",LoggingDataClientProxyEventType2.Metrics="ayayot.loggingdata.metrics",LoggingDataClientProxyEventType2.Query="ayayot.loggingdata.query",LoggingDataClientProxyEventType2})(LoggingDataClientProxyEventType||{}),LoggingDataQueryRef=class{constructor(query,variable,tag,_onCancel){this.query=query,this.variable=variable,this.tag=tag,this._onCancel=_onCancel,Object.freeze(this)}cancel(){this._onCancel&&this._onCancel()}};function numberToFloatingPointString(x){if(Math.abs(x)<1){let e=parseInt(x.toString().split("e-")[1]);e&&(x*=Math.pow(10,e-1),x="0."+new Array(e).join("0")+x.toString().substring(2))}else{let e=parseInt(x.toString().split("+")[1]);e>20&&(e-=20,x/=Math.pow(10,e),x+=new Array(e+1).join("0"))}return typeof x=="string"?x:x.toString()}function calcFactor(rawValue,factor){let m=0,s1=numberToFloatingPointString(rawValue),s2=numberToFloatingPointString(factor);try{m+=s1.split(".")[1].length}catch(e){}try{m+=s2.split(".")[1].length}catch(e){}return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m)}function isCachedMetric(metric){return"__cached"in metric}function isEmptyMetric(metric){return"__empty"in metric}function markMetricAsCached(metric){return __spreadProps(__spreadValues({},metric),{__cached:!0})}function markMetricAsEmpty(metric){return __spreadProps(__spreadValues({},metric),{__empty:!0})}function mapBySelector(variables,selector3){return variables.reduce((map4,variable)=>{let key=selector3(variable);return key&&map4.set(key,variable),map4},new Map)}function mapBySelectorTwice(variables,selector1,selector22){return variables.reduce((map4,variable)=>{let key1=selector1(variable),key2=selector22(variable);if(key1&&key2){let map22=map4.get(key1);map22?map22.set(key2,variable):map4.set(key1,new Map([[key2,variable]]))}return map4},new Map)}function mapPointToRawValues(point,variableById){let variableIdList=point.tags,rawValues={},typeIndex={};for(let variableId of variableIdList){let variable=variableById.get(variableId);if(variable){let type=getFullType(variable);if(type){typeIndex[type]=typeIndex[type]===void 0?0:typeIndex[type]+1;let rawValue=point[type][typeIndex[type]];rawValues[variable.publicId]=rawValue}}}return rawValues}function epochToIso(millis){return DateTime.fromMillis(millis).set({millisecond:0}).toUTC().toISO({suppressMilliseconds:!0})}function mapQueryListToPostData(queries,options,tags,variables,forCsv,timeZone){let optionsFrom=epochToIso(options.from),optionsTo=epochToIso(options.to);queries.forEach(query=>query.order=query.postTransform==="difference"?query.order||"asc":query.order);let csvQueryOrder=queries.some(query=>query.order==="asc")?"asc":"desc";return queries.reduce((data,_query)=>{let ref=_query.ref,tag=tags.find(t=>t.publicId===_query.tag?.publicId),preAggr=getPreAggregator(_query,tag,options.from),sourceId=tag?.source?.publicId,tagId=tag?.tagId;if(ref&&sourceId&&tagId!==void 0){let query={ref};if(_query.step!==void 0&&(query.step=_query.step),_query.formula!==void 0)query.formula=_query.formula;else if(_query.factor!==void 0)query.factor=_query.factor;else{let variable=variables.find(v=>v.publicId===tag?.variable?.publicId);variable?.factor!==void 0&&variable?.factor!==null&&_query.postAggr!=="count"&&(query.factor=parseFloat(variable.factor))}if(_query.decimals!==void 0&&(query.decimals=_query.decimals),_query.extendedBoundary!==void 0&&(query.extendedBoundary=_query.extendedBoundary),_query.limit!==void 0&&(query.limit=_query.limit),_query.offset!==void 0&&(query.offset=_query.offset),_query.postAggr!==void 0&&(query.postAggr=_query.postAggr),_query.postTransform!==void 0&&(query.postTransform=_query.postTransform),forCsv){let unit=_query.unit||variables.find(v=>v.publicId===tag?.variable?.publicId)?.unit||"";query.ref=query.ref?.replace(/\$TH_UNIT/g,unit?` (${unit})`:""),query.order=csvQueryOrder}else _query.order!==void 0&&(query.order=_query.order);let index1,index2,start3=_query.from?epochToIso(Date.parse(_query.from)):optionsFrom,end2=_query.to?epochToIso(Date.parse(_query.to)):optionsTo;index1=data.findIndex(s2=>s2.source.publicId===sourceId&&s2.start===start3&&s2.end===end2&&(s2.tags?.[0]?.queries?.[0]?.order===query.order||s2.tags?.[0]?.queries?.[0]?.order==="desc"&&!query.order)),index1===-1&&(index1=data.push({source:{publicId:sourceId},tags:[],start:start3,end:end2,timeZone})-1),index2=data[index1].tags.findIndex(t=>t.id===tagId&&t.preAggr===preAggr),index2===-1&&(index2=data[index1].tags.push({id:tagId,preAggr,queries:[]})-1),data[index1].tags[index2].queries.push(query)}return data},[])}function getClientRefNamespace(scope){return`yot:ldc${scope?":"+scope:""}`}function getFullType(variable){switch(variable.type){case"float":return`${variable.type}${variable.width}`;case"int":return`${variable.signed?"":"u"}${variable.type}${variable.width}`;default:return variable.type}}function getPreAggregator(query,tag,from2){if(from2?from2<new Date().getTime()-6048e5:!1){if(query.preAggr)return query.preAggr;if(query.postAggr&&tag?.aggregators?.includes(query.postAggr))return query.postAggr}return"raw"}function getQueryRef(n2){let _ref=_n=>"abcdefghijklmnopqrstuvwxyz"[_n%26>>0];return _ref(Math.floor(n2/676))+_ref(Math.floor(n2/26)%26)+_ref(n2)}function parseSelector(selector3){let basicMatch=selector3.match(/(?<type>[^#]+)#(?<target>[^:]+):(?<rest>.+)/);if(!basicMatch||!basicMatch.groups)return console.warn(`Couldn't parse selector: "${selector3}"`),{type:"",target:"",dataSource:"",logType:"",logName:""};let{type,target,rest}=basicMatch.groups;if(type==="Agent"){let agentMatch=rest.match(/(?<dataSource>[^.]*)\.(?<logType>tag|var|variable)\.(?<logName>.*)/);if(!agentMatch||!agentMatch.groups)return console.warn(`Agent selector doesn't match expected pattern: "${selector3}"`),{type,target,dataSource:"",logType:"",logName:""};let logType=agentMatch.groups.logType==="var"?"variable":agentMatch.groups.logType;return{type,target,dataSource:agentMatch.groups.dataSource,logType,logName:agentMatch.groups.logName}}else if(type==="Asset")return{type,target,dataSource:"",logType:"asset",logName:rest};return console.warn(`Unknown selector type: "${selector3}"`),{type,target,dataSource:"",logType:"",logName:""}}var LoggingDataClientProxyService=(()=>{class LoggingDataClientProxyService2{constructor(window2){this.window=window2}_onEvent(eventType,scope){return fromEvent(this.window,eventType).pipe(filter(event2=>scope===event2.detail.scope),map(event2=>{let formatRef=event2.detail.formatRef,queries=event2.detail.queries.map(q=>__spreadProps(__spreadValues({},q),{_timeStamp:event2.timeStamp}));return{formatRef,queries}}))}emitBlob(blob,scope){let detail={blob,scope},event2=new CustomEvent(LoggingDataClientProxyEventType.Blob,{detail});this.window.dispatchEvent(event2)}emitMetrics(metrics,scope){let detail={metrics,scope},event2=new CustomEvent(LoggingDataClientProxyEventType.Metrics,{detail});this.window.dispatchEvent(event2)}onDestroy(scope){return fromEvent(this.window,LoggingDataClientProxyEventType.Destroy).pipe(filter(event2=>scope?event2.detail.startsWith(getClientRefNamespace(scope)):!0))}onExport(scope){return this._onEvent(LoggingDataClientProxyEventType.Export,scope).pipe(mergeMap(({queries,formatRef})=>{let format3=findFormat(formatRef),csvDelimiter=findCsvDelimiter(formatRef);return format3!=="metrics"?of({queries,format:format3,csvDelimiter}):EMPTY}))}onQuery(scope){return this._onEvent(LoggingDataClientProxyEventType.Query,scope).pipe(map(({queries})=>queries))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||LoggingDataClientProxyService2)(\u0275\u0275inject(WINDOW))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:LoggingDataClientProxyService2,factory:LoggingDataClientProxyService2.\u0275fac,providedIn:"root"})}}return LoggingDataClientProxyService2})();function metricsToMultipleResults(metrics,clientRef){let results=_getClientMetrics(metrics,clientRef).reduce((acc,m)=>{let index=acc.findIndex(a=>a[0]===m.queryRef.query);return index!==-1?acc[index][1].push(m):acc.push([m.queryRef.query,[m]]),acc},[]).sort(([a],[b])=>a.ref&&b.ref?a.ref.localeCompare(b.ref):0).map(a=>a[1]);if(results.some(result=>result.length))return results.map(result=>result.filter(m=>!isEmptyMetric(m)))}function metricsToSingleResult(metrics,clientRef){let result=_getClientMetrics(metrics,clientRef).filter(m=>!isCachedMetric(m));if(result.length)return result.filter(m=>!isEmptyMetric(m))}function _getClientMetrics(metrics,clientRef){return metrics.filter(metric=>metric.queryRef.query._clientRef?clientRef===metric.queryRef.query._clientRef:!1)}var LoggingDataClient=class{constructor(id,scope){this.id=id,this.scope=scope,this._destroyed=!1,this._listenerRefs=[],this._uid=0,this._onMetrics=this._onMetrics.bind(this),this._onBlob=this._onBlob.bind(this);let detail=`${getClientRefNamespace(this.scope)}.${this.id}`,event2=new CustomEvent(LoggingDataClientProxyEventType.Init,{detail});window.dispatchEvent(event2),window.addEventListener(LoggingDataClientProxyEventType.Metrics,this._onMetrics,!0),window.addEventListener(LoggingDataClientProxyEventType.Blob,this._onBlob,!0)}_destroy(emitEvent){if(!this._destroyed&&(window.removeEventListener(LoggingDataClientProxyEventType.Metrics,this._onMetrics,!0),window.removeEventListener(LoggingDataClientProxyEventType.Blob,this._onBlob,!0),emitEvent)){let detail=`${getClientRefNamespace(this.scope)}.${this.id}`,event2=new CustomEvent(LoggingDataClientProxyEventType.Destroy,{detail});window.dispatchEvent(event2)}this._destroyed=!0}_destroyListener(listenerRef){let index=this._listenerRefs.indexOf(listenerRef);index!==-1&&(this._listenerRefs.splice(index,1),window.dispatchEvent(new CustomEvent(LoggingDataClientProxyEventType.Destroy,{detail:listenerRef.clientRef})))}_dispatchQuery(queryOptions,listener,multiple){let scope=this.scope,clientRef=`${getClientRefNamespace(this.scope)}.${this.id}.q${this._uid++}`,listenerRef=Object.freeze({clientRef,listener,multiple,queryOptions:cloneDeep_default(queryOptions)}),{csvDelimiter,format:format3}=queryOptions,formatRef=format3==="csv"&&csvDelimiter!=="comma"?`csv:${csvDelimiter}`:format3,queries=queryOptions.queries.map(_q=>__spreadProps(__spreadValues({},_q),{_clientRef:clientRef})),eventType=format3==="csv"?LoggingDataClientProxyEventType.Export:LoggingDataClientProxyEventType.Query,detail={formatRef,queries,scope},event2=new CustomEvent(eventType,{detail});return window.dispatchEvent(event2),this._listenerRefs.push(listenerRef),()=>{this._destroyListener(listenerRef)}}_onMetrics(event2){event2.detail.scope===this.scope&&this._listenerRefs.filter(({queryOptions})=>queryOptions.format==="metrics").forEach(listenerRef=>{let{clientRef,listener,multiple,queryOptions}=listenerRef;if(multiple){let results=metricsToMultipleResults(event2.detail.metrics,clientRef);results&&(listener(results),queryOptions.once&&this._destroyListener(listenerRef))}else{let result=metricsToSingleResult(event2.detail.metrics,clientRef);result&&(listener(result),queryOptions.once&&this._destroyListener(listenerRef))}})}_onBlob(event2){event2.detail.scope===this.scope&&this._listenerRefs.filter(({queryOptions})=>queryOptions.format==="csv").forEach(listenerRef=>{let{clientRef,listener}=listenerRef;event2.detail.blob.queryRefs.length&&event2.detail.blob.queryRefs[0].query._clientRef===clientRef&&(listener(event2.detail.blob),this._destroyListener(listenerRef))})}destroy(){this._destroy(!0)}query(q,listener){let defaults2={csvDelimiter:"comma",format:"metrics",once:!1};return Array.isArray(q)?this._dispatchQuery(__spreadProps(__spreadValues({},defaults2),{queries:q}),listener,!0):typeof q=="object"&&"queries"in q?this._dispatchQuery(__spreadValues(__spreadValues({},defaults2),q),listener,!0):this._dispatchQuery(__spreadProps(__spreadValues({},defaults2),{queries:[q]}),listener,!1)}};var bufferDebounceTime=dueTime=>source=>new Observable(observer=>source.pipe(buffer(source.pipe(debounceTime(dueTime)))).subscribe({next(x){observer.next(x)},error(err){observer.error(err)},complete(){observer.complete()}}));function logDebugEvent(name,payload){environment.production||window.dispatchEvent(new CustomEvent(LoggingDataClientProxyEventType.DebugLog,{detail:__spreadValues({name},payload?{payload:cloneDeep_default(payload)}:{})}))}var LoggingDataValue=class _LoggingDataValue{constructor(locale,queryRef,rawValue){this.locale=locale,this.queryRef=queryRef,this.rawValue=rawValue}static create(locale,queryRef,rawValue){return queryRef.query.postAggr==="count"?new LoggingDataCountValue(locale,queryRef,rawValue):new _LoggingDataValue(locale,queryRef,rawValue)}getDecimals(fallbackDecimals=2){return this.decimals??this.queryRef.query.decimals??fallbackDecimals}getFactor(){return this.factor??this.queryRef.query.factor??(this.queryRef.tag?.variable?.factor?parseFloat(this.queryRef.tag.variable.factor):null)??(this.queryRef.variable?.factor?parseFloat(this.queryRef.variable.factor):null)??1}getUnit(){return this.unit??this.queryRef.query.unit??this.queryRef.tag?.variable?.unit??this.queryRef.variable?.unit??""}setDecimals(newDecimals){this.decimals=newDecimals}setFactor(newFactor){this.factor=newFactor}setUnit(newUnit){this.unit=newUnit}getValue(){return this.rawValue}toString(){let _locale=this.locale??void 0,_formatValue=memoize_default((value,decimals,unit,locale)=>{let options={style:"decimal",minimumFractionDigits:Math.floor(decimals),maximumFractionDigits:Math.floor(decimals)};return`${new Intl.NumberFormat(locale,options).format(value)}${unit?" "+unit:""}`});return this.rawValue===null?"":this.queryRef.query.postAggr==="count"?_formatValue(this.rawValue,this.getDecimals(0),this.unit??this.queryRef.query.unit,_locale):this.queryRef.variable?.type==="str"?this.rawValue:this.queryRef.variable?.type==="bool"?this.rawValue?"True":"False":this.queryRef.variable?.type==="int"?_formatValue(this.rawValue,Number.isInteger(this.getFactor())?this.getDecimals(0):this.getDecimals(),this.getUnit(),_locale):this.queryRef.variable?.type==="float"?_formatValue(this.rawValue,this.getDecimals(),this.getUnit(),_locale):String(this.getValue())}},LoggingDataCountValue=class extends LoggingDataValue{getFactor(){return this.factor??this.queryRef.query.factor??1}getUnit(){return this.unit??this.queryRef.query.unit??""}};function truncateQueryRefsForHeading(queries){let queriesWithTruncatedRefs=queries.map(query=>{let ref=query.ref?.toString()?.trim()?.replace(/\t/g," ")?.replace(/\n/g," ")?.replace(/\r/g," ")?.replace(/\0/g," ")?.replace(/\f/g," ")?.slice(0,250);return __spreadProps(__spreadValues({},query),{ref})}),grouped=groupBy_default(queriesWithTruncatedRefs,query=>query.ref),duplicates=Object.entries(grouped).filter(metric=>metric[1].length>1).map(d=>({ref:d[0],refCount:1}));return queriesWithTruncatedRefs.map(query=>{let duplicateResults=duplicates.filter(d=>d.ref===query.ref);if(duplicateResults.length>0){let duplicate2=duplicateResults[0];query.ref=`${query.ref} (${duplicate2.refCount})`.trim(),duplicate2.refCount+=1}return query})}var LoggingDataMetricCacheService=(()=>{class LoggingDataMetricCacheService2{constructor(){this._cache=new WeakMap}clear(){this._cache=new WeakMap}fill(metrics){for(let metric of metrics)!isCachedMetric(metric)&&!isEmptyMetric(metric)&&this._cache.set(metric.queryRef.query,markMetricAsCached(metric))}get(query){return this._cache.get(query)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||LoggingDataMetricCacheService2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:LoggingDataMetricCacheService2,factory:LoggingDataMetricCacheService2.\u0275fac,providedIn:"root"})}}return LoggingDataMetricCacheService2})();var LoggingDataErrorService=(()=>{class LoggingDataErrorService2{constructor(){this.dataLoggingErrors$=new BehaviorSubject([]),this.loadedDataSources=new Map}setErrorMessageForDataSource(message,dataSourceId){this.hasDatasourceBeenLoaded(dataSourceId)||this.loadedDataSources.set(dataSourceId,DateTime.now().toUnixInteger());let currentErrors=this.dataLoggingErrors$.value;message?currentErrors.includes(dataSourceId)||this.dataLoggingErrors$.next([...currentErrors,dataSourceId]):message===""&¤tErrors.includes(dataSourceId)&&this.dataLoggingErrors$.next(currentErrors.filter(publicId=>publicId!==dataSourceId))}hasDatasourceBeenLoaded(dataSourceId){return this.loadedDataSources.has(dataSourceId)}clearOldLoadedDataSources(){let currentTime=DateTime.now().toUnixInteger();this.loadedDataSources.forEach((timestamp2,publicId)=>{currentTime-timestamp2>=30&&this.loadedDataSources.delete(publicId)})}clear(){this.loadedDataSources.clear(),this.dataLoggingErrors$.getValue().length&&this.dataLoggingErrors$.next([])}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||LoggingDataErrorService2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:LoggingDataErrorService2,factory:LoggingDataErrorService2.\u0275fac,providedIn:"root"})}}return LoggingDataErrorService2})();var LoggingDataFetcherFactory=(()=>{class LoggingDataFetcherFactory2{constructor(webSocket2,http,api,cache,proxy,errorService){this.webSocket=webSocket2,this.http=http,this.api=api,this.cache=cache,this.proxy=proxy,this.errorService=errorService}create(config4){return new LoggingDataFetcher(this.http,this.webSocket,this.api,this.cache,this.proxy,config4,this.errorService)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||LoggingDataFetcherFactory2)(\u0275\u0275inject(WEB_SOCKET),\u0275\u0275inject(HttpClient),\u0275\u0275inject(IxApiService),\u0275\u0275inject(LoggingDataMetricCacheService),\u0275\u0275inject(LoggingDataClientProxyService),\u0275\u0275inject(LoggingDataErrorService))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:LoggingDataFetcherFactory2,factory:LoggingDataFetcherFactory2.\u0275fac,providedIn:"root"})}}return LoggingDataFetcherFactory2})(),LoggingDataFetcher=class{constructor(http,webSocket2,api,cache,proxy,config4,errorService){this.http=http,this.webSocket=webSocket2,this.api=api,this.cache=cache,this.proxy=proxy,this.config=config4,this.errorService=errorService,this.selectedAssetId=null,this.variableByPublicId=new Map,this.variableMapBySourceId=new Map,this.ready=new BehaviorSubject(!1),this.realTimeMetrics=new Subject,this.realTimeQueryControl=new LoggingDataQueryControl([]),this.realTimeWebSocket=null,this.historicMetrics=new Subject,this.historicQueryControl=new LoggingDataQueryControl([]),this.queryCleanupIsPending$=new BehaviorSubject(!1),this.querySubscriptionMap=new Map([]),this.subscriptions=[],this.config.availabilityStrategy=this.config.availabilityStrategy??LoggingDataConfigAvailabilityStrategy.Default,this.runConfig(),this.runQueryCleanup(),this.runReadyCheck(),this.runRealTimeQueryHandler(),this.runTimeRangeHandler()}onReady(){return this.ready.asObservable().pipe(last(ready=>ready))}runReadyCheck(){this.subscriptions.push(combineLatest([of(!0),...this.config.availabilityStrategy===LoggingDataConfigAvailabilityStrategy.Default?[this.config.authToken.pipe(map(token=>!!token)),this.config.dataSources.pipe(map(dataSources=>!!dataSources)),this.config.tags.pipe(map(tags=>!!tags)),this.config.variables.pipe(map(variables=>!!variables))]:[]]).pipe(map(checks=>checks.every(check=>check),takeUntil(this.ready))).subscribe(ready=>{ready&&(this.ready.next(!0),this.ready.complete())}))}runConfig(){this.subscriptions.push(this.config.agentId.subscribe(agentId=>{this.agentIdList=agentId?[agentId]:void 0}),this.config.agentId.pipe(mergeMap(agentId=>agentId?of(agentId):EMPTY),skip(1)).subscribe(()=>{this.authToken&&(this.authToken=null),this.realTimeWebSocket&&(this.realTimeWebSocket.complete(),this.realTimeWebSocket.unsubscribe(),this.realTimeWebSocket=null)}),this.config.authToken.subscribe(token=>this.authToken=token),this.config.companyId.subscribe(companyId=>this.companyId=companyId),this.config.dataSources.subscribe(sources=>this.dataSources=sources),this.config.tags.subscribe(tags=>this.tags=tags),this.config.variables.pipe(distinctUntilChanged(isEqual_default)).subscribe(variables=>{this.variables=variables,this.errorVariableMapBySourceId=mapBySelector(variables.filter(v=>v.address==="__cloudlogger_error_msg__"),v=>v.source?.publicId),this.variableByPublicId=mapBySelector(variables,v=>v.publicId),this.variableMapBySourceId=mapBySelectorTwice(variables,v=>v.source?.publicId,v=>v.variableId)}),...this.config.assetAppConfigResources?[this.config.assetAppConfigResources.subscribe(resources=>{this.assetAppConfigResources=resources})]:[],...this.config.assets?[this.config.assets.subscribe(assets=>{this.assets=assets||{}})]:[],...this.config.selectedAssetId?[this.config.selectedAssetId.subscribe(id=>{this.selectedAssetId=id})]:[])}runQueryCleanup(){let scope=this.config.scope,namespace=getClientRefNamespace(scope);this.subscriptions.push(merge(this.proxy.onDestroy(scope).pipe(mergeMap(e=>e.detail===namespace?of([e]):EMPTY)),this.proxy.onDestroy(scope).pipe(filter(e=>e.detail!==namespace),tap(()=>{this.queryCleanupIsPending$.getValue()||this.queryCleanupIsPending$.next(!0)}),bufferDebounceTime(0))).subscribe(events=>{let searchStrings=events.map(e=>e.detail),lastDestroyed=Math.max(...events.map(e=>e.timeStamp)),isBefore=q=>!!(q._timeStamp&&q._timeStamp<lastDestroyed);this.clearHistoricQueries(searchStrings,isBefore),this.clearRealTimeQueries(searchStrings,isBefore),this.clearQuerySubscriptions(searchStrings,timeStamp=>timeStamp<lastDestroyed),this.queryCleanupIsPending$.next(!1),logDebugEvent("query-cleanup-complete")}))}runTimeRangeHandler(){this.subscriptions.push(this.config.timeRange.pipe(skip(1),tap(timeRange=>logDebugEvent("time-range-changed",{timeRange})),delay(0),mergeMap(timeRange=>this.queryCleanupIsPending$.getValue()?of(timeRange).pipe(delayWhen(()=>this.queryCleanupIsPending$.pipe(filter(isPending=>!isPending),take(1)))):of(timeRange)),filter(()=>!!this.historicQueryControl.getValue().length),tap(timeRange=>logDebugEvent("time-range-change-triggers-refetch",{queries:this.historicQueryControl.getValue(),timeRange})),withLatestFrom(this.config.timeZone),switchMap(([timeRange,timeZone])=>this.fetchHistoricQueryList(this.historicQueryControl.getValue(),timeRange,timeZone))).subscribe({next:metrics=>this.historicMetrics.next(metrics)}))}nullifyRealTimeQueryMetrics(queries){let metrics=[],time=new Date().getTime();queries.forEach(query=>{let variable=this.variables?.find(v=>v.publicId===query?.variable?.publicId);if(variable){let queryRef=new LoggingDataQueryRef(query,variable),value=LoggingDataValue.create(this.config.locale,queryRef,null);metrics.push({queryRef,time,value})}}),metrics.length&&this.realTimeMetrics.next(metrics)}clearHistoricQueries(searchStrings,predicate){let all=this.historicQueryControl.getValue();if(all.some(q=>searchStrings.some(s2=>q._clientRef?.startsWith(s2)))){let matched=all.filter(q=>searchStrings.some(s2=>q._clientRef?.startsWith(s2)&&(predicate?predicate(q):!0))),unmatched=all.filter(q=>!matched.includes(q));logDebugEvent("clear-queries:historic"),this.historicQueryControl.setValue(unmatched,{emitEvent:!1})}}clearQuerySubscriptions(searchStrings,predicate){this.querySubscriptionMap.forEach((value,keys)=>{let timeStamp=keys[0],refs=keys.slice(1);if(refs.some(ref=>searchStrings.some(s2=>ref.startsWith(s2)))){if(refs.every(ref=>searchStrings.some(s2=>ref.startsWith(s2))))(!predicate||predicate(timeStamp))&&(logDebugEvent("clear-query-subscriptions"),value.forEach(v=>v.unsubscribe()),this.querySubscriptionMap.delete(keys));else if(!predicate||predicate(timeStamp)){let _refs=keys.slice(1).filter(k=>!searchStrings.some(s2=>k.startsWith(s2)));this.querySubscriptionMap.delete(keys),this.querySubscriptionMap.set([timeStamp,..._refs],value)}}})}clearRealTimeQueries(searchStrings,predicate){let all=this.realTimeQueryControl.getValue();if(all.some(q=>searchStrings.some(s2=>q._clientRef?.startsWith(s2)))){let matched=all.filter(q=>searchStrings.some(s2=>q._clientRef?.startsWith(s2))&&(predicate?predicate(q):!0));if(matched.length){let unmatched=all.filter(q=>!matched.includes(q));logDebugEvent("clear-queries:real-time"),this.realTimeQueryControl.setValue(unmatched)}}}fetchHistoricQueryExport(queryList,timeRange,csvDelimiter,timeZone){if(this.companyId&&this.tags&&this.variables){let _queries=this.parseAndValidateQueries(queryList),body=mapQueryListToPostData(_queries,timeRange,this.tags,this.variables,!0,timeZone||void 0),headers=this.api.headers.set(IxApiHeaderKeys.Company,this.companyId),queryRefs=_queries.reduce((acc,query)=>{let tag=this.tags?.find(t=>t.publicId===query.tag?.publicId),variable=tag?.variable?this.variableByPublicId.get(tag.variable.publicId):void 0;return variable?[...acc,new LoggingDataQueryRef(query,variable,tag)]:acc},[]);if(body.length){let urlParams=csvDelimiter!=="comma"?{delimiter:csvDelimiter}:void 0,url=this.api.url("DataExport",urlParams);return this.http.post(url,new Blob([JSON.stringify(body)]),{headers,responseType:"blob"}).pipe(map(blob=>({queryRefs,blob})))}}return EMPTY}fetchHistoricQueryList(queryList,timeRange,timeZone){if(this.companyId&&this.tags?.length&&this.variables?.length){logDebugEvent("fetch:historic",{queryList,timeRange});let historicQueriesWithRefs=queryList.map((q,i)=>__spreadProps(__spreadValues({},q),{ref:getQueryRef(i)})),url=this.api.url("DataList"),body=mapQueryListToPostData(historicQueriesWithRefs.filter(query=>!!query.tag),timeRange,this.tags,this.variables,!1,timeZone||void 0);if(!body.length)return of([]);let headers=this.api.headers.set(IxApiHeaderKeys.Company,this.companyId);return this.http.post(url,body,{headers}).pipe(map(response=>flatMap_default(response.data,data=>data.points)),map(points=>historicQueriesWithRefs.reduce((accMetrics,query)=>{let metrics=[],ref=query.ref,pointsWithRef=points.filter(p=>Object.keys(p.values).includes(ref)),tag=this.tags?.find(t=>t.publicId===query.tag?.publicId),variable=this.variables?.find(v=>v.publicId===tag?.variable?.publicId);if(variable&&pointsWithRef.length)for(let i=0;i<pointsWithRef.length;i++){let point=pointsWithRef[i],time=DateTime.fromISO(point.time).toMillis(),queryRef=new LoggingDataQueryRef(query,variable,tag),value=LoggingDataValue.create(this.config.locale,queryRef,point.values[ref]);metrics.push({queryRef,time,value})}else{let queryRef=new LoggingDataQueryRef(query,variable,tag),time=null,value=LoggingDataValue.create(this.config.locale,queryRef,null);metrics.push(markMetricAsEmpty({queryRef,time,value}))}return[...accMetrics,...metrics]},[])))}return of([])}runRealTimeQueryHandler(){this.subscriptions.push(this.realTimeQueryControl.valueChanges.subscribe(queryList=>{if(this.agentIdList&&queryList.length&&!this.realTimeWebSocket){let url=this.api.url("AgentDataRealTimeWebSocket",{publicIdList:`${this.agentIdList.join(",")},`}),config4={closeObserver:{next:()=>logDebugEvent("real-time-web-socket-closed")},openObserver:{next:()=>{logDebugEvent("real-time-web-socket-opened"),this.realTimeWebSocket&&this.authToken&&this.realTimeWebSocket.next(`Authorization: ${this.authToken}`)}},serializer:value=>value,url};this.realTimeWebSocket=this.webSocket(config4),logDebugEvent("real-time-web-socket-open"),this.subscriptions.push(this.realTimeWebSocket.pipe(retryBackoff({initialInterval:1e3,maxInterval:300*1e3,maxRetries:50,resetOnSuccess:!0,backoffDelay:(iteration,initialInterval)=>(iteration>10?Math.pow(2,iteration-10):1)*initialInterval})).subscribe({error:()=>{this.nullifyRealTimeQueryMetrics(this.realTimeQueryControl.getValue())},next:wsMessage=>{if("error"in wsMessage){console.error(`AgentDataRealTimeWebSocket error: ${wsMessage.error}`),this.nullifyRealTimeQueryMetrics(this.realTimeQueryControl.getValue());return}let now2=new Date().getTime(),metrics=[],sourceId=wsMessage.device.publicId,points=wsMessage.message.points,variableById=this.variableMapBySourceId.get(sourceId),queries=this.realTimeQueryControl.getValue();if(variableById){for(let point of points){let time=now2-(wsMessage.message.sentTime-point.time),rawValues=mapPointToRawValues(point,variableById),errorVariable=this.errorVariableMapBySourceId?.get(sourceId);if(errorVariable&&queries.some(query=>query.variable&&this.variableByPublicId.get(query.variable.publicId)?.source?.publicId===sourceId)){let errorValue=rawValues[errorVariable.publicId];typeof errorValue=="string"&&this.errorService.setErrorMessageForDataSource(errorValue,sourceId)}for(let query of queries){let variable=query.variable?.publicId?this.variableByPublicId.get(query.variable.publicId):void 0,queryRef=new LoggingDataQueryRef(query,variable,void 0,()=>{this.nullifyRealTimeQueryMetrics([query]),this.realTimeQueryControl.setValue(this.realTimeQueryControl.getValue().filter(q=>q!==query))});if(variable&&variable.publicId in rawValues){let rawValue=rawValues[variable.publicId];if(variable.type&&["int","float"].includes(variable.type)){let factor=query.factor??variable.factor??null;factor!==null&&(rawValue=calcFactor(rawValue,typeof factor=="string"?parseFloat(factor):factor))}let value=LoggingDataValue.create(this.config.locale,queryRef,rawValue);metrics.push({queryRef,time,value})}else{let cachedMetric=this.cache.get(query);if(cachedMetric)metrics.push(cachedMetric);else{let value=LoggingDataValue.create(this.config.locale,queryRef,null),emptyMetric=markMetricAsEmpty({queryRef,time,value});metrics.push(emptyMetric)}}}}metrics.length&&(this.cache.fill(metrics),this.realTimeMetrics.next(metrics))}}}))}}),this.realTimeQueryControl.valueChanges.pipe(debounceTime(2e3)).subscribe(queryList=>{queryList.length===0&&(this.cache.clear(),this.realTimeWebSocket&&(this.realTimeWebSocket.complete(),this.realTimeWebSocket.unsubscribe(),this.realTimeWebSocket=null))}),this.config.authToken.subscribe(token=>{this.realTimeWebSocket&&this.realTimeWebSocket.next(`Authorization: ${token}`)}))}export(queries,csvDelimiter="comma"){let queriesWithRefs=queries.map(query=>__spreadProps(__spreadValues({},query),{ref:query.ref||""})),queriesWithTruncatedRefs=truncateQueryRefsForHeading(queriesWithRefs);return(this.config.beforeFetch?.(queriesWithTruncatedRefs).pipe(take(1))||of(queriesWithTruncatedRefs)).pipe(withLatestFrom(this.config.timeRange,this.config.timeZone),mergeMap(([_queries,timeRange,timeZone])=>this.fetchHistoricQueryExport(_queries,timeRange,csvDelimiter,timeZone)))}fetch(queries){return this.ready.getValue()?(this.config.beforeFetch?.(queries).pipe(take(1))||of(queries)).pipe(map(_queries=>this.parseAndValidateQueries(_queries)),mergeMap(validQueries=>{let historicMetrics=new Subject,historicQueries=validQueries.filter(query=>!isUndefined_default(query.tag)),realTimeMetrics=new Subject,realTimeQueries=validQueries.filter(query=>!isUndefined_default(query.variable));if(this.agentIdList?.length){if(historicQueries.length&&this.tags){this.historicQueryControl.setValue([...this.historicQueryControl.getValue(),...historicQueries]);let stamp=Math.max(...historicQueries.map(q=>q._timeStamp)),refs=uniq_default(historicQueries.map(q=>q._clientRef));this.querySubscriptionMap.set([stamp,...refs],[this.historicMetrics.subscribe(historicMetrics),this.config.timeRange.pipe(withLatestFrom(this.config.timeZone),take(1),mergeMap(([timeRange,timeZone])=>this.fetchHistoricQueryList(historicQueries,timeRange,timeZone))).subscribe(metrics=>historicMetrics.next(metrics)),{unsubscribe:()=>historicMetrics.complete()}])}if(realTimeQueries.length){this.realTimeQueryControl.setValue([...this.realTimeQueryControl.getValue(),...realTimeQueries]);let stamp=Math.max(...realTimeQueries.map(q=>q._timeStamp)),refs=uniq_default(realTimeQueries.map(q=>q._clientRef));this.querySubscriptionMap.set([stamp,...refs],[this.realTimeMetrics.subscribe(realTimeMetrics),{unsubscribe:()=>realTimeMetrics.complete()}])}}return merge(historicMetrics,realTimeMetrics).pipe(mergeMap(_metrics=>this.config.afterFetch?this.config.afterFetch(_metrics).pipe(take(1)):of(_metrics)))})):this.onReady().pipe(switchMap(()=>this.fetch(queries)))}destroy(){this.cache.clear(),this.ready.complete(),this.historicMetrics.complete(),this.historicQueryControl.complete(),this.realTimeMetrics.complete(),this.realTimeQueryControl.complete(),this.realTimeWebSocket?.complete(),this.querySubscriptionMap.forEach(value=>value.forEach(v=>v.unsubscribe())),this.subscriptions.forEach(subscription=>subscription.unsubscribe())}parseAndValidateQueries(queries){if(queries.forEach(query=>{if(!query.selector&&!query.tag&&!query.variable)throw"Invalid query: "+JSON.stringify(query);if(query.postAggr&&query.offset!==void 0)throw"Query postAggr and offset combination not allowed"}),queries.some(query=>query.selector&&!query.tag&&!query.variable)){let _log=environment.production?()=>{}:console.warn;return queries.reduce((_queries,query)=>{if(query.selector&&!query.tag&&!query.variable){let{dataSource,logName,logType,target,type}=parseSelector(query.selector);if(type==="Agent"){let agentId=this.agentIdList?.length&&target==="selected"?this.agentIdList[0]:target,sourceId=this.dataSources?.find(s2=>s2.agent?.publicId===agentId&&s2.slug===dataSource)?.publicId||null;if(sourceId){if(logType==="tag"){let found=this.tags?.find(t=>t.source?.publicId===sourceId&&t.slug===logName);if(found)return[..._queries,__spreadProps(__spreadValues({},query),{tag:{publicId:found.publicId}})];_log("Query selector (%s) cannot be matched to a tag",query.selector)}else if(logType==="variable"){let found=this.variables?.find(v=>v.source?.publicId===sourceId&&v.slug===logName);if(found)return[..._queries,__spreadProps(__spreadValues({},query),{variable:{publicId:found.publicId}})];_log("Query selector (%s) cannot be matched to a variable",query.selector)}}else _log("Query selector (%s) cannot be matched to a data-source",query.selector);if(logType==="tag")return[..._queries,__spreadProps(__spreadValues({},query),{tag:null})];if(logType==="variable")return[..._queries,__spreadProps(__spreadValues({},query),{variable:null})]}else if(type==="Asset"){let targetAsset=null,metricSlug=logName;if(logName.includes(".")){let parts=logName.split(".");metricSlug=parts.pop(),targetAsset=this.selectedAssetId?this.resolveAssetPath(parts,this.assets??[],this.selectedAssetId):null}else targetAsset=this.assets?.find(a=>a.publicId===this.selectedAssetId)??null;if(!targetAsset)return _log("Invalid asset path: does not belong to selected asset subtree."),[..._queries,__spreadProps(__spreadValues({},query),{tag:null})];let appConfigIds=(targetAsset?.appConfigs??[]).map(c=>c.publicId),matchingResource=(this.assetAppConfigResources??[]).find(r=>r.slug===metricSlug&&r.config?.publicId&&appConfigIds.includes(r.config.publicId));if(matchingResource){let tag=this.tags?.find(t=>t.publicId===matchingResource.resourcePublicId);return tag?[..._queries,__spreadProps(__spreadValues({},query),{tag:{publicId:tag.publicId}})]:[..._queries,__spreadProps(__spreadValues({},query),{tag:null})]}else return _log("Query selector (%s) cannot be matched",query.selector),[..._queries,__spreadProps(__spreadValues({},query),{tag:null})]}else _log("Query selector (%s) cannot be matched",query.selector)}return[..._queries,query]},[])}return queries}resolveAssetPath(assetPaths,assets,selectedAssetId){if(!assetPaths?.length||!assets?.length||!selectedAssetId||!assets.find(a=>a.publicId===selectedAssetId))return null;let firstSlug=assetPaths[0],currentAsset=assets.filter(a=>a.parent?.publicId===selectedAssetId).find(a=>a.slug===firstSlug)??null;if(!currentAsset)return null;for(let i=1;i<assetPaths.length;i++){let slug=assetPaths[i],child=assets.find(a=>a.slug===slug&&a.parent?.publicId===currentAsset?.publicId);if(!child)return null;currentAsset=child}return currentAsset}};var AUTH_LOGOUT_INITIALIZER=new InjectionToken("auth.logout-intializer");var logIn=createAction("[App] Log In",props()),logInFailure=createAction("[IxApi] Log In Failure",props()),logInSuccess=createAction("[IxApi] Log In Success",props()),logOut=createAction("[App] Log Out"),logOutSuccess=createAction("[App] Log Out Success"),loggedOutByApi=createAction("[IxApi] Access Token Removed"),loggedOutByStorage=createAction("[Storage] Access Token Removed"),otpRequired=createAction("[IxApi] One-time Password Required",props()),redirectToLogin=createAction("[Auth] Redirect To Login"),invalidOrExpired=createAction("[IxApi] Invalid or Expired Access Token");var TOKEN_STORAGE_KEY="auth";function LayerComponent_ng_template_2_Template(rf,ctx){}var LayerComponent=(()=>{class LayerComponent2{static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||LayerComponent2)}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:LayerComponent2,selectors:[["ix-layer"]],decls:3,vars:1,consts:[[1,"ix-container"],[1,"ix-surface"],[3,"cdkPortalOutlet"]],template:function(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"div",0)(1,"div",1),\u0275\u0275template(2,LayerComponent_ng_template_2_Template,0,0,"ng-template",2),\u0275\u0275elementEnd()()),rf&2&&(\u0275\u0275advance(2),\u0275\u0275property("cdkPortalOutlet",ctx.portal))},dependencies:[PortalModule,CdkPortalOutlet],styles:["[_nghost-%COMP%]{position:absolute;inset:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);overflow:visible;backface-visibility:visible;pointer-events:none;z-index:110;transform-origin:50% 50%;will-change:transform,opacity;contain:style}[_nghost-%COMP%] .ix-container[_ngcontent-%COMP%]{background-color:var(--body-bg);color:var(--body-color)}"],changeDetection:0})}}return LayerComponent2})();function animateIn2(element,done,origin){let transformOrigin="50% 50%";if(document&&origin){let x=Math.round(origin.x/document.documentElement.clientWidth*100),y=Math.round(origin.y/document.documentElement.clientHeight*100);transformOrigin=`${x}% ${y}%`}gsapWithCSS.fromTo(element,{scale:.875,opacity:0,y:20},{scale:1,opacity:1,y:0,transformOrigin,duration:.25,ease:"power3",onComplete:done,force3D:!0})}function animateOut2(element,done){gsapWithCSS.to(element,{opacity:0,duration:.2,ease:"power3",onComplete:done,force3D:!0})}var LayerRef=class{constructor(_ngZone,componentRef,afterOpened,config4){this._ngZone=_ngZone,this.componentRef=componentRef,this._afterClosed=new Subject,this.closing=!1,this.closed=!1,this._afterOpened=afterOpened,this.config=__spreadValues({data:{}},config4)}afterClosed(){return this._afterClosed.asObservable()}afterOpened(){return this._afterOpened.asObservable()}close(){if(this.closing)return;this.closing=!0;let{nativeElement}=this.componentRef.location;requestAnimationFrame(()=>{animateOut2(nativeElement,()=>{this._ngZone.run(()=>{this.componentRef.destroy(),nativeElement.remove(),this.closed=!0,this._afterClosed.next(),this._afterClosed.complete()})})})}};var LAYER_DATA=new InjectionToken("LayerData"),LAYER_REF_CACHE=new InjectionToken("LayerRefCache"),LAYER_AFTER_OPENED=new InjectionToken("LayerAfterOpened",{providedIn:"root",factory:()=>new Subject}),LayerService=(()=>{class LayerService2{constructor(){this.layerRefs=inject(LAYER_REF_CACHE),this._afterOpened=inject(LAYER_AFTER_OPENED),this.ngZone=inject(NgZone),this.injector=inject(Injector),this.resolver=inject(ComponentFactoryResolver$1),this.afterOpened=this._afterOpened.asObservable(),this.vcRef=inject(APP_VIEW_CONTAINER)}open(component,config4){return this.attach(component,config4)}getAll(){return this.layerRefs.filter(ref=>!ref.closed)}closeAll(){for(;this.layerRefs.length;){let ref=this.layerRefs.pop();ref&&!ref.closed&&ref.close()}}attach(component,config4){let componentRef=this.resolver.resolveComponentFactory(LayerComponent).create(this.injector),afterOpened=new Subject,ref=new LayerRef(this.ngZone,componentRef,afterOpened,config4),injector=this.createInjector(ref,config4),portal=new ComponentPortal(component,void 0,injector);if(componentRef.instance.portal=portal,config4?.layerClass&&componentRef.location.nativeElement.classList.add(config4.layerClass),this.vcRef()?.insert(componentRef.hostView),event instanceof MouseEvent){let origin={x:event.x,y:event.y};requestAnimationFrame(()=>{animateIn2(componentRef.location.nativeElement,()=>{this.ngZone.run(()=>{afterOpened.next(),afterOpened.complete(),this._afterOpened.next(ref)})},origin)})}else requestAnimationFrame(()=>{this.ngZone.run(()=>{afterOpened.next(),afterOpened.complete(),this._afterOpened.next(ref)})});return this.layerRefs.includes(ref)||(this.layerRefs.forEach((r,i)=>{r.closed&&this.layerRefs.splice(i,1)}),this.layerRefs.unshift(ref)),ref}createInjector(layerRef,config4){return Injector.create({providers:[{provide:LAYER_DATA,useValue:config4?.data||null},{provide:LayerRef,useValue:layerRef}]})}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||LayerService2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:LayerService2,factory:LayerService2.\u0275fac})}}return LayerService2})();function getBasicAuthHeader(credentials){let{emailAddress,password,oneTimePassword}=credentials;return`Basic ${gBase64.encode(emailAddress+":"+(oneTimePassword||"")+":"+password)}`}function getBearerAuthHeader(token){return`Bearer ${mapTokenToSecretId(token)}`}function mapTokenToSecretId(token){return token.slice(0,32)}function mapTokenToPublicId(token){return token.slice(32)}function hasIncorrectCredentials(errors2){return errors2.some(error3=>error3.message===IxApiRequestErrorMessages.BASIC_AUTH_FAILED)}function hasOtpRequired(errors2){return errors2.some(error3=>error3.message===IxApiRequestErrorMessages.OTP_REQUIRED||error3.message===IxApi2RequestErrorMessages.OTP_REQUIRED||error3.message.match(OTP_SMS_REQUIRED_PATTERN))}function hasOtpError(errors2){return errors2.some(error3=>["Two Factor Authentication failed","Value is too long","Value is too short","Value does not match regex expression"].includes(error3.message))}function hasLoginIsRateLimited(errors2){return errors2.some(error3=>error3.message==="Login is rate limited")}function hasOtpSmsEnableRateLimited(errors2){return errors2.some(error3=>error3.message==="Enabling OTP via SMS is rate limited")}function hasUserInactive(errors2){return errors2.some(error3=>error3.message==="User not active")}function hasSsoFailure(errors2){return errors2.some(error3=>error3.message==="Invalid value"&&error3.propertyName==="ssoAuthentication.code")&&errors2.some(error3=>error3.message==="Invalid value"&&error3.propertyName==="ssoAuthentication.state")}var ensureAll20=createAction("[App] Ensure All AccessTokens"),loadAll19=createAction("[App] Load All AccessTokens"),loadAllFailure19=createAction("[IxApi] Load All AccessTokens Failure",props()),loadAllSuccess20=createAction("[IxApi] Load All AccessTokens Success",props()),didAdd31=createAction("[ChangeNotification] AccessToken Was Added",props()),didRemove30=createAction("[ChangeNotification] AccessToken Was Removed",props()),remove24=createAction("[App] Remove AccessToken",props()),removeSuccess24=createAction("[IxApi] Remove AccessToken Success",props()),removeList5=createAction("[App] Remove AccessToken List",props()),removeListSuccess5=createAction("[IxApi] Remove AccessToken List Success",props()),removeOthers=createAction("[App] Remove Other AccessTokens",props()),reset30=createAction("[App] Reset AccessToken State"),shouldRemove4=createAction("[OptimisticMutation] AccessToken Should Remove",props());var FEATURE_NAME14="accessToken";var UUID=class{static v4(){let id="",i;for(i=0;i<36;i++)i===14?id+="4":i===19?id+="89ab".charAt(getRandom(4)):i===8||i===13||i===18||i===23?id+="-":id+="0123456789abcdef".charAt(getRandom(16));return id;function getRandom(max3){return Math.random()*max3}}};var DEVICE_IDENTIFIER_STORAGE_KEY="device-identifier",APP_DEVICE_IDENTIFIER=new InjectionToken("app.device-identifier",{providedIn:"root",factory:()=>{let storage=inject(StorageService);return storage.has(DEVICE_IDENTIFIER_STORAGE_KEY)||storage.setEncrypted(DEVICE_IDENTIFIER_STORAGE_KEY,UUID.v4(),1/0),storage.get(DEVICE_IDENTIFIER_STORAGE_KEY)}});var AccessTokenService=(()=>{class AccessTokenService2{constructor(){this.api=inject(IxApiService),this.deviceIdentifier=inject(APP_DEVICE_IDENTIFIER),this.http=inject(HttpClient)}add(create,authorization){let url=this.api.url("AccessTokenList"),headers=this.api.headers.set("Authorization",authorization).set(IxApiHeaderKeys.DeviceIdentifier,this.deviceIdentifier),params=new HttpParams({fromObject:{fields:"*,user(*,custom.*,otpAuth.*,acceptedTermsOfUsePolicies(*,policy))"}}),options={headers,params};return this.http.post(url,create,options)}addSso(create){let url=this.api.url("SsoAccessTokenList"),context3=new HttpContext().set(REQUIRES_BRANDING,!0),headers=this.api.headers.delete("Authorization"),params=new HttpParams({fromObject:{fields:"*,user(*,custom.*,otpAuth.*,acceptedTermsOfUsePolicies.policy)"}}),options={context:context3,headers,params};return this.http.post(url,create,options)}getAll(fields){return whileMoreAfter(moreAfter=>this.getList(fields,moreAfter))}getList(fields,pageAfter,pageSize){let url=this.api.url("AccessTokenList"),headers=this.api.headers,params=new HttpParams({fromObject:__spreadValues({fields:fields.join(",")},getPageParams(pageAfter,pageSize))}),options={headers,params};return this.http.get(url,options)}getByPublicId(publicId,fields){let url=this.api.url("AccessToken",{publicId}),headers=this.api.headers,params=new HttpParams({fromObject:{fields:fields.join(",")}}),options={headers,params};return this.http.get(url,options)}removeByPublicId(publicId){let url=this.api.url("AccessToken",{publicId}),options={headers:this.api.headers};return this.http.delete(url,options)}removeByPublicIdList(publicIdList){let url=this.api.url("AccessTokenList"),headers=this.api.headers,body=publicIdList.map(publicId=>({publicId})),options={headers,body};return this.http.delete(url,options)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AccessTokenService2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AccessTokenService2,factory:AccessTokenService2.\u0275fac,providedIn:"root"})}}return AccessTokenService2})();function sortByCreatedOn(a,b){return a.created?.on&&b.created?.on?a.created.on===b.created.on?0:a.created.on>b.created.on?-1:1:0}var adapter13=createResourceAdapter({sortComparer:sortByCreatedOn}),initialState14=adapter13.getInitialState(),reducer11=createReducer(initialState14,on(reset30,()=>__spreadValues({},initialState14)),on(didAdd31,(state,{data})=>adapter13.upsertOne(data,state)),on(loadAll19,state=>__spreadProps(__spreadValues({},state),{allLoading:!0})),on(loadAllFailure19,state=>__spreadProps(__spreadValues({},state),{allLoading:!1})),on(loadAllSuccess20,(state,{data})=>adapter13.setAll(data,__spreadProps(__spreadValues({},state),{allLoading:!1,allLoaded:!0}))),on(shouldRemove4,removeSuccess24,didRemove30,(state,{publicId})=>adapter13.removeOne(publicId,state)),on(removeListSuccess5,(state,{publicIdList})=>adapter13.removeMany(publicIdList,state))),feature11=createFeature({name:FEATURE_NAME14,reducer:reducer11});var selectAll13=createSelector(feature11.selectAccessTokenState,adapter13.getSelectors().selectAll),selectEntity7=publicId=>createSelector(feature11.selectEntities,entities=>publicId&&entities[publicId]||null),{selectAllLoading:selectAllLoading11,selectAllLoaded:selectAllLoaded11}=feature11;var AuthService=(()=>{class AuthService2{constructor(storage,accessTokenService){this.storage=storage,this.accessTokenService=accessTokenService,this.tokenSubject=new BehaviorSubject(this.storage.get(TOKEN_STORAGE_KEY)),this.token=this.tokenSubject.asObservable(),this.isAuthenticated=this.token.pipe(map(token=>!!token)),this.storage.watch(TOKEN_STORAGE_KEY).subscribe(token=>{this.tokenSubject.next(token)})}forgetToken(){this.storage.remove(TOKEN_STORAGE_KEY)}loginWithCredentials(credentials,remember,trustedDeviceName=null){return this.accessTokenService.add(__spreadValues({expiresIn:remember?2592e3:86400},trustedDeviceName?{trustedDeviceName}:{}),getBasicAuthHeader(credentials)).pipe(map(response=>response.data))}logout(){let token=this.tokenSubject.getValue();return token?this.accessTokenService.removeByPublicId(mapTokenToPublicId(token)):of({status:"success",data:null,type:"Null"})}createDerivedToken(create={expiresIn:86400,trustedDeviceName:null,scope:null}){let value=this.tokenSubject.getValue();return value?this.accessTokenService.add(create,getBearerAuthHeader(value)).pipe(map(response=>response.data)):throwError(()=>new Error("No token available"))}setToken(response){let expires=Math.floor(new Date(response.expiresOn).getTime()/1e3);this.storage.setEncrypted(TOKEN_STORAGE_KEY,`${response.secretId}${response.publicId}`,expires)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AuthService2)(\u0275\u0275inject(StorageService),\u0275\u0275inject(AccessTokenService))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AuthService2,factory:AuthService2.\u0275fac,providedIn:"root"})}}return AuthService2})();var FEATURE_NAME15="cnsSystem";var MARKED_DIRTY_DATA_KEY="$dirty",PROPERTY_DELIMITER=new RegExp("[@=]"),DATA_PROPERTY_DELIMITER=".",OWN_PUBLIC_ID="me",AUTH_TOKEN_EXPIRY=3600,AUTH_TOKEN_EXPIRY_CHECK_INTERVAL=Math.max(Math.round(AUTH_TOKEN_EXPIRY/12),10),AUTH_TOKEN_EXPIRY_MS=AUTH_TOKEN_EXPIRY*1e3,AUTH_TOKEN_EXPIRY_CHECK_INTERVAL_MS=AUTH_TOKEN_EXPIRY_CHECK_INTERVAL*1e3;function flattenChangeNotification(change,resOpts){if(isArray_default(change))return change.reduce((changeNotificationList,cn)=>[...changeNotificationList,...flattenChangeNotification(cn,resOpts)],[]);if(change.act?.startsWith("M")&&isArray_default(change.dat)){if(change.dat.length>1){let rel=mapChangeNotificationToRel(change),opt=resOpts?.find(o=>o.rel instanceof RegExp?o.rel.test(rel):o.rel===rel);if(opt?.chunkSize)return opt.chunkSize===1/0?[change]:chunk_default(change.dat,opt.chunkSize).map(dat=>__spreadProps(__spreadValues({},change),{dat}))}let act=change.act?.replace("MXT","EXT").replace("MDD","ADD").replace("MDL","DEL");return change.dat.map(dat=>__spreadProps(__spreadValues({},change),{act,dat}))}return isArray_default(change.sel)?change.sel.map(sel=>__spreadProps(__spreadValues({},change),{sel})):[change]}function mapChangeNotificationToAction(change){let type=mapChangeNotificationToActionType(change),payload=mapChangeNotificationToActionPayload(change);return createAction(type,props())(payload)}function mapChangeNotificationToActionType(change){let rel=mapChangeNotificationToRel(change);switch(change.act){case"ADD":case"LAD":return`[ChangeNotification] ${rel} Was Added`;case"MDD":return`[ChangeNotification] ${rel} List Was Added`;case"DEL":case"LRM":return`[ChangeNotification] ${rel} Was Removed`;case"MDL":return`[ChangeNotification] ${rel} List Was Removed`;case"REP":case"EXT":return`[ChangeNotification] ${rel} Was Updated`;case"MXT":return`[ChangeNotification] ${rel} List Was Updated`;default:return`[ChangeNotification] ${rel} Was Touched`}}function mapChangeNotificationToActionPayload(change){let data=change.dat,selector3=isArray_default(change.sel)?change.sel[0]:change.sel,path=selector3.pat?selector3.pat:"",type=selector3.typ,payload={};if(path.includes(DATA_PROPERTY_DELIMITER)){let parts=path.split(DATA_PROPERTY_DELIMITER);parts.slice().reverse().forEach((part,index)=>{if(part.includes("#")){let[prop,publicId]=part.split("#"),key=publicId===getMainResourceId(path)?"publicId":prop!==""?propToId(prop):relToId(type);payload[key]=publicId==="null"?null:publicId}else if(PROPERTY_DELIMITER.test(part)){let[,key,value]=part.split(PROPERTY_DELIMITER);payload[key]=isNaN(Number(value))?value:Number(value)}else parts.slice(parts.length-index).some(p=>p.includes("#"))||(data=data!==void 0?{[part]:data}:data)})}else if(path.includes("#")){let publicId=path.slice(1);publicId!==OWN_PUBLIC_ID&&(payload.publicId=publicId)}return isDirty(data)?markAsDirty(__spreadProps(__spreadValues(__spreadValues({},getIds(data)),payload),{data:void 0})):__spreadProps(__spreadValues(__spreadValues({},getIds(data)),payload),{data:isObject_default(data)?isArray_default(data)?[...data]:__spreadValues({},data):data})}function mapChangeNotificationToRel(change){let selector3=isArray_default(change.sel)?change.sel[0]:change.sel,path=selector3.pat?selector3.pat:"",type=selector3.typ;if(path.includes(DATA_PROPERTY_DELIMITER)){let parts=path.split(DATA_PROPERTY_DELIMITER);return parts.reduce((rel,part,i)=>{if(part.includes("#")){let prop=part.split("#")[0];return`${rel}${propToRel(prop)}`}if(PROPERTY_DELIMITER.test(part)){let prop=part.split(PROPERTY_DELIMITER)[0];return`${rel}${propToRel(prop)}`}return parts.slice(i+1).some(p=>p.includes("#"))?`${rel}${propToRel(part)}`:`${rel}`},type)}return type}function markAsDirty(action){return __spreadValues({$dirty:!0},action)}function markAsTransformed(action){return __spreadValues({$transformed:!0},action)}function isDirty(data){if(isObject_default(data)){let key=_keysInObject(data).find(key2=>key2.includes(MARKED_DIRTY_DATA_KEY));if(key)return get_default(data,key,!1)}return!1}function getIds(data){let publicId=_getPublicId(data),publicIdList=_getPublicIdList(data);return __spreadValues(__spreadValues(__spreadValues({},publicId?{publicId}:{}),publicIdList?{publicIdList}:{}),_getContextIds(data))}function _getContextIds(data){let ids={};return isObject_default(data)&&Object.keys(data).forEach(key=>{["agent","asset","device","user"].includes(key)&&data[key]?.publicId&&(ids[`${key}Id`]=data[key].publicId)}),ids}function _getPublicId(data){if(isObject_default(data))return data?.publicId}function _getPublicIdList(data){if(isArray_default(data))return data.map(_getPublicId)}function _keysInObject(obj){let addDelimiter=(a,b)=>a?`${a}.${b}`:b,paths=(obj2={},head="")=>Object.entries(obj2).reduce((product,[key,value])=>{let fullPath=addDelimiter(head,key);return isObject_default(value)?product.concat(paths(value,fullPath)):product.concat(fullPath)},[]);return paths(obj)}function getMainResourceId(path){if(path.includes("#"))return(path.includes(DATA_PROPERTY_DELIMITER)?path.split(DATA_PROPERTY_DELIMITER):[path]).slice().reverse().filter(part=>part.includes("#")||PROPERTY_DELIMITER.test(part)).map(part=>part.includes("#")?part.split("#")[1]:null)[0]}function getSuffix(value){return value=kebabCase_default(value),value.includes("-")?value.slice(value.lastIndexOf("-")+1):value}function propToRel(prop){return upperFirst_default(camelCase_default(prop.endsWith("ies")?`${prop.slice(0,-3)}y`:prop.endsWith("s")?prop.slice(0,-1):prop))}function propToId(prop){return relToId(propToRel(prop))}function relToId(rel){return`${getSuffix(rel)}Id`}var CHANGE_NOTIFICATION_INTERCEPTORS=new InjectionToken(`${FEATURE_NAME15}-interceptors`,{providedIn:"root",factory:()=>[]});var CHANGE_NOTIFICATION_RESOURCE_OPTIONS=new InjectionToken(`${FEATURE_NAME15}-resource-options`,{providedIn:"root",factory:()=>[]});var AuthTokenService=(()=>{class AuthTokenService2{constructor(){this.api=inject(IxApiService),this.http=inject(HttpClient)}getForAiAssistant(body){let url=this.api.url("AuthTokenAiChatList"),options={headers:this.api.headers};return this.http.post(url,body,options)}getForChangeNotifications(body){let url=this.api.url("AuthTokenChangeNotificationsList"),options={headers:this.api.headers};return this.http.post(url,body,options)}getForData(body){let url=this.api.url("AuthTokenDataList"),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context3,headers};return this.http.post(url,body,options)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AuthTokenService2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AuthTokenService2,factory:AuthTokenService2.\u0275fac,providedIn:"root"})}}return AuthTokenService2})();var ChangeNotificationsService=(()=>{class ChangeNotificationsService2{constructor(ngZone,api,authTokenService,store,webSocket2,interceptors,resOpts){this.ngZone=ngZone,this.api=api,this.authTokenService=authTokenService,this.store=store,this.webSocket=webSocket2,this.interceptors=interceptors,this.resOpts=resOpts,this.aut$=new BehaviorSubject(null),this.sub$=new BehaviorSubject([]),this.userId=null}start(){let url=this.api.url("ChangeNotificationWebSocket"),initialized$=new Subject,config4={url,openObserver:{next:openEvent=>{this.socket$&&this.aut$.getValue()&&this.socket$.next({aut:this.aut$.getValue(),sub:this.sub$.getValue()}),initialized$.next(openEvent),initialized$.complete()}},closeObserver:{next:closeEvent=>{initialized$.next(closeEvent),initialized$.complete()}},protocol:"change-notifications",serializer:value=>JSON.stringify(value)};this.socket$=this.webSocket(config4);let socketAsObservable$=this.socket$.pipe(mergeMap(event2=>flattenChangeNotification(event2,this.resOpts)),map(event2=>mapChangeNotificationToAction(event2)),retryBackoff({initialInterval:1e3,maxInterval:300*1e3,maxRetries:50,resetOnSuccess:!0,backoffDelay:(iteration,initialInterval)=>(iteration>10?Math.pow(2,iteration-10):1)*initialInterval}));return this.socketSubscription=socketAsObservable$.subscribe({next:action=>{if(this.interceptors.length){let reduced=this.interceptors.reduceRight((acc,interceptor)=>interceptor.intercept(acc),action);!environment.production&&!isEqual_default(action,reduced)?action=markAsTransformed(reduced):action=reduced}this.ngZone.run(()=>{this.store.dispatch(action)})}}),initialized$.asObservable()}stop(){this.socketSubscription&&this.socketSubscription.unsubscribe(),this.socket$=null,this.socketSubscription=null,this.aut$.next(null),this.sub$.next([])}setUser(userId){this.userId=userId}unsetUser(){this.userId=null}setCompany(company){if(this.socket$){let currSub=this.sub$.getValue(),nextSub=[`Company/${company}`,`UserCompany/${this.userId}/${company}`];isEqual_default(currSub,nextSub)||(this.sub$.next(nextSub),this.socket$.next({sub:nextSub}))}}unsetCompany(){this.socket$&&(this.sub$.next([]),this.socket$.next({sub:[]}))}generateAuthToken(){return this.authTokenService.getForChangeNotifications({expiresIn:AUTH_TOKEN_EXPIRY}).pipe(map(response=>response.data))}setAuthorization(token){this.socket$&&(this.aut$.next(token),this.socket$.next({aut:token,sub:this.sub$.getValue()}))}unsetAuthorization(){this.socket$&&(this.aut$.next(null),this.socket$.next({aut:null,sub:[]}))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||ChangeNotificationsService2)(\u0275\u0275inject(NgZone),\u0275\u0275inject(IxApiService),\u0275\u0275inject(AuthTokenService),\u0275\u0275inject(Store),\u0275\u0275inject(WEB_SOCKET),\u0275\u0275inject(CHANGE_NOTIFICATION_INTERCEPTORS),\u0275\u0275inject(CHANGE_NOTIFICATION_RESOURCE_OPTIONS))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:ChangeNotificationsService2,factory:ChangeNotificationsService2.\u0275fac,providedIn:"root"})}}return ChangeNotificationsService2})();var AuthEffects=(()=>{class AuthEffects2{constructor(){this.accessTokenService=inject(AccessTokenService),this.actions$=inject(Actions),this.apiRequestErrors$=inject(IxApiRequestErrors),this.authLogoutInitializer=inject(AUTH_LOGOUT_INITIALIZER),this.authService=inject(AuthService),this.layerService=inject(LayerService),this.location=inject(Location),this.matDialog=inject(MatDialog),this.route=inject(ActivatedRoute),this.router=inject(Router),this.storage=inject(StorageService),this.viewerService=inject(ViewerService),this.changeNotificationsService=inject(ChangeNotificationsService),this.login$=createEffect(()=>this.actions$.pipe(ofType(logIn),switchMap(({credentials,remember,trustedDeviceName})=>this.authService.loginWithCredentials(credentials,remember,trustedDeviceName).pipe(map(data=>logInSuccess({data})),catchError(errorResponse=>of(logInFailure({errors:errorResponse.error?.data??[]}))))))),this.loginSuccess$=createEffect(()=>this.actions$.pipe(ofType(logInSuccess),tap(({data})=>{if(this.authService.setToken(data),this.route.snapshot.queryParamMap.has("next")){let next=this.route.snapshot.queryParams.next;this.router.navigateByUrl(next)}else this.router.navigate(["/"])})),{dispatch:!1}),this.logout$=createEffect(()=>this.actions$.pipe(ofType(logOut),switchMap(()=>forkJoin(this.authLogoutInitializer.map(factory2=>factory2()))),map(()=>logOutSuccess()))),this.logoutConfirm$=createEffect(()=>this.actions$.pipe(ofType(logOutSuccess),delay(0),tap(()=>{this.authService.logout().subscribe(),this.authService.forgetToken(),this.changeNotificationsService.unsetUser(),window.dispatchEvent(new CustomEvent(FeatureEventType.LoggedOut))}),map(()=>redirectToLogin()))),this.invalidOrExpired$=createEffect(()=>this.actions$.pipe(ofType(invalidOrExpired),tap(()=>this.authService.forgetToken()),map(()=>loggedOutByApi()))),this.loggedOut$=createEffect(()=>this.actions$.pipe(ofType(loggedOutByApi,loggedOutByStorage),tap(()=>{window.dispatchEvent(new CustomEvent(FeatureEventType.LoggedOut))}),map(()=>redirectToLogin()))),this.otpRequired$=createEffect(()=>this.actions$.pipe(ofType(logInFailure),filter(({errors:errors2})=>hasOtpRequired(errors2)),map(({errors:errors2})=>{let otpSmsError=errors2.find(error3=>error3.message.match(OTP_SMS_REQUIRED_PATTERN)),phoneNumber;return otpSmsError&&(phoneNumber=otpSmsError.message.match(OTP_SMS_REQUIRED_PATTERN)?.[1]),otpRequired({phoneNumber})}))),this.redirectToLogin$=createEffect(()=>this.actions$.pipe(ofType(redirectToLogin),tap(()=>{this.matDialog.closeAll(),this.layerService.closeAll(),this.viewerService.closeAll();let next=null,urlTree=this.router.parseUrl(this.router.url);urlTree.queryParamMap.has("next")?next=urlTree.queryParamMap.get("next"):this.location.path().startsWith("/login")||(next=this.location.path());let redirectUrl=environment.appName==="Portal"?"/":"/login";this.router.navigate([redirectUrl],next?{queryParams:{next}}:void 0)})),{dispatch:!1}),this.accessTokenRemoved$=createEffect(()=>this.actions$.pipe(ofType(didRemove30),withLatestFrom(this.authService.token),filter(([{publicId},token])=>token?mapTokenToPublicId(token)===publicId:!1),map(()=>invalidOrExpired()))),this.logInSuccess$=createEffect(()=>this.actions$.pipe(ofType(logInSuccess),filter(({data})=>!!data.user),map(({data})=>loginLoadMeSuccess({data:data.user})))),this.myUserLoaded$=createEffect(()=>this.actions$.pipe(ofType(loginLoadMeSuccess,loadMeSuccess3),tap(({data})=>{this.changeNotificationsService.setUser(data.publicId),window.dispatchEvent(new CustomEvent(FeatureEventType.LoggedIn,{detail:data.publicId}))})),{dispatch:!1}),this.storage$=createEffect(()=>merge(this.storage.watch(TOKEN_STORAGE_KEY,StorageEventContext.Others),this.storage.watch(TOKEN_STORAGE_KEY,StorageEventContext.SelfExpired).pipe(delay(0))).pipe(mergeMap(token=>token?EMPTY:of(loggedOutByStorage())))),this.tokenExpired$=createEffect(()=>this.apiRequestErrors$.pipe(ofStatus(401),filter(errorResponse=>!!errorResponse._request?.headers.get("Authorization")?.match(/^bearer/i)),map(errorResponse=>errorResponse.error?.data||[]),filter(errors2=>errors2.some(err=>err.propertyName==="Authorization"&&err.message.startsWith("Invalid"))),map(()=>invalidOrExpired()))),this.showUserOtpSetup$=createEffect(()=>this.actions$.pipe(ofType(loginLoadMeSuccess,loadMeSuccess3),tap(_0=>__async(this,[_0],function*({data}){let hasGlbSkippedOtpSetupOnKey="glbSkippedOtpSetupOn"in(data.custom||{}),hasOtpAuthRequired=!!data.otpAuth?.required,hasGlbSkippedOtpSetupOn=!!data.custom?.glbSkippedOtpSetupOn,hasAppTwoFactorAuth=environment.appName==="Activation Wizard"||environment.appName==="Admin"||environment.appName==="Fleet Manager"||environment.appName==="Portal"||environment.appName==="Studio";if(hasGlbSkippedOtpSetupOnKey&&!hasOtpAuthRequired&&!hasGlbSkippedOtpSetupOn&&hasAppTwoFactorAuth){let currentAccessTokenId=mapTokenToPublicId(this.storage.get(TOKEN_STORAGE_KEY)),accessToken=(yield firstValueFrom(this.accessTokenService.getByPublicId(currentAccessTokenId,["publicId,ssoIdentityProvider"]))).data,currentPath=this.route.snapshot.queryParamMap.has("next")?this.route.snapshot.queryParams.next:this.location.path(),isOnTwoFactorAuthEnablePage=currentPath.includes("two-factor-auth/enable");if(!accessToken?.ssoIdentityProvider&&!isOnTwoFactorAuthEnablePage){let queryParams=currentPath?{next:currentPath}:null;this.router.navigate(["/two-factor-auth/enable"],{queryParams})}}}))),{dispatch:!1})}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AuthEffects2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AuthEffects2,factory:AuthEffects2.\u0275fac,providedIn:"root"})}}return AuthEffects2})();var AuthGuard=(()=>{class AuthGuard2{constructor(){this.location=inject(Location),this.router=inject(Router),this.authService=inject(AuthService),this.redirectUrl=environment.appName==="Portal"?"/":"/login"}canActivate(){return this.authService.isAuthenticated.pipe(take(1),tap(authenticated=>{authenticated||this.router.navigate([this.redirectUrl],{queryParams:{next:this.location.path()}})}))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AuthGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AuthGuard2,factory:AuthGuard2.\u0275fac,providedIn:"root"})}}return AuthGuard2})();var ROUTER_REQUEST="@ngrx/router-store/request",routerRequestAction=createAction(ROUTER_REQUEST,props()),ROUTER_NAVIGATION="@ngrx/router-store/navigation",routerNavigationAction=createAction(ROUTER_NAVIGATION,props()),ROUTER_CANCEL="@ngrx/router-store/cancel",routerCancelAction=createAction(ROUTER_CANCEL,props()),ROUTER_ERROR="@ngrx/router-store/error",routerErrorAction=createAction(ROUTER_ERROR,props()),ROUTER_NAVIGATED="@ngrx/router-store/navigated",routerNavigatedAction=createAction(ROUTER_NAVIGATED,props());function routerReducer(state,action){let routerAction=action;switch(routerAction.type){case ROUTER_NAVIGATION:case ROUTER_ERROR:case ROUTER_CANCEL:return{state:routerAction.payload.routerState,navigationId:routerAction.payload.event.id};default:return state}}var MinimalRouterStateSerializer=class{serialize(routerState){return{root:this.serializeRoute(routerState.root),url:routerState.url}}serializeRoute(route){let children=route.children.map(c=>this.serializeRoute(c));return{params:route.params,data:route.data,url:route.url,outlet:route.outlet,title:route.title,routeConfig:route.routeConfig?{path:route.routeConfig.path,pathMatch:route.routeConfig.pathMatch,redirectTo:route.routeConfig.redirectTo,outlet:route.routeConfig.outlet,title:typeof route.routeConfig.title=="string"?route.routeConfig.title:void 0}:null,queryParams:route.queryParams,fragment:route.fragment,firstChild:children[0],children}}},NavigationActionTiming=(function(NavigationActionTiming2){return NavigationActionTiming2[NavigationActionTiming2.PreActivation=1]="PreActivation",NavigationActionTiming2[NavigationActionTiming2.PostActivation=2]="PostActivation",NavigationActionTiming2})(NavigationActionTiming||{}),DEFAULT_ROUTER_FEATURENAME="router",_ROUTER_CONFIG=new InjectionToken("@ngrx/router-store Internal Configuration"),ROUTER_CONFIG=new InjectionToken("@ngrx/router-store Configuration"),RouterState=(function(RouterState2){return RouterState2[RouterState2.Full=0]="Full",RouterState2[RouterState2.Minimal=1]="Minimal",RouterState2})(RouterState||{});function _createRouterConfig(config4){return __spreadValues({stateKey:DEFAULT_ROUTER_FEATURENAME,serializer:MinimalRouterStateSerializer,navigationActionTiming:NavigationActionTiming.PreActivation},config4)}var FullRouterStateSerializer=class{serialize(routerState){return{root:this.serializeRoute(routerState.root),url:routerState.url}}serializeRoute(route){let children=route.children.map(c=>this.serializeRoute(c));return{params:route.params,paramMap:route.paramMap,data:route.data,url:route.url,outlet:route.outlet,title:route.title,routeConfig:route.routeConfig?{component:route.routeConfig.component,path:route.routeConfig.path,pathMatch:route.routeConfig.pathMatch,redirectTo:route.routeConfig.redirectTo,outlet:route.routeConfig.outlet,title:route.routeConfig.title}:null,queryParams:route.queryParams,queryParamMap:route.queryParamMap,fragment:route.fragment,component:route.routeConfig?route.routeConfig.component:void 0,root:void 0,parent:void 0,firstChild:children[0],pathFromRoot:void 0,children}}},RouterStateSerializer=class{},RouterTrigger=(function(RouterTrigger2){return RouterTrigger2[RouterTrigger2.NONE=1]="NONE",RouterTrigger2[RouterTrigger2.ROUTER=2]="ROUTER",RouterTrigger2[RouterTrigger2.STORE=3]="STORE",RouterTrigger2})(RouterTrigger||{}),StoreRouterConnectingService=(()=>{class StoreRouterConnectingService2{constructor(store,router,serializer,errorHandler,config4,activeRuntimeChecks){this.store=store,this.router=router,this.serializer=serializer,this.errorHandler=errorHandler,this.config=config4,this.activeRuntimeChecks=activeRuntimeChecks,this.lastEvent=null,this.routerState=null,this.trigger=RouterTrigger.NONE,this.stateKey=this.config.stateKey,!isNgrxMockEnvironment()&&isDevMode()&&(activeRuntimeChecks?.strictActionSerializability||activeRuntimeChecks?.strictStateSerializability)&&this.serializer instanceof FullRouterStateSerializer&&console.warn("@ngrx/router-store: The serializability runtime checks cannot be enabled with the FullRouterStateSerializer. The FullRouterStateSerializer has an unserializable router state and actions that are not serializable. To use the serializability runtime checks either use the MinimalRouterStateSerializer or implement a custom router state serializer."),this.setUpStoreStateListener(),this.setUpRouterEventsListener()}setUpStoreStateListener(){this.store.pipe(select(this.stateKey),withLatestFrom(this.store)).subscribe(([routerStoreState,storeState])=>{this.navigateIfNeeded(routerStoreState,storeState)})}navigateIfNeeded(routerStoreState,storeState){if(!routerStoreState||!routerStoreState.state||this.trigger===RouterTrigger.ROUTER||this.lastEvent instanceof NavigationStart)return;let url=routerStoreState.state.url;isSameUrl(this.router.url,url)||(this.storeState=storeState,this.trigger=RouterTrigger.STORE,this.router.navigateByUrl(url).catch(error3=>{this.errorHandler.handleError(error3)}))}setUpRouterEventsListener(){let dispatchNavLate=this.config.navigationActionTiming===NavigationActionTiming.PostActivation,routesRecognized;this.router.events.pipe(withLatestFrom(this.store)).subscribe(([event2,storeState])=>{this.lastEvent=event2,event2 instanceof NavigationStart?(this.routerState=this.serializer.serialize(this.router.routerState.snapshot),this.trigger!==RouterTrigger.STORE&&(this.storeState=storeState,this.dispatchRouterRequest(event2))):event2 instanceof RoutesRecognized?(routesRecognized=event2,!dispatchNavLate&&this.trigger!==RouterTrigger.STORE&&this.dispatchRouterNavigation(event2)):event2 instanceof NavigationCancel?(this.dispatchRouterCancel(event2),this.reset()):event2 instanceof NavigationError?(this.dispatchRouterError(event2),this.reset()):event2 instanceof NavigationEnd&&(this.trigger!==RouterTrigger.STORE&&(dispatchNavLate&&this.dispatchRouterNavigation(routesRecognized),this.dispatchRouterNavigated(event2)),this.reset())})}dispatchRouterRequest(event2){this.dispatchRouterAction(ROUTER_REQUEST,{event:event2})}dispatchRouterNavigation(lastRoutesRecognized){let nextRouterState=this.serializer.serialize(lastRoutesRecognized.state);this.dispatchRouterAction(ROUTER_NAVIGATION,{routerState:nextRouterState,event:new RoutesRecognized(lastRoutesRecognized.id,lastRoutesRecognized.url,lastRoutesRecognized.urlAfterRedirects,nextRouterState)})}dispatchRouterCancel(event2){this.dispatchRouterAction(ROUTER_CANCEL,{storeState:this.storeState,event:event2})}dispatchRouterError(event2){this.dispatchRouterAction(ROUTER_ERROR,{storeState:this.storeState,event:new NavigationError(event2.id,event2.url,`${event2}`)})}dispatchRouterNavigated(event2){let routerState=this.serializer.serialize(this.router.routerState.snapshot);this.dispatchRouterAction(ROUTER_NAVIGATED,{event:event2,routerState})}dispatchRouterAction(type,payload){this.trigger=RouterTrigger.ROUTER;try{this.store.dispatch({type,payload:__spreadProps(__spreadValues({routerState:this.routerState},payload),{event:this.config.routerState===RouterState.Full?payload.event:{id:payload.event.id,url:payload.event.url,urlAfterRedirects:payload.event.urlAfterRedirects}})})}finally{this.trigger=RouterTrigger.NONE}}reset(){this.trigger=RouterTrigger.NONE,this.storeState=null,this.routerState=null}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||StoreRouterConnectingService2)(\u0275\u0275inject(Store),\u0275\u0275inject(Router),\u0275\u0275inject(RouterStateSerializer),\u0275\u0275inject(ErrorHandler),\u0275\u0275inject(ROUTER_CONFIG),\u0275\u0275inject(ACTIVE_RUNTIME_CHECKS))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:StoreRouterConnectingService2,factory:StoreRouterConnectingService2.\u0275fac})}}return StoreRouterConnectingService2})();function isSameUrl(first2,second){return stripTrailingSlash(first2)===stripTrailingSlash(second)}function stripTrailingSlash(text2){return text2?.length>0&&text2[text2.length-1]==="/"?text2.substring(0,text2.length-1):text2}function provideRouterStore(config4={}){return makeEnvironmentProviders([{provide:_ROUTER_CONFIG,useValue:config4},{provide:ROUTER_CONFIG,useFactory:_createRouterConfig,deps:[_ROUTER_CONFIG]},{provide:RouterStateSerializer,useClass:config4.serializer?config4.serializer:config4.routerState===RouterState.Full?FullRouterStateSerializer:MinimalRouterStateSerializer},provideEnvironmentInitializer(()=>inject(StoreRouterConnectingService)),StoreRouterConnectingService])}var StoreRouterConnectingModule=(()=>{class StoreRouterConnectingModule2{static forRoot(config4={}){return{ngModule:StoreRouterConnectingModule2,providers:[provideRouterStore(config4)]}}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||StoreRouterConnectingModule2)}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:StoreRouterConnectingModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({})}}return StoreRouterConnectingModule2})();function routerNavigatedOnce(actions$){return()=>actions$.pipe(ofType(ROUTER_NAVIGATED),take(1))}var startSsoAuth=createAction("[App] Start SSO Authentication",props()),startSsoAuthFailure=createAction("[IxApi] Start SSO Authentication failure",props()),startSsoAuthSuccess=createAction("[IxApi] Start SSO Authentication success",props()),finishSsoAuth=createAction("[App] Finish SSO Authentication",props()),finishSsoAuthFailure=createAction("[IxApi] Finish SSO Authentication failure",props()),finishSsoAuthSuccess=createAction("[IxApi] Finish SSO Authentication success",props()),startSsoRegistration=createAction("[App] Start SSO Registration",props()),startSsoRegistrationFailure=createAction("[IxApi] Start SSO Registration failure",props()),startSsoRegistrationSuccess=createAction("[IxApi] Start SSO Registration success",props()),finishSsoRegistration=createAction("[App] Finish SSO Registration",props()),finishSsoRegistrationFailure=createAction("[IxApi] Finish SSO Registration failure",props()),finishSsoRegistrationSuccess=createAction("[IxApi] Finish SSO Registration success"),startSsoAcceptInvite=createAction("[App] Start SSO Accept Invite",props()),startSsoAcceptInviteFailure=createAction("[IxApi] Start SSO Accept Invite failure",props()),startSsoAcceptInviteSuccess=createAction("[IxApi] Start SSO Accept Invite success",props()),finishSsoAcceptInvite=createAction("[App] Finish SSO Accept Invite",props()),finishSsoAcceptInviteFailure=createAction("[IxApi] Finish SSO Accept Invite Failure",props()),finishSsoAcceptInviteSuccess=createAction("[IxApi] Finish SSO Accept Invite Success"),ssoAuthErrorResponse=createAction("[OpenID Connect] Authorization Error Response",props());var AuthSnackBarEffects=(()=>{class AuthSnackBarEffects2{constructor(actions$,snackBar,translate){this.actions$=actions$,this.snackBar=snackBar,this.translate=translate,this.loginFailureMessage$=createEffect(()=>this.actions$.pipe(ofType(logInFailure,finishSsoAuthFailure),tap(({errors:errors2})=>{if(hasOtpRequired(errors2)||hasOtpError(errors2))return;let message=this.translate.instant("__MESSAGE__.__API__.LOGIN_UNKNOWN_ERROR");hasIncorrectCredentials(errors2)?message=this.translate.instant("__MESSAGE__.__API__.AUTHENTICATION_FAILED"):hasLoginIsRateLimited(errors2)?message=this.translate.instant("__MESSAGE__.__API__.TOO_MANY_REQUEST"):hasOtpSmsEnableRateLimited(errors2)?message=this.translate.instant("__MESSAGE__.__API__.TWO_FACTOR_SMS_ENABLE_RATE_LIMITED"):hasUserInactive(errors2)?message=this.translate.instant("__MESSAGE__.__API__.USER_INACTIVE"):hasSsoFailure(errors2)&&(message=this.translate.instant("__MESSAGE__.__API__.SSO_AUTH_FAILED")),this.snackBar.open(message,void 0,{duration:4e3})})),{dispatch:!1}),this.loginSuccessMessage$=createEffect(()=>this.actions$.pipe(ofType(logInSuccess),delayWhen(routerNavigatedOnce(this.actions$)),tap(({data})=>{if(data.user&&data.user.name){let message=this.translate.instant("LOGGED_IN_AS_NAME",{name:data.user.name});this.snackBar.open(message,void 0,{duration:3e3})}})),{dispatch:!1}),this.logOutSuccessMessage$=createEffect(()=>this.actions$.pipe(ofType(logOutSuccess),delayWhen(routerNavigatedOnce(this.actions$)),tap(()=>{let message=this.translate.instant("LOGGED_OUT");this.snackBar.open(message,void 0,{duration:3e3})})),{dispatch:!1}),this.loggedOutMessage$=createEffect(()=>this.actions$.pipe(ofType(loggedOutByApi,loggedOutByStorage),delayWhen(routerNavigatedOnce(this.actions$)),tap(()=>{let message=this.translate.instant("YOU_WERE_LOGGED_OUT");this.snackBar.open(message,void 0,{duration:3e3})})),{dispatch:!1})}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AuthSnackBarEffects2)(\u0275\u0275inject(Actions),\u0275\u0275inject(MatSnackBar),\u0275\u0275inject(TranslateService))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AuthSnackBarEffects2,factory:AuthSnackBarEffects2.\u0275fac,providedIn:"root"})}}return AuthSnackBarEffects2})();var add22=createAction("[App] Add BackendComponentMessageSubscription",props()),addFailure22=createAction("[IxApi] Add BackendComponentMessageSubscription Failure",props()),addSuccess22=createAction("[IxApi] Add BackendComponentMessageSubscription Success",props()),didAdd32=createAction("[ChangeNotification] BackendComponentMessageSubscription Was Added",props()),didRemove31=createAction("[ChangeNotification] BackendComponentMessageSubscription Was Removed",props()),didUpdate29=createAction("[ChangeNotification] BackendComponentMessageSubscription Was Updated",props()),ensureAll21=createAction("[App] Ensure All BackendComponentMessageSubscriptions"),loadAll20=createAction("[App] Load All BackendComponentMessageSubscriptions"),loadAllFailure20=createAction("[IxApi] Load All BackendComponentMessageSubscriptions Failure",props()),loadAllSuccess21=createAction("[IxApi] Load All BackendComponentMessageSubscriptions Success",props()),remove25=createAction("[App] Remove BackendComponentMessageSubscription",props()),removeFailure24=createAction("[IxApi] Remove BackendComponentMessageSubscription Failure",props()),removeSuccess25=createAction("[IxApi] Remove BackendComponentMessageSubscription Success",props()),reset31=createAction("[App] Reset BackendComponentMessageSubscription State"),update20=createAction("[App] Update BackendComponentMessageSubscription",props()),updateFailure20=createAction("[IxApi] Update BackendComponentMessageSubscription Failure",props()),updateSuccess20=createAction("[IxApi] Update BackendComponentMessageSubscription Success",props());var add23=createAction("[App] Add BackendComponentTemplateConfig",props()),addFailure23=createAction("[IxApi] Add BackendComponentTemplateConfig Failure",props()),addSuccess23=createAction("[IxApi] Add BackendComponentTemplateConfig Success",props()),didAdd33=createAction("[ChangeNotification] BackendComponentTemplateConfig Was Added",props()),didRemove32=createAction("[ChangeNotification] BackendComponentTemplateConfig Was Removed",props()),didUpdate30=createAction("[ChangeNotification] BackendComponentTemplateConfig Was Updated",props()),ensureAll22=createAction("[App] Ensure All BackendComponentTemplateConfigs"),loadAll21=createAction("[App] Load All BackendComponentTemplateConfigs"),loadAllFailure21=createAction("[IxApi] Load All BackendComponentTemplateConfigs Failure",props()),loadAllSuccess22=createAction("[IxApi] Load All BackendComponentTemplateConfigs Success",props()),loadOne4=createAction("[App] Load one BackendComponentTemplateConfig",props()),loadOneFailure4=createAction("[IxApi] Load one BackendComponentTemplateConfig Failure",props()),loadOneSuccess4=createAction("[IxApi] Load one BackendComponentTemplateConfig Success",props()),remove26=createAction("[App] Remove BackendComponentTemplateConfig",props()),removeFailure25=createAction("[IxApi] Remove BackendComponentTemplateConfig Failure",props()),removeSuccess26=createAction("[IxApi] Remove BackendComponentTemplateConfig Success",props()),reset32=createAction("[App] Reset BackendComponentTemplateConfig State"),update21=createAction("[App] Update BackendComponentTemplateConfig",props()),updateFailure21=createAction("[IxApi] Update BackendComponentTemplateConfig Failure",props()),updateSuccess21=createAction("[IxApi] Update BackendComponentTemplateConfig Success",props());var add24=createAction("[App] Add MessageFilter",props()),addFailure24=createAction("[IxApi] Add MessageFilter Failure",props()),addSuccess24=createAction("[IxApi] Add MessageFilter Success",props()),didAdd34=createAction("[ChangeNotification] MessageFilter Was Added",props()),didRemove33=createAction("[ChangeNotification] MessageFilter Was Removed",props()),didUpdate31=createAction("[ChangeNotification] MessageFilter Was Updated",props()),loadAll22=createAction("[App] Load All MessageFilters",props()),loadAllFailure22=createAction("[IxApi] Load All MessageFilters Failure",props()),loadAllSuccess23=createAction("[IxApi] Load All MessageFilters Success",props()),remove27=createAction("[App] Remove MessageFilter",props()),removeFailure26=createAction("[IxApi] Remove MessageFilter Failure",props()),removeSuccess27=createAction("[IxApi] Remove MessageFilter Success",props()),reset33=createAction("[App] Reset MessageFilter State"),shouldRemove5=createAction("[OptimisticMutation] MessageFilter Should Remove",props()),shouldUpdate5=createAction("[OptimisticMutation] MessageFilter Should Update",props()),update22=createAction("[App] Update MessageFilter",props()),updateFailure22=createAction("[IxApi] Update MessageFilter Failure",props()),updateSuccess22=createAction("[IxApi] Update MessageFilter Success",props());var clearSelection=createAction("[App] Clear Message Selection"),didAdd35=createAction("[ChangeNotification] Message Was Added",props()),didRemove34=createAction("[ChangeNotification] Message Was Removed",props()),didUpdate32=createAction("[ChangeNotification] Message Was Updated",props()),ensureOne3=createAction("[App] Ensure One Message",props()),filterList2=createAction("[App] Filter Message List",props()),loadOne5=createAction("[App] Load One Message",props()),loadOneFailure5=createAction("[IxApi] Load One Message Failure",props()),loadOneSuccess5=createAction("[IxApi] Load One Message Success",props()),loadList=createAction("[App] Load Message List",props()),loadListFailure=createAction("[IxApi] Load Message List Failure",props()),loadListSuccess=createAction("[IxApi] Load Message List Success",props()),markSelectionAsRead=createAction("[App] Mark Selection As Read",props()),markSelectionAsUnread=createAction("[App] Mark Selection As Unread",props()),update23=createAction("[App] Update Message",props()),updateFailure23=createAction("[IxApi] Update Message Failure",props()),updateSuccess23=createAction("[IxApi] Update Message Success",props()),updateList4=createAction("[App] Update Message List",props()),updateListFailure4=createAction("[IxApi] Update Message List Failure",props()),updateListSuccess4=createAction("[IxApi] Update Message List Success",props()),updateAll=createAction("[App] Update All Messages",props()),updateAllFailure=createAction("[IxApi] Update All Messages Failure",props()),updateAllSuccess=createAction("[IxApi] Update All Messages Success",props()),remove28=createAction("[App] Remove Message",props()),removeFailure27=createAction("[IxApi] Remove Message Failure",props()),removeSuccess28=createAction("[IxApi] Remove Message Success",props()),removeList6=createAction("[App] Remove Message List",props()),removeListFailure5=createAction("[IxApi] Remove Message List Failure",props()),removeListSuccess6=createAction("[IxApi] Remove Message List Success",props()),removeSelection=createAction("[App] Remove Message Selection",props()),select2=createAction("[App] Select Message"),selectAll14=createAction("[App] Select All Messages"),shouldRemove6=createAction("[OptimisticMutation] Message Should Remove",props()),shouldUpdate6=createAction("[OptimisticMutation] Message Should Update",props()),toggleSelected=createAction("[App] Toggle Selected",props()),toggleSelectedTo=createAction("[App] Toggle Selected To",props()),reset34=createAction("[App] Reset Message State");var ensureAll23=createAction("[App] Ensure All SsoIdentityProviders"),loadAll23=createAction("[App] Load All SsoIdentityProviders"),loadAllFailure23=createAction("[IxApi] Load All SsoIdentityProviders Failure",props()),loadAllSuccess24=createAction("[IxApi] Load All SsoIdentityProviders Success",props()),reset35=createAction("[App] Reset SsoIdentityProvider State");var add25=createAction("[App] Add TrustedDevice",props()),addFailure25=createAction("[IxApi] Add TrustedDevice Failure",props()),addSuccess25=createAction("[IxApi] Add TrustedDevice Success",props()),didAdd36=createAction("[ChangeNotification] TrustedDevice Was Added",props()),didRemove35=createAction("[ChangeNotification] TrustedDevice Was Removed",props()),didUpdate33=createAction("[ChangeNotification] TrustedDevice Was Updated",props()),ensureAll24=createAction("[App] Ensure All TrustedDevices"),loadAll24=createAction("[App] Load All TrustedDevices"),loadAllFailure24=createAction("[IxApi] Load All TrustedDevices Failure",props()),loadAllSuccess25=createAction("[IxApi] Load All TrustedDevices Success",props()),remove29=createAction("[App] Remove TrustedDevice",props()),removeFailure28=createAction("[IxApi] Remove TrustedDevice Failure",props()),removeSuccess29=createAction("[IxApi] Remove TrustedDevice Success",props()),reset36=createAction("[App] Reset TrustedDevice State"),update24=createAction("[App] Update TrustedDevice",props()),updateFailure24=createAction("[IxApi] Update TrustedDevice Failure",props()),updateSuccess24=createAction("[IxApi] Update TrustedDevice Success",props());var accept=createAction("[App] Accept MyUserInvite",props()),acceptFailure=createAction("[IxApi] Accept MyUserInvite Failure",props()),acceptSuccess=createAction("[IxApi] Accept MyUserInvite Success",props()),didAdd37=createAction("[ChangeNotification] MyUserInvite Was Added",props()),loadAll25=createAction("[App] Load All MyUserInvites",props()),loadAllFailure25=createAction("[IxApi] Load All MyUserInvites Failure",props()),loadAllSuccess26=createAction("[IxApi] Load All MyUserInvites Success",props()),reject=createAction("[App] Reject MyUserInvite",props()),rejectFailure=createAction("[IxApi] Reject MyUserInvite Failure",props()),rejectSuccess=createAction("[IxApi] Reject MyUserInvite Success",props()),reset37=createAction("[App] Reset MyUserInvite State");var activateFailure2=createAction("[App] Activate UserPushDevice Failure",props()),activateSuccess2=createAction("[App] Activate UserPushDevice Success",props()),claim=createAction("[ChangeNotification] Claim UserPushDevice",props()),claimFailure=createAction("[IxApi] Claim UserPushDevice Failure",props()),claimSuccess=createAction("[IxApi] Claim UserPushDevice Success",props()),didAdd38=createAction("[ChangeNotification] UserPushDevice Was Added",props()),didUpdate34=createAction("[ChangeNotification] UserPushDevice Was Updated",props()),deactivate=createAction("[App] Deactivate UserPushDevice",props()),deactivateFailure=createAction("[App] Deactivate UserPushDevice Failure",props()),deactivateSuccess=createAction("[App] Deactivate UserPushDevice Success",props()),loadAll26=createAction("[App] Load All UserPushDevices",props()),loadAllFailure26=createAction("[IxApi] Load All UserPushDevices Failure",props()),loadAllSuccess27=createAction("[IxApi] Load All UserPushDevices Success",props()),releaseClaim=createAction("[ChangeNotification] Release Claim UserPushDevice",props()),releaseClaimFailure=createAction("[IxApi] Release Claim UserPushDevice Failure",props()),releaseClaimSuccess=createAction("[IxApi] Release Claim UserPushDevice Success",props()),reset38=createAction("[App] Reset UserPushDevice State");var add26=createAction("[App] Add WebhookSubscription",props()),addFailure26=createAction("[IxApi] Add WebhookSubscription Failure",props()),addSuccess26=createAction("[IxApi] Add WebhookSubscription Success",props()),didAdd39=createAction("[ChangeNotification] WebhookSubscription Was Added",props()),didRemove36=createAction("[ChangeNotification] WebhookSubscription Was Removed",props()),didUpdate35=createAction("[ChangeNotification] WebhookSubscription Was Updated",props()),loadAll27=createAction("[App] Load All WebhookSubscriptions",props()),loadAllFailure27=createAction("[IxApi] Load All WebhookSubscriptions Failure",props()),loadAllSuccess28=createAction("[IxApi] Load All WebhookSubscriptions Success",props()),remove30=createAction("[App] Remove WebhookSubscription",props()),removeFailure29=createAction("[IxApi] Remove WebhookSubscription Failure",props()),removeSuccess30=createAction("[IxApi] Remove WebhookSubscription Success",props()),reset39=createAction("[App] Reset WebhookSubscription State"),shouldUpdate7=createAction("[OptimisticMutation] Should Update WebhookSubscription",props()),shouldRemove7=createAction("[OptimisticMutation] Should Remove WebhookSubscription",props()),update25=createAction("[App] Update WebhookSubscription",props()),updateFailure25=createAction("[IxApi] Update WebhookSubscription Failure",props()),updateSuccess25=createAction("[IxApi] Update WebhookSubscription Success",props());var shouldResetActions=[logOutSuccess,loggedOutByApi,loggedOutByStorage],AuthStateEffects=(()=>{class AuthStateEffects2{constructor(){this.actions$=inject(Actions),this.resetAccessTokenState$=this.createResetEffect(reset30),this.resetCompanyState$=this.createResetEffect(reset18),this.resetMessageState$=this.createResetEffect(reset34),this.resetMessageFilterState$=this.createResetEffect(reset33),this.resetUserState$=this.createResetEffect(reset26),this.resetUserInviteState$=this.createResetEffect(reset37),this.resetUserPushDeviceState$=this.createResetEffect(reset38),this.resetSsoIdentityProviders$=this.createResetEffect(reset35),this.resetTrustedDeviceState$=this.createResetEffect(reset36),this.resetWebhookSubscriptionState$=this.createResetEffect(reset39),this.resetBackendComponentTemplateState$=this.createResetEffect(reset17),this.resetBackendComponentTemplateConfigState$=this.createResetEffect(reset32),this.resetBackendComponentMessageSubscriptionState$=this.createResetEffect(reset31)}createResetEffect(resetAction){return createEffect(()=>this.actions$.pipe(ofType(...shouldResetActions),map(()=>resetAction())))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AuthStateEffects2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AuthStateEffects2,factory:AuthStateEffects2.\u0275fac,providedIn:"root"})}}return AuthStateEffects2})();function getFileFromDataUrl(dataUrl,fileName="file.png"){let[header,base64]=dataUrl.split(","),mimeMatch=header.match(/:(.*?);/),mediaType=mimeMatch?mimeMatch[1]:"image/png",binary2=atob(base64),fileBits=new Uint8Array(binary2.length);for(let i=0;i<binary2.length;i++)fileBits[i]=binary2.charCodeAt(i);return new File([fileBits],fileName,{type:mediaType})}function isDataUrl(file){return file?/^data:([a-z]+\/[a-z0-9+.-]+)?(;charset=[a-z0-9-]+)?(;base64)?,/.test(file):!1}var CompanyService=(()=>{class CompanyService2{constructor(){this.api=inject(IxApiService),this.http=inject(HttpClient)}add(body){let url=this.api.url("CompanyList"),options={headers:this.api.headers};return this.http.post(url,body,options)}getAll(){return whileMoreAfter(moreAfter=>this.getList(moreAfter))}getBranding(publicId){let url=this.api.url("CompanyBranding",{publicId}),headers=this.api.headers,params=new HttpParams({fromObject:{fields:COMPANY_BRANDING_FIELDS.join(",")}}),options={headers,params};return this.http.get(url,options)}getByPublicId(publicId,fields){let url=this.api.url("Company",{publicId}),headers=this.api.headers,params=new HttpParams({fromObject:{fields:fields.join(",")}}),options={headers,params};return this.http.get(url,options)}getList(pageAfter,pageSize){let url=this.api.url("CompanyList"),headers=this.api.headers,params=new HttpParams({fromObject:__spreadValues({fields:["name","branding.fqdn","branding.logo","branding.theme.*"].join(",")},getPageParams(pageAfter,pageSize))}),options={headers,params};return this.http.get(url,options)}getMe(){let url=this.api.url("MyCompany"),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,params=new HttpParams({fromObject:{fields:MY_COMPANY_FIELDS.join(",")}}),options={context:context3,headers,params};return this.http.get(url,options)}leave(publicId){let url=this.api.url("MyUserLeaveCompanyList"),body={publicId},headers=this.api.headers.set(IxApiHeaderKeys.Company,publicId),options={body,headers};return this.http.delete(url,options)}removeByPublicId(publicId){let url=this.api.url("CompanyList"),options={headers:this.api.headers,body:{publicId}};return this.http.delete(url,options)}updateMe(body){let url=this.api.url("MyCompany"),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context3,headers};return body.branding&&!body.branding.name&&(body=__spreadProps(__spreadValues({},body),{branding:__spreadProps(__spreadValues({},body.branding),{name:MY_COMPANY_DEFAULT_BRANDING_NAME})})),isDataUrl(body.branding?.logo)||isDataUrl(body.branding?.logoDark)?forkJoin([body.branding?.logo&&isDataUrl(body.branding.logo)?this.uploadLogo(body.branding.logo):of(body.branding?.logo),body.branding?.logoDark&&isDataUrl(body.branding.logoDark)?this.uploadLogo(body.branding.logoDark):of(body.branding?.logoDark)]).pipe(mergeMap(([logo,logoDark])=>(body.branding&&logo!==void 0&&(body.branding.logo=logo),body.branding&&logoDark!==void 0&&(body.branding.logoDark=logoDark),this.http.patch(url,body,options)))):this.http.patch(url,body,options)}uploadLogo(dataUrl){let file=getFileFromDataUrl(dataUrl,"logo.png"),url=this.api.url("PublicFileUpload"),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context3,headers};return this.http.post(url,file,options).pipe(map(res=>res.data.url))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||CompanyService2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:CompanyService2,factory:CompanyService2.\u0275fac,providedIn:"root"})}}return CompanyService2})();var CompanyEffects=(()=>{class CompanyEffects2{constructor(){this.actions$=inject(Actions),this.store=inject(Store),this.service=inject(CompanyService),this.snackBar=inject(MatSnackBar),this.translate=inject(TranslateService),this.add$=createEffect(()=>this.actions$.pipe(ofType(add14),switchMap(({data})=>this.service.add(data).pipe(map(respsonse=>addSuccess14({data:__spreadValues(__spreadValues({},respsonse.data),data)})),catchError(errorResponse=>of(addFailure14({errors:errorResponse.error?.data??[]}))))))),this.ensureAll$=createEffect(()=>this.actions$.pipe(ofType(ensureAll10),mergeMap(()=>combineLatest([this.store.select(selectAllLoading5),this.store.select(selectAllLoaded5)]).pipe(take(1),mergeMap(([loading,loaded])=>!loading&&!loaded?of(loadAll9()):EMPTY))))),this.leave$=createEffect(()=>this.actions$.pipe(ofType(leave),switchMap(({publicId})=>this.service.leave(publicId).pipe(map(()=>leaveSuccess({publicId})),catchError(errorResponse=>of(leaveFailure({errors:errorResponse.error?.data??[]}))))))),this.loadAll$=createEffect(()=>this.actions$.pipe(ofType(loadAll9),switchMap(()=>this.service.getAll().pipe(map(({data})=>loadAllSuccess10({data})),catchError(errorResponse=>of(loadAllFailure9({errors:errorResponse.error?.data??[]}))))))),this.loadMe$=createEffect(()=>this.actions$.pipe(ofType(loadMe),switchMap(()=>this.service.getMe().pipe(map(({data})=>loadMeSuccess({data})),catchError(errorResponse=>of(loadMeFailure({errors:errorResponse.error?.data??[]}))))))),this.remove$=createEffect(()=>this.actions$.pipe(ofType(remove14),switchMap(({publicId})=>this.service.removeByPublicId(publicId).pipe(map(()=>removeSuccess14({publicId})),catchError(errorResponse=>of(removeFailure14({errors:errorResponse.error?.data??[]}))))))),this.removeFailure$=createEffect(()=>this.actions$.pipe(ofType(removeFailure14),tap(({errors:errors2})=>{if(errors2.some(error3=>error3.message==="All agents must be removed first")){let message=this.translate.instant("__MESSAGE__.__API__.ALL_AGENTS_MUST_BE_REMOVED_FIRST");this.snackBar.open(message,void 0,{duration:3e3})}})),{dispatch:!1}),this.updateMe$=createEffect(()=>this.actions$.pipe(ofType(updateMe),switchMap(({data})=>this.service.updateMe(data).pipe(map(()=>updateMeSuccess({data})),catchError(errorResponse=>of(updateMeFailure({errors:errorResponse.error?.data??[]})))))))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||CompanyEffects2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:CompanyEffects2,factory:CompanyEffects2.\u0275fac,providedIn:"root"})}}return CompanyEffects2})();var CompanyModule=(()=>{class CompanyModule2{static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||CompanyModule2)}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:CompanyModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({providers:[provideHttpClient(withFetch(),withInterceptorsFromDi())],imports:[TranslateModule,IxApiModule,StoreModule.forFeature(feature5),EffectsModule.forFeature([CompanyEffects])]})}}return CompanyModule2})();var FQDN=new InjectionToken("fqdn"),APP_WEB_ROOT_URL=new InjectionToken("app.web.root.url");var AuthCompanyHttpCancelService=(()=>{class AuthCompanyHttpCancelService2{constructor(){this._cancel$=new Subject}cancelPendingRequests(){this._cancel$.next()}onCancelPendingRequests(){return this._cancel$.asObservable()}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AuthCompanyHttpCancelService2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AuthCompanyHttpCancelService2,factory:AuthCompanyHttpCancelService2.\u0275fac,providedIn:"root"})}}return AuthCompanyHttpCancelService2})();var COMPANY_ID_STORAGE_KEY="company";var AuthCompanyService=(()=>{class AuthCompanyService2{constructor(storage){this.storage=storage,this.companyIdSubject=new BehaviorSubject(this.storage.get(COMPANY_ID_STORAGE_KEY)??null),this.companyId=this.companyIdSubject.asObservable(),this.hasCompanyId=this.companyIdSubject.pipe(map(companyId=>!!companyId),distinctUntilChanged()),this.storage.watch(COMPANY_ID_STORAGE_KEY).subscribe(this.companyIdSubject)}remove(){this.storage.remove(COMPANY_ID_STORAGE_KEY)}set(companyId){let expiresIn=Math.floor(Date.now()/1e3)+2592e3;this.storage.set(COMPANY_ID_STORAGE_KEY,companyId,expiresIn)}getCompanyId(){return this.companyIdSubject.value}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AuthCompanyService2)(\u0275\u0275inject(StorageService))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AuthCompanyService2,factory:AuthCompanyService2.\u0275fac,providedIn:"root"})}}return AuthCompanyService2})();var setManually=createAction("[App] Set Company ID Manually",props()),setAutomatically=createAction("[Auth] Set Company ID Automatically",props()),unset=createAction("[App] Unset Company ID"),remove31=createAction("[AuthCompany] Remove Company ID"),removedByStorage=createAction("[Storage] Company ID Removed"),changedByStorage=createAction("[Storage] Company ID Changed"),redirectTo2faRequired=createAction("[AuthCompany] Redirect To 2FA Required"),redirectToMyCompanies=createAction("[AuthCompany] Redirect To My Companies"),redirectToSsoRequired=createAction("[AuthCompany] Redirect To SSO Required");var AuthCompanyEffects=(()=>{class AuthCompanyEffects2{constructor(){this.actions$=inject(Actions),this.authCompanyService=inject(AuthCompanyService),this.authService=inject(AuthService),this.companyService=inject(CompanyService),this.document=inject(DOCUMENT),this.httpCancelService=inject(AuthCompanyHttpCancelService),this.location=inject(Location),this.router=inject(Router),this.storage=inject(StorageService),this.store=inject(Store),this.fqdn$=inject(FQDN),this.setAutomatically$=createEffect(()=>this.actions$.pipe(ofType(logInSuccess,loadMeSuccess3),switchMap(()=>this.companyService.getList(void 0,2).pipe(catchError(()=>EMPTY),map(response=>response.data))),withLatestFrom(this.fqdn$,this.store.select(selectMe2).pipe(map(sector=>sector?.branding?.fqdn??null))),filter(([companies,fqdn,sectorFqdn])=>{if(companies.length!==1)return!1;let companyFqdn=companies[0].branding?.fqdn??null;return!(companyFqdn&&companyFqdn!==fqdn||!companyFqdn&§orFqdn&§orFqdn!==fqdn&&environment.production&&fqdn!=="localhost"&&!fqdn.match(/(staging|testing)\.([a-zA-Z0-9-]+)\.dev$/))}),map(([companies])=>companies[0].publicId),withLatestFrom(this.authCompanyService.companyId),filter(([companyId,storedCompanyId])=>companyId!==storedCompanyId),map(([companyId])=>setAutomatically({companyId})))),this.removeAutomatically$=createEffect(()=>this.actions$.pipe(ofType(loadMeFailure),filter(({errors:errors2})=>errors2.some(error3=>{if(error3.message.startsWith("Invalid IXapi-Company value")||error3.propertyName===IxApiHeaderKeys.Company&&error3.message==="Invalid value")return!0})),map(()=>remove31()))),this.cancelPendingRequests$=createEffect(()=>this.actions$.pipe(ofType(unset),tap(()=>this.httpCancelService.cancelPendingRequests())),{dispatch:!1}),this.companyAdditionalAuthRequired$=createEffect(()=>this.actions$.pipe(ofType(loadMeFailure),mergeMap(({errors:errors2})=>errors2.some(error3=>error3.message===IxApiRequestErrorMessages.SSO_AUTH_REQUIRED)?of(redirectToSsoRequired()):errors2.some(error3=>error3.message===IxApiRequestErrorMessages.TWO_FACTOR_AUTH_REQUIRED)?of(redirectTo2faRequired()):EMPTY))),this.userRemoved$=createEffect(()=>this.actions$.pipe(ofType(didRemove26),withLatestFrom(this.store.select(selectMyId2)),switchMap(([{publicId},myUserId])=>publicId===myUserId?of(remove31()):EMPTY))),this.redirectTo2faRequired$=createEffect(()=>this.actions$.pipe(ofType(redirectTo2faRequired),tap(()=>{this.location.path()!=="/two-factor-auth/enable"&&this.router.navigate(["/two-factor-auth-required"],{skipLocationChange:!0})})),{dispatch:!1}),this.redirectToSsoRequired$=createEffect(()=>this.actions$.pipe(ofType(redirectToSsoRequired),tap(()=>{this.router.navigate(["/sso-auth-required"],{skipLocationChange:!0})})),{dispatch:!1}),this.redirectToMyCompanies$=createEffect(()=>this.actions$.pipe(ofType(redirectToMyCompanies),tap(()=>this.router.navigate(["/my-companies"]))),{dispatch:!1}),this.reload$=createEffect(()=>this.actions$.pipe(ofType(changedByStorage),tap(()=>this.document.location.reload())),{dispatch:!1}),this.remove$=createEffect(()=>this.actions$.pipe(ofType(remove31),tap(()=>this.authCompanyService.remove()),switchMap(()=>this.authService.isAuthenticated),take(1),filter(authenticated=>authenticated),map(()=>redirectToMyCompanies()))),this.removed$=createEffect(()=>this.actions$.pipe(ofType(removedByStorage),switchMap(()=>this.authService.isAuthenticated),take(1),filter(authenticated=>authenticated),map(()=>redirectToMyCompanies()))),this.set$=createEffect(()=>this.actions$.pipe(ofType(setManually,setAutomatically),tap(({companyId,type})=>{this.authCompanyService.set(companyId),type===setManually.type&&this.router.navigate(["/"])})),{dispatch:!1}),this.storage$=createEffect(()=>this.storage.watch(COMPANY_ID_STORAGE_KEY,StorageEventContext.Others).pipe(distinctUntilChanged(),map(token=>token?changedByStorage():removedByStorage()))),this.myCompanyLoaded$=createEffect(()=>this.actions$.pipe(ofType(loadMeSuccess),tap(({data})=>{window.dispatchEvent(new CustomEvent(FeatureEventType.CompanyChanged,{detail:data.publicId}))})),{dispatch:!1})}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AuthCompanyEffects2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AuthCompanyEffects2,factory:AuthCompanyEffects2.\u0275fac,providedIn:"root"})}}return AuthCompanyEffects2})();var loadList2=createAction("[App] Load AuditLog List for Agent",props()),loadListFailure2=createAction("[IxApi] Load AuditLog List for Agent Failure",props()),loadListSuccess2=createAction("[IxApi] Load AuditLog List for Agent Success",props()),reset40=createAction("[App] Reset AgentAuditLog State");var add27=createAction("[App] Add AgentDataAlarm",props()),addFailure27=createAction("[IxApi] Add AgentDataAlarm Failure",props()),addSuccess27=createAction("[IxApi] Add AgentDataAlarm Success",props()),addList6=createAction("[App] Add AgentDataAlarm List",props()),addListFailure6=createAction("[IxApi] Add AgentDataAlarm List Failure",props()),addListSuccess6=createAction("[IxApi] Add AgentDataAlarm List Success",props()),clearSelection2=createAction("[App] Clear AgentDataAlarm Selection"),didAdd40=createAction("[ChangeNotification] AgentDataAlarm Was Added",props()),didAddList5=createAction("[ChangeNotification] AgentDataAlarm List Was Added",props()),didRemove37=createAction("[ChangeNotification] AgentDataAlarm Was Removed",props()),didRemoveList6=createAction("[ChangeNotification] AgentDataAlarm List Was Removed",props()),didUpdate36=createAction("[ChangeNotification] AgentDataAlarm Was Updated",props()),didUpdateList6=createAction("[ChangeNotification] AgentDataAlarm List Was Updated",props()),ensureAll25=createAction("[App] Ensure All AgentDataAlarms",props()),loadAll28=createAction("[App] Load All AgentDataAlarms",props()),loadAllFailure28=createAction("[IxApi] Load All AgentDataAlarms Failure",props()),loadAllSuccess29=createAction("[IxApi] Load All AgentDataAlarms Success",props()),remove32=createAction("[App] Remove AgentDataAlarm",props()),removeFailure30=createAction("[IxApi] Remove AgentDataAlarm Failure",props()),removeSuccess31=createAction("[IxApi] Remove AgentDataAlarm Success",props()),removeList7=createAction("[App] Remove AgentDataAlarm List",props()),removeListFailure6=createAction("[IxApi] Remove AgentDataAlarm List Failure",props()),removeListSuccess7=createAction("[IxApi] Remove AgentDataAlarm List Success",props()),removeSelection2=createAction("[App] Remove AgentDataAlarm Selection",props()),setSelection=createAction("[App] Set AgentDataAlarm Selection",props()),update26=createAction("[App] Update AgentDataAlarm",props()),updateFailure26=createAction("[IxApi] Update AgentDataAlarm Failure",props()),updateSuccess26=createAction("[IxApi] Update AgentDataAlarm Success",props()),invalidateTranslations6=createAction("[App] Invalidate AgentDataAlarm Translations"),reset41=createAction("[App] Reset AgentDataAlarm State");var add28=createAction("[App] Add AgentDataCondition",props()),addFailure28=createAction("[IxApi] Add AgentDataCondition Failure",props()),addSuccess28=createAction("[IxApi] Add AgentDataCondition Success",props()),addList7=createAction("[App] Add AgentDataCondition List",props()),addListFailure7=createAction("[IxApi] Add AgentDataCondition List Failure",props()),addListSuccess7=createAction("[IxApi] Add AgentDataCondition List Success",props()),clearSelection3=createAction("[App] Clear AgentDataCondition Selection"),didAdd41=createAction("[ChangeNotification] AgentDataCondition Was Added",props()),didAddList6=createAction("[ChangeNotification] AgentDataCondition List Was Added",props()),didRemove38=createAction("[ChangeNotification] AgentDataCondition Was Removed",props()),didRemoveList7=createAction("[ChangeNotification] AgentDataCondition List Was Removed",props()),didUpdate37=createAction("[ChangeNotification] AgentDataCondition Was Updated",props()),didUpdateList7=createAction("[ChangeNotification] AgentDataCondition List Was Updated",props()),ensureAll26=createAction("[App] Ensure All AgentDataConditions",props()),loadAll29=createAction("[App] Load All AgentDataConditions",props()),loadAllFailure29=createAction("[IxApi] Load All AgentDataConditions Failure",props()),loadAllSuccess30=createAction("[IxApi] Load All AgentDataConditions Success",props()),remove33=createAction("[App] Remove AgentDataCondition",props()),removeFailure31=createAction("[IxApi] Remove AgentDataCondition Failure",props()),removeSuccess32=createAction("[IxApi] Remove AgentDataCondition Success",props()),removeList8=createAction("[App] Remove AgentDataCondition List",props()),removeListFailure7=createAction("[IxApi] Remove AgentDataCondition List Failure",props()),removeListSuccess8=createAction("[IxApi] Remove AgentDataCondition List Success",props()),reset42=createAction("[App] Reset AgentDataCondition State"),removeSelection3=createAction("[App] Remove AgentDataCondition Selection",props()),setSelection2=createAction("[App] Set AgentDataCondition Selection",props()),update27=createAction("[App] Update AgentDataCondition",props()),updateFailure27=createAction("[IxApi] Update AgentDataCondition Failure",props()),updateSuccess27=createAction("[IxApi] Update AgentDataCondition Success",props());var ensureAll27=createAction("[App] Ensure All AgentDataProtocols",props()),loadAll30=createAction("[App] Load All AgentDataProtocols",props()),loadAllFailure30=createAction("[IxApi] Load All AgentDataProtocols Failure",props()),loadAllSuccess31=createAction("[IxApi] Load All AgentDataProtocols Success",props()),reset43=createAction("[App] Reset AgentDataProtocol State");var add29=createAction("[App] Add AgentDataTag",props()),addFailure29=createAction("[IxApi] Add AgentDataTag Failure",props()),addSuccess29=createAction("[IxApi] Add AgentDataTag Success",props()),addList8=createAction("[App] Add AgentDataTag List",props()),addListFailure8=createAction("[IxApi] Add AgentDataTag List Failure",props()),addListSuccess8=createAction("[IxApi] Add AgentDataTag List Success",props()),clearSelection4=createAction("[App] Clear AgentDataTag Selection"),didAdd42=createAction("[ChangeNotification] AgentDataTag Was Added",props()),didAddList7=createAction("[ChangeNotification] AgentDataTag List Was Added",props()),didRemove39=createAction("[ChangeNotification] AgentDataTag Was Removed",props()),didRemoveList8=createAction("[ChangeNotification] AgentDataTag List Was Removed",props()),didUpdate38=createAction("[ChangeNotification] AgentDataTag Was Updated",props()),didUpdateList8=createAction("[ChangeNotification] AgentDataTag List Was Updated",props()),ensureAll28=createAction("[App] Ensure All AgentDataTags",props()),loadAll31=createAction("[App] Load All AgentDataTags",props()),loadAllFailure31=createAction("[IxApi] Load All AgentDataTags Failure",props()),loadAllSuccess32=createAction("[IxApi] Load All AgentDataTags Success",props()),remove34=createAction("[App] Remove AgentDataTag",props()),removeFailure32=createAction("[IxApi] Remove AgentDataTag Failure",props()),removeSuccess33=createAction("[IxApi] Remove AgentDataTag Success",props()),removeList9=createAction("[App] Remove AgentDataTag List",props()),removeListFailure8=createAction("[IxApi] Remove AgentDataTag List Failure",props()),removeListSuccess9=createAction("[IxApi] Remove AgentDataTag List Success",props()),reset44=createAction("[App] Reset AgentDataTag State"),removeSelection4=createAction("[App] Remove AgentDataTag Selection",props()),setSelection3=createAction("[App] Set AgentDataTag Selection",props()),update28=createAction("[App] Update AgentDataTag",props()),updateFailure28=createAction("[IxApi] Update AgentDataTag Failure",props()),updateSuccess28=createAction("[IxApi] Update AgentDataTag Success",props()),updateList5=createAction("[AgentDataTag] Update List",props()),updateListSuccess5=createAction("[AgentDataTag] Update List Success",props()),updateListFailure5=createAction("[AgentDataTag] Update List Failure",props());var add30=createAction("[App] Add AgentDataVariable",props()),addFailure30=createAction("[IxApi] Add AgentDataVariable Failure",props()),addSuccess30=createAction("[IxApi] Add AgentDataVariable Success",props()),addList9=createAction("[App] Add AgentDataVariable List",props()),addListFailure9=createAction("[IxApi] Add AgentDataVariable List Failure",props()),addListSuccess9=createAction("[IxApi] Add AgentDataVariable List Success",props()),clearSelection5=createAction("[App] Clear AgentDataVariable Selection"),didAdd43=createAction("[ChangeNotification] AgentDataVariable Was Added",props()),didAddList8=createAction("[ChangeNotification] AgentDataVariable List Was Added",props()),didRemove40=createAction("[ChangeNotification] AgentDataVariable Was Removed",props()),didRemoveList9=createAction("[ChangeNotification] AgentDataVariable List Was Removed",props()),didUpdate39=createAction("[ChangeNotification] AgentDataVariable Was Updated",props()),didUpdateList9=createAction("[ChangeNotification] AgentDataVariable List Was Updated",props()),ensureAll29=createAction("[App] Ensure All AgentDataVariables",props()),loadAll32=createAction("[App] Load All AgentDataVariables",props()),loadAllFailure32=createAction("[IxApi] Load All AgentDataVariables Failure",props()),loadAllSuccess33=createAction("[IxApi] Load All AgentDataVariables Success",props()),remove35=createAction("[App] Remove AgentDataVariable",props()),removeFailure33=createAction("[IxApi] Remove AgentDataVariable Failure",props()),removeSuccess34=createAction("[IxApi] Remove AgentDataVariable Success",props()),removeList10=createAction("[App] Remove AgentDataVariable List",props()),removeListFailure9=createAction("[IxApi] Remove AgentDataVariable List Failure",props()),removeListSuccess10=createAction("[IxApi] Remove AgentDataVariable List Success",props()),reset45=createAction("[App] Reset AgentDataVariable State"),removeSelection5=createAction("[App] Remove AgentDataVariable Selection",props()),setSelection4=createAction("[App] Set AgentDataVariable Selection",props()),update29=createAction("[App] Update AgentDataVariable",props()),updateFailure29=createAction("[IxApi] Update AgentDataVariable Failure",props()),updateSuccess29=createAction("[IxApi] Update AgentDataVariable Success",props());var add31=createAction("[App] Add AgentEdgeAppInstance",props()),addFailure31=createAction("[IxApi] Add AgentEdgeAppInstance Failure",props()),addSuccess31=createAction("[IxApi] Add AgentEdgeAppInstance Success",props()),didAdd44=createAction("[ChangeNotification] AgentEdgeAppInstance Was Added",props()),didRemove41=createAction("[ChangeNotification] AgentEdgeAppInstance Was Removed",props()),didUpdate40=createAction("[ChangeNotification] AgentEdgeAppInstance Was Updated",props()),ensureAll30=createAction("[App] Ensure All AgentEdgeAppInstances",props()),loadAll33=createAction("[App] Load All AgentEdgeAppInstances",props()),loadAllFailure33=createAction("[IxApi] Load All AgentEdgeAppInstances Failure",props()),loadAllSuccess34=createAction("[IxApi] Load All AgentEdgeAppInstances Success",props()),remove36=createAction("[App] Remove AgentEdgeAppInstance",props()),removeFailure34=createAction("[IxApi] Remove AgentEdgeAppInstance Failure",props()),removeSuccess35=createAction("[IxApi] Remove AgentEdgeAppInstance Success",props()),reset46=createAction("[App] Reset AgentEdgeAppInstance State"),shouldUpdate8=createAction("[OptimisticMutation] AgentEdgeAppInstance Should Update",props()),update30=createAction("[App] Update AgentEdgeAppInstance",props()),updateFailure30=createAction("[IxApi] Update AgentEdgeAppInstance Failure",props()),updateSuccess30=createAction("[IxApi] Update AgentEdgeAppInstance Success",props()),deploy=createAction("[App] Deploy AgentEdgeAppInstance",props()),deployFailure=createAction("[IxApi] Deploy AgentEdgeAppInstance Failure",props()),deploySuccess=createAction("[IxApi] Deploy AgentEdgeAppInstance Success",props());var didAdd45=createAction("[ChangeNotification] AgentEdgeAppInstanceService Was Added",props()),didRemove42=createAction("[ChangeNotification] AgentEdgeAppInstanceService Was Removed",props()),didUpdate41=createAction("[ChangeNotification] AgentEdgeAppInstanceService Was Updated",props()),ensureAll31=createAction("[App] Ensure All AgentEdgeAppInstanceServices",props()),loadAll34=createAction("[App] Load All AgentEdgeAppInstanceServices",props()),loadAllFailure34=createAction("[IxApi] Load All AgentEdgeAppInstanceServices Failure",props()),loadAllSuccess35=createAction("[IxApi] Load All AgentEdgeAppInstanceServices Success",props()),reset47=createAction("[App] Reset AgentEdgeAppInstanceService State"),update31=createAction("[App] Update AgentEdgeAppInstanceService",props()),updateFailure31=createAction("[IxApi] Update AgentEdgeAppInstanceService Failure",props()),updateSuccess31=createAction("[IxApi] Update AgentEdgeAppInstanceService Success",props()),updateMany5=createAction("[App] Update Many AgentEdgeAppInstanceServices",props()),updateManyFailure5=createAction("[IxApi] Update Many AgentEdgeAppInstanceServices Failure",props()),updateManySuccess5=createAction("[IxApi] Update Many AgentEdgeAppInstanceServices Success",props());var add32=createAction("[App] Add AgentRegistrationProfile",props()),addFailure32=createAction("[IxApi] Add AgentRegistrationProfile Failure",props()),addSuccess32=createAction("[IxApi] Add AgentRegistrationProfile Success",props()),didAdd46=createAction("[ChangeNotification] AgentRegistrationProfile Was Added",props()),didRemove43=createAction("[ChangeNotification] AgentRegistrationProfile Was Removed",props()),didUpdate42=createAction("[ChangeNotification] AgentRegistrationProfile Was Updated",props()),ensureAll32=createAction("[App] Ensure All AgentRegistrationProfiles"),loadAll35=createAction("[App] Load All AgentRegistrationProfiles"),loadAllFailure35=createAction("[IxApi] Load All AgentRegistrationProfiles Failure",props()),loadAllSuccess36=createAction("[IxApi] Load All AgentRegistrationProfiles Success",props()),remove37=createAction("[App] Remove AgentRegistrationProfile",props()),removeFailure35=createAction("[IxApi] Remove AgentRegistrationProfile Failure",props()),removeSuccess36=createAction("[IxApi] Remove AgentRegistrationProfile Success",props()),reset48=createAction("[App] Reset AgentRegistrationProfile State"),update32=createAction("[App] Update AgentRegistrationProfile",props()),updateFailure32=createAction("[IxApi] Update AgentRegistrationProfile Failure",props()),updateSuccess32=createAction("[IxApi] Update AgentRegistrationProfile Success",props());var addList10=createAction("[App] Add AgentRegistrationProfileMembership List",props()),addListFailure10=createAction("[IxApi] Add AgentRegistrationProfileMembership List Failure",props()),addListSuccess10=createAction("[IxApi] Add AgentRegistrationProfileMembership List Success",props()),didAdd47=createAction("[ChangeNotification] AgentRegistrationProfileMembership Was Added",props()),didAddList9=createAction("[ChangeNotification] AgentRegistrationProfileMembership List Was Added",props()),didRemove44=createAction("[ChangeNotification] AgentRegistrationProfileMembership Was Removed",props()),didRemoveList10=createAction("[ChangeNotification] AgentRegistrationProfileMembership List Was Removed",props()),didUpdate43=createAction("[ChangeNotification] AgentRegistrationProfileMembership Was Updated",props()),ensureAll33=createAction("[App] Ensure All AgentRegistrationProfileMemberships",props()),loadAll36=createAction("[App] Load All AgentRegistrationProfileMemberships",props()),loadAllFailure36=createAction("[IxApi] Load All AgentRegistrationProfileMemberships Failure",props()),loadAllSuccess37=createAction("[IxApi] Load All AgentRegistrationProfileMemberships Success",props()),mutateList=createAction("[App] Mutate AgentRegistrationProfileMembership List",props()),mutateListFailure=createAction("[App] Mutate AgentRegistrationProfileMembership List Failure",props()),mutateListSuccess=createAction("[App] Mutate AgentRegistrationProfileMembership List Success",props()),removeList11=createAction("[App] Remove AgentRegistrationProfileMembership List",props()),removeListFailure10=createAction("[IxApi] Remove AgentRegistrationProfileMembership List Failure",props()),removeListSuccess11=createAction("[IxApi] Remove AgentRegistrationProfileMembership List Success",props()),reset49=createAction("[App] Reset AgentRegistrationProfileMembership State"),update33=createAction("[App] Update AgentRegistrationProfileMembership",props()),updateFailure33=createAction("[IxApi] Update AgentRegistrationProfileMembership Failure",props()),updateSuccess33=createAction("[IxApi] Update AgentRegistrationProfileMembership Success",props());var add33=createAction("[App] Add AgentRouterLanWanAccessRule",props()),addFailure33=createAction("[IxApi] Add AgentRouterLanWanAccessRule Failure",props()),addSuccess33=createAction("[IxApi] Add AgentRouterLanWanAccessRule Success",props()),didAdd48=createAction("[ChangeNotification] AgentRouterLanWanAccessRule Was Added",props()),didRemove45=createAction("[ChangeNotification] AgentRouterLanWanAccessRule Was Removed",props()),didUpdate44=createAction("[ChangeNotification] AgentRouterLanWanAccessRule Was Updated",props()),ensureAll34=createAction("[App] Ensure All AgentRouterLanWanAccessRules",props()),loadAll37=createAction("[App] Load All AgentRouterLanWanAccessRules",props()),loadAllFailure37=createAction("[IxApi] Load All AgentRouterLanWanAccessRules Failure",props()),loadAllSuccess38=createAction("[IxApi] Load All AgentRouterLanWanAccessRule Success",props()),remove38=createAction("[App] Remove AgentRouterLanWanAccessRule",props()),removeFailure36=createAction("[IxApi] Remove AgentRouterLanWanAccessRule Failure",props()),removeSuccess37=createAction("[IxApi] Remove AgentRouterLanWanAccessRule Success",props()),reset50=createAction("[App] Reset AgentRouterLanWanAccessRule State"),update34=createAction("[App] Update AgentRouterLanWanAccessRule",props()),updateFailure34=createAction("[IxApi] Update AgentRouterLanWanAccessRule Failure",props()),updateSuccess34=createAction("[IxApi] Update AgentRouterLanWanAccessRule Success",props());var didAdd49=createAction("[ChangeNotification] AgentRouterNtpServer Was Added",props()),didRemove46=createAction("[ChangeNotification] AgentRouterNtpServer Was Removed",props()),didUpdate45=createAction("[ChangeNotification] AgentRouterNtpServer Was Updated",props()),reset51=createAction("[App] Reset AgentRouterNtpServer State"),modifyList=createAction("[IxApi] Modify AgentRouterNtpServerList",props()),modifyListSuccess=createAction("[IxApi] Modify AgentRouterNtpServerList Success",props()),modifyListFailure=createAction("[IxApi] Modify AgentRouterNtpServerList Failure",props());var add34=createAction("[App] Add AgentRouterOneToOneNatRule",props()),addFailure34=createAction("[IxApi] Add AgentRouterOneToOneNatRule Failure",props()),addSuccess34=createAction("[IxApi] Add AgentRouterOneToOneNatRule Success",props()),didAdd50=createAction("[ChangeNotification] AgentRouterOneToOneNatRule Was Added",props()),didRemove47=createAction("[ChangeNotification] AgentRouterOneToOneNatRule Was Removed",props()),didUpdate46=createAction("[ChangeNotification] AgentRouterOneToOneNatRule Was Updated",props()),ensureAll35=createAction("[App] Ensure All AgentRouterOneToOneNatRules",props()),loadAll38=createAction("[App] Load All AgentRouterOneToOneNatRules",props()),loadAllFailure38=createAction("[IxApi] Load All AgentRouterOneToOneNatRules Failure",props()),loadAllSuccess39=createAction("[IxApi] Load All AgentRouterOneToOneNatRules Success",props()),remove39=createAction("[App] Remove AgentRouterOneToOneNatRule",props()),removeFailure37=createAction("[IxApi] Remove AgentRouterOneToOneNatRule Failure",props()),removeSuccess38=createAction("[IxApi] Remove AgentRouterOneToOneNatRule Success",props()),reset52=createAction("[App] Reset AgentRouterOneToOneNatRule State"),update35=createAction("[App] Update AgentRouterOneToOneNatRule",props()),updateFailure35=createAction("[IxApi] Update AgentRouterOneToOneNatRule Failure",props()),updateSuccess35=createAction("[IxApi] Update AgentRouterOneToOneNatRule Success",props());var ensureAll36=createAction("[App] Ensure All AgentTypes",props()),loadAll39=createAction("[App] Load All AgentTypes",props()),loadAllFailure39=createAction("[IxApi] All AgentTypes Failure",props()),loadAllSuccess40=createAction("[IxApi] Load All AgentTypes Success",props()),reset53=createAction("[App] Reset AgentType State");var add35=createAction("[App] Add AssetAiAssistantPrompt",props()),addFailure35=createAction("[IxApi] Add AssetAiAssistantPrompt Failure",props()),addSuccess35=createAction("[IxApi] Add AssetAiAssistantPrompt Success",props()),update36=createAction("[App] Update AssetAiAssistantPrompt",props()),updateFailure36=createAction("[IxApi] Update AssetAiAssistantPrompt Failure",props()),updateSuccess36=createAction("[IxApi] Update AssetAiAssistantPrompt Success",props()),remove40=createAction("[App] Remove AssetAiAssistantPrompt",props()),removeFailure38=createAction("[IxApi] Remove AssetAiAssistantPrompt Failure",props()),removeSuccess39=createAction("[IxApi] Remove AssetAiAssistantPrompt Success",props()),didAdd51=createAction("[ChangeNotification] AssetAiAssistantPrompt Was Added",props()),didUpdate47=createAction("[ChangeNotification] AssetAiAssistantPrompt Was Updated",props()),didRemove48=createAction("[ChangeNotification] AssetAiAssistantPrompt Was Removed",props()),reset54=createAction("[App] Reset AssetAiAssistantPrompt State");var update37=createAction("[App] Update AssetAppConfig",props()),updateFailure37=createAction("[IxApi] Update AssetAppConfig Failure",props()),updateSuccess37=createAction("[IxApi] Update AssetAppConfig Success",props()),didAdd52=createAction("[ChangeNotification] AssetAppConfig Was Added",props()),didRemove49=createAction("[ChangeNotification] AssetAppConfig Was Removed",props()),didUpdate48=createAction("[ChangeNotification] AssetAppConfig Was Updated",props()),reset55=createAction("[App] Reset AssetAppConfig State");var add36=createAction("[App] Add AssetAppConfigResource",props()),addFailure36=createAction("[IxApi] Add AssetAppConfigResource Failure",props()),addSuccess36=createAction("[IxApi] Add AssetAppConfigResource Success",props()),didAdd53=createAction("[ChangeNotification] AssetAppConfigResource Was Added",props()),didRemove50=createAction("[ChangeNotification] AssetAppConfigResource Was Removed",props()),didUpdate49=createAction("[ChangeNotification] AssetAppConfigResource Was Updated",props()),ensureAll37=createAction("[App] Ensure All AssetAppConfigResources"),loadAll40=createAction("[App] Load All AssetAppConfigResources"),loadAllFailure40=createAction("[IxApi] Load All AssetAppConfigResources Failure",props()),loadAllSuccess41=createAction("[IxApi] Load All AssetAppConfigResources Success",props()),remove41=createAction("[App] Remove AssetAppConfigResource",props()),removeFailure39=createAction("[IxApi] Remove AssetAppConfigResource Failure",props()),removeSuccess40=createAction("[IxApi] Remove AssetAppConfigResource Success",props()),reset56=createAction("[App] Reset AssetAppConfigResource State"),update38=createAction("[App] Update AssetAppConfigResource",props()),updateFailure38=createAction("[IxApi] Update AssetAppConfigResource Failure",props()),updateSuccess38=createAction("[IxApi] Update AssetAppConfigResource Success",props()),clearSelection6=createAction("[App] Clear AssetAppConfigResource Selection"),removeSelection6=createAction("[App] Remove AssetAppConfigResource Selection"),setSelection5=createAction("[App] Set AssetAppConfigResource Selection",props()),removeList12=createAction("[App] Remove AssetAppConfigResource List",props()),removeListFailure11=createAction("[IxApi] Remove AssetAppConfigResource List Failure",props()),removeListSuccess12=createAction("[IxApi] Remove AssetAppConfigResource List Success",props()),addList11=createAction("[App] Add AssetAppConfigResource List",props()),addListSuccess11=createAction("[App] Add AssetAppConfigResource List Success",props()),addListFailure11=createAction("[App] Add AssetAppConfigResource List Failure",props()),updateList6=createAction("[App] Update AssetAppConfigResource List",props()),updateListSuccess6=createAction("[App] Update AssetAppConfigResource List Success",props()),updateListFailure6=createAction("[App] Update AssetAppConfigResource List Failure",props());var add37=createAction("[App] Add AssetLibraryVersion",props()),addFailure37=createAction("[IxApi] Add AssetLibraryVersion Failure",props()),addSuccess37=createAction("[IxApi] Add AssetLibraryVersion Success",props()),didAdd54=createAction("[ChangeNotification] AssetLibraryVersion Was Added",props()),didRemove51=createAction("[ChangeNotification] AssetLibraryVersion Was Removed",props()),didUpdate50=createAction("[ChangeNotification] AssetLibraryVersion Was Updated",props()),ensureAllLatest=createAction("[App] Ensure All Latest AssetLibraryVersions"),loadAllLatest=createAction("[App] Load All Latest AssetLibraryVersions"),loadAllLatestFailure=createAction("[IxApi] Load All Latest AssetLibraryVersions Failure",props()),loadAllLatestSuccess=createAction("[IxApi] Load All Latest AssetLibraryVersions Success",props()),reset57=createAction("[App] Reset AssetLibraryVersion State");var addList12=createAction("[App] Add AssetMembership List",props()),addListFailure12=createAction("[IxApi] Add AssetMembership List Failure",props()),addListSuccess12=createAction("[IxApi] Add AssetMembership List Success",props()),didAdd55=createAction("[ChangeNotification] AssetMembership Was Added",props()),didRemove52=createAction("[ChangeNotification] AssetMembership Was Removed",props()),didUpdate51=createAction("[ChangeNotification] AssetMembership Was Updated",props()),ensureAll38=createAction("[App] Ensure All AssetMemberships"),loadAll41=createAction("[App] Load All AssetMemberships"),loadAllFailure41=createAction("[IxApi] Load All AssetMemberships Failure",props()),loadAllSuccess42=createAction("[IxApi] Load All AssetMemberships Success",props()),removeList13=createAction("[App] Remove AssetMembership List",props()),removeListFailure12=createAction("[IxApi] Remove AssetMembership List Failure",props()),removeListSuccess13=createAction("[IxApi] Remove AssetMembership List Success",props()),reset58=createAction("[App] Reset AssetMembership State"),update39=createAction("[App] Update AssetMembership",props()),updateFailure39=createAction("[IxApi] Update AssetMembership Failure",props()),updateSuccess39=createAction("[IxApi] Update AssetMembership Success",props());var add38=createAction("[App] Add AssetType",props()),addFailure38=createAction("[IxApi] Add AssetType Failure",props()),addSuccess38=createAction("[IxApi] Add AssetType Success",props()),didAdd56=createAction("[ChangeNotification] AssetType Was Added",props()),didRemove53=createAction("[ChangeNotification] AssetType Was Removed",props()),didUpdate52=createAction("[ChangeNotification] AssetType Was Updated",props()),ensureAll39=createAction("[App] Ensure All AssetTypes"),loadAll42=createAction("[App] Load All AssetTypes"),loadAllFailure42=createAction("[IxApi] Load All AssetTypes Failure",props()),loadAllSuccess43=createAction("[IxApi] Load All AssetTypes Success",props()),remove42=createAction("[App] Remove AssetType",props()),removeFailure40=createAction("[IxApi] Remove AssetType Failure",props()),removeSuccess41=createAction("[IxApi] Remove AssetType Success",props()),update40=createAction("[App] Update AssetType",props()),updateFailure40=createAction("[IxApi] Update AssetType Failure",props()),updateSuccess40=createAction("[IxApi] Update AssetType Success",props()),updateMany6=createAction("[App] Update Many AssetTypes",props()),updateManyFailure6=createAction("[IxApi] Update Many AssetTypes Failure",props()),updateManySuccess6=createAction("[IxApi] Update Many AssetTypes Success",props()),reset59=createAction("[App] Reset AssetType State");var add39=createAction("[App] Add Audience",props()),addFailure39=createAction("[IxApi] Add Audience Failure",props()),addSuccess39=createAction("[IxApi] Add Audience Success",props()),didAdd57=createAction("[ChangeNotification] Audience Was Added",props()),didRemove54=createAction("[ChangeNotification] Audience Was Removed",props()),didUpdate53=createAction("[ChangeNotification] Audience Was Updated",props()),ensureAll40=createAction("[App] Ensure All Audiences"),loadAll43=createAction("[App] Load All Audiences"),loadAllFailure43=createAction("[IxApi] Load All Audiences Failure",props()),loadAllSuccess44=createAction("[IxApi] Load All Audiences Success",props()),setDefault2=createAction("[App] Set Default Audience",props()),setDefaultFailure2=createAction("[IxApi] Set Default Audience Failure",props()),setDefaultSuccess2=createAction("[IxApi] Set Default Audience Success",props()),remove43=createAction("[App] Remove Audience",props()),removeFailure41=createAction("[IxApi] Remove Audience Failure",props()),removeSuccess42=createAction("[IxApi] Remove Audience Success",props()),reset60=createAction("[App] Reset Audience State"),unsetDefault2=createAction("[App] Unset Default Audience",props()),unsetDefaultFailure2=createAction("[IxApi] Unset Default Audience Failure",props()),unsetDefaultSuccess2=createAction("[IxApi] Unset Default Audience Success",props()),update41=createAction("[App] Update Audience",props()),updateFailure41=createAction("[IxApi] Update Audience Failure",props()),updateSuccess41=createAction("[IxApi] Update Audience Success",props());var loadList3=createAction("[App] Load AuditLog List",props()),loadListFailure3=createAction("[IxApi] Load AuditLog List Failure",props()),loadListSuccess3=createAction("[IxApi] Load AuditLog List Success",props()),reset61=createAction("[App] Reset AuditLog State");var add40=createAction("[App] Add BackendComponentTemplateShare",props()),addFailure40=createAction("[IxApi] Add BackendComponentTemplateShare Failure",props()),addSuccess40=createAction("[IxApi] Add BackendComponentTemplateShare Success",props()),didAdd58=createAction("[ChangeNotification] BackendComponentTemplateShare Was Added",props()),didRemove55=createAction("[ChangeNotification] BackendComponentTemplateShare Was Removed",props()),didUpdate54=createAction("[ChangeNotification] BackendComponentTemplateShare Was Updated",props()),ensureAll41=createAction("[App] Ensure All BackendComponentTemplateShares"),loadAll44=createAction("[App] Load All BackendComponentTemplateShares"),loadAllFailure44=createAction("[IxApi] Load All BackendComponentTemplateShares Failure",props()),loadAllSuccess45=createAction("[IxApi] Load All BackendComponentTemplateShares Success",props()),remove44=createAction("[App] Remove BackendComponentTemplateShare",props()),removeFailure42=createAction("[IxApi] Remove BackendComponentTemplateShare Failure",props()),removeSuccess43=createAction("[IxApi] Remove BackendComponentTemplateShare Success",props()),reset62=createAction("[App] Reset BackendComponentTemplateShare State"),update42=createAction("[App] Update BackendComponentTemplateShare",props()),updateFailure42=createAction("[IxApi] Update BackendComponentTemplateShare Failure",props()),updateSuccess42=createAction("[IxApi] Update BackendComponentTemplateShare Success",props());var add41=createAction("[App] Add BackendComponentTemplateVersion",props()),addFailure41=createAction("[IxApi] Add BackendComponentTemplateVersion Failure",props()),addSuccess41=createAction("[IxApi] Add BackendComponentTemplateVersion Success",props()),didAdd59=createAction("[ChangeNotification] BackendComponentTemplateVersion Was Added",props()),didRemove56=createAction("[ChangeNotification] BackendComponentTemplateVersion Was Removed",props()),didUpdate55=createAction("[ChangeNotification] BackendComponentTemplateVersion Was Updated",props()),ensureAll42=createAction("[App] Ensure All BackendComponentTemplateVersions"),loadAll45=createAction("[App] Load All BackendComponentTemplateVersions"),loadAllFailure45=createAction("[IxApi] Load All BackendComponentTemplateVersions Failure",props()),loadAllSuccess46=createAction("[IxApi] Load All BackendComponentTemplateVersions Success",props()),remove45=createAction("[App] Remove BackendComponentTemplateVersion",props()),removeFailure43=createAction("[IxApi] Remove BackendComponentTemplateVersion Failure",props()),removeSuccess44=createAction("[IxApi] Remove BackendComponentTemplateVersion Success",props()),reset63=createAction("[App] Reset BackendComponentTemplateVersion State"),update43=createAction("[App] Update BackendComponentTemplateVersion",props()),updateFailure43=createAction("[IxApi] Update BackendComponentTemplateVersion Failure",props()),updateSuccess43=createAction("[IxApi] Update BackendComponentTemplateVersion Success",props());var loadAll46=createAction("[App] Load All CompanyPrivacyStatements",props()),loadAllFailure46=createAction("[IxApi] Load All CompanyPrivacyStatements Failure",props()),loadAllSuccess47=createAction("[IxApi] Load All CompanyPrivacyStatements Success",props()),publish2=createAction("[App] Publish CompanyPrivacyStatement",props()),publishFailure2=createAction("[IxApi] Publish CompanyPrivacyStatement Failure",props()),publishSuccess2=createAction("[IxApi] Publish CompanyPrivacyStatement Success",props()),reset64=createAction("[App] Reset CompanyPrivacyStatement State");var add42=createAction("[App] Add CompanyTermsOfUsePolicyLanguage",props()),addFailure42=createAction("[IxApi] Add CompanyTermsOfUsePolicyLanguage Failure",props()),addSuccess42=createAction("[IxApi] Add CompanyTermsOfUsePolicyLanguage Success",props()),didAdd60=createAction("[ChangeNotification] TermsOfUsePolicyLanguage Was Added",props()),didUpdate56=createAction("[ChangeNotification] TermsOfUsePolicyLanguage Was Updated",props()),update44=createAction("[App] Update CompanyTermsOfUsePolicyLanguage",props()),updateFailure44=createAction("[IxApi] Update CompanyTermsOfUsePolicyLanguage Failure",props()),updateSuccess44=createAction("[IxApi] Update CompanyTermsOfUsePolicyLanguage Success",props()),reset65=createAction("[App] Reset CompanyTermsOfUsePolicyLanguage State");var accept2=createAction("[App] Accept CompanyTermsOfUsePolicy",props()),acceptFailure2=createAction("[IxApi] Accept CompanyTermsOfUsePolicy Failure",props()),acceptSuccess2=createAction("[IxApi] Accept CompanyTermsOfUsePolicy Success",props()),loadAll47=createAction("[App] Load All CompanyTermsOfUsePolicies",props()),loadAllFailure47=createAction("[IxApi] Load All CompanyTermsOfUsePolicies Failure",props()),loadAllSuccess48=createAction("[IxApi] Load All CompanyTermsOfUsePolicies Success",props()),publish3=createAction("[App] Publish CompanyTermsOfUsePolicy",props()),publishFailure3=createAction("[IxApi] Publish CompanyTermsOfUsePolicy Failure",props()),publishSuccess3=createAction("[IxApi] Publish CompanyTermsOfUsePolicy Success",props()),reset66=createAction("[App] Reset CompanyTermsOfUsePolicy State");var loadList4=createAction("[App] Load AuditLog List for ControlledDevice",props()),loadListFailure4=createAction("[IxApi] Load AuditLog List for ControlledDevice Failure",props()),loadListSuccess4=createAction("[IxApi] Load AuditLog List for ControlledDevice Success",props()),reset67=createAction("[App] Reset ControlledDeviceAuditLog State");var addList13=createAction("[App] Add ControlledDeviceMembership List",props()),addListFailure13=createAction("[IxApi] Add ControlledDeviceMembership List Failure",props()),addListSuccess13=createAction("[IxApi] Add ControlledDeviceMembership List Success",props()),didAdd61=createAction("[ChangeNotification] ControlledDeviceMembership Was Added",props()),didRemove57=createAction("[ChangeNotification] ControlledDeviceMembership Was Removed",props()),ensureAll43=createAction("[App] Ensure All ControlledDeviceMemberships"),loadAll48=createAction("[App] Load All ControlledDeviceMemberships"),loadAllFailure48=createAction("[IxApi] Load All ControlledDeviceMemberships Failure",props()),loadAllSuccess49=createAction("[IxApi] Load All ControlledDeviceMembership Success",props()),removeList14=createAction("[App] Remove ControlledDeviceMembership List",props()),removeListFailure13=createAction("[IxApi] Remove ControlledDeviceMembership List Failure",props()),removeListSuccess14=createAction("[IxApi] Remove ControlledDeviceMembership List Success",props()),reset68=createAction("[App] Reset ControlledDeviceMembership State");var didAdd62=createAction("[ChangeNotification] CustomProperty Was Added",props()),didRemove58=createAction("[ChangeNotification] CustomProperty Was Removed",props()),didUpdate57=createAction("[ChangeNotification] CustomProperty Was Updated",props()),ensureAll44=createAction("[App] Ensure All CustomProperties"),loadAll49=createAction("[App] Load All CustomProperties"),loadAllFailure49=createAction("[IxApi] Load All CustomProperties Failure",props()),loadAllSuccess50=createAction("[IxApi] Load All CustomProperties Success",props()),reset69=createAction("[App] Reset CustomProperties State");var add43=createAction("[App] Add DemoDevice",props()),addFailure43=createAction("[IxApi] Add DemoDevice Failure",props()),addSuccess43=createAction("[IxApi] Add DemoDevice Success",props()),reset70=createAction("[App] Reset DemoDevice State");var add44=createAction("[App] Add EdgeApp",props()),addFailure44=createAction("[IxApi] Add EdgeApp Failure",props()),addSuccess44=createAction("[IxApi] Add EdgeApp Success",props()),didAdd63=createAction("[ChangeNotification] EdgeApp Was Added",props()),didRemove59=createAction("[ChangeNotification] EdgeApp Was Removed",props()),didUpdate58=createAction("[ChangeNotification] EdgeApp Was Updated",props()),ensureAll45=createAction("[App] Ensure All EdgeApps"),loadAll50=createAction("[App] Load All EdgeApps"),loadAllFailure50=createAction("[IxApi] Load All EdgeApps Failure",props()),loadAllSuccess51=createAction("[IxApi] Load All EdgeApps Success",props()),remove46=createAction("[App] Remove EdgeApp",props()),removeFailure44=createAction("[IxApi] Remove EdgeApp Failure",props()),removeSuccess45=createAction("[IxApi] Remove EdgeApp Success",props()),reset71=createAction("[App] Reset EdgeApp State"),update45=createAction("[App] Update EdgeApp",props()),updateFailure45=createAction("[IxApi] Update EdgeApp Failure",props()),updateSuccess45=createAction("[IxApi] Update EdgeApp Success",props());var add45=createAction("[App] Add EdgeAppFile",props()),addFailure45=createAction("[IxApi] Add EdgeAppFile Failure",props()),addSuccess45=createAction("[IxApi] Add EdgeAppFile Success",props()),didAdd64=createAction("[ChangeNotification] EdgeAppFile Was Added",props()),didRemove60=createAction("[ChangeNotification] EdgeAppFile Was Removed",props()),didUpdate59=createAction("[ChangeNotification] EdgeAppFile Was Updated",props()),ensureAll46=createAction("[App] Ensure All EdgeAppFiles"),loadAll51=createAction("[App] Load All EdgeAppFiles"),loadAllFailure51=createAction("[IxApi] Load All EdgeAppFiles Failure",props()),loadAllSuccess52=createAction("[IxApi] Load All EdgeAppFiles Success",props()),remove47=createAction("[App] Remove EdgeAppFile",props()),removeFailure45=createAction("[IxApi] Remove EdgeAppFile Failure",props()),removeSuccess46=createAction("[IxApi] Remove EdgeAppFile Success",props()),removeList15=createAction("[App] Remove EdgeAppFile List",props()),removeListFailure14=createAction("[IxApi] Remove EdgeAppFile List Failure",props()),removeListSuccess15=createAction("[IxApi] Remove EdgeAppFile List Success",props()),reset72=createAction("[App] Reset EdgeAppFile State");var add46=createAction("[App] Add EdgeAppVersion",props()),addFailure46=createAction("[IxApi] Add EdgeAppVersion Failure",props()),addSuccess46=createAction("[IxApi] Add EdgeAppVersion Success",props()),didAdd65=createAction("[ChangeNotification] EdgeAppVersion Was Added",props()),didRemove61=createAction("[ChangeNotification] EdgeAppVersion Was Removed",props()),didUpdate60=createAction("[ChangeNotification] EdgeAppVersion Was Updated",props()),ensureAll47=createAction("[App] Ensure All EdgeAppVersions"),loadAll52=createAction("[App] Load All EdgeAppVersions"),loadAllFailure52=createAction("[IxApi] Load All EdgeAppVersions Failure",props()),loadAllSuccess53=createAction("[IxApi] Load All EdgeAppVersions Success",props()),remove48=createAction("[App] Remove EdgeAppVersion",props()),removeFailure46=createAction("[IxApi] Remove EdgeAppVersion Failure",props()),removeSuccess47=createAction("[IxApi] Remove EdgeAppVersion Success",props()),reset73=createAction("[App] Reset EdgeAppVersion State"),update46=createAction("[App] Update EdgeAppVersion",props()),updateFailure46=createAction("[IxApi] Update EdgeAppVersion Failure",props()),updateSuccess46=createAction("[IxApi] Update EdgeAppVersion Success",props());var didAdd66=createAction("[ChangeNotification] File Was Added",props()),didRemove62=createAction("[ChangeNotification] File Was Removed",props()),didUpdate61=createAction("[ChangeNotification] File Was Updated",props()),reset74=createAction("[App] Reset File State");var add47=createAction("[App] Add Licences",props()),addFailure47=createAction("[IxApi] Add Licences Failure",props()),addSuccess47=createAction("[IxApi] Add Licences Success",props()),didAdd67=createAction("[ChangeNotification] Licence Was Added",props()),didRemove63=createAction("[ChangeNotification] Licence Was Removed",props()),didUpdate62=createAction("[ChangeNotification] Licence Was Updated",props()),ensureAll48=createAction("[App] Ensure All Licences"),ensureAllUnusedDeviceActivation=createAction("[App] Ensure All Unused Device-Activation Licences"),extend=createAction("[App] Extend Licence",props()),extendFailure=createAction("[IxApi] Extend Licence Failure",props()),extendSuccess=createAction("[IxApi] Extend Licence Success"),loadAll53=createAction("[App] Load All Licences"),loadAllFailure53=createAction("[IxApi] Load All Licences Failure",props()),loadAllSuccess54=createAction("[IxApi] Load All Licences Success",props()),loadAllUnusedDeviceActivation=createAction("[App] Load All Unused Device-Activation Licences"),loadAllUnusedDeviceActivationFailure=createAction("[IxApi] Load All Unused Device-Activation Licences Failure",props()),loadAllUnusedDeviceActivationSuccess=createAction("[IxApi] Load All Unused Device-Activation Licences Success",props()),reset75=createAction("[App] Reset Licence State");var didAdd68=createAction("[ChangeNotification] LicenceBundle Was Added",props()),didRemove64=createAction("[ChangeNotification] LicenceBundle Was Removed",props()),didUpdate63=createAction("[ChangeNotification] LicenceBundle Was Updated",props()),extend2=createAction("[App] Extend LicenceBundle",props()),extendFailure2=createAction("[IxApi] Extend LicenceBundle Failure",props()),extendSuccess2=createAction("[IxApi] Extend LicenceBundle Success"),reset76=createAction("[App] Reset LicenceBundle State");var ensureAll49=createAction("[App] Ensure All LicenceTypes"),loadAll54=createAction("[App] Load All LicenceTypes"),loadAllFailure54=createAction("[IxApi] Load All LicenceTypes Failure",props()),loadAllSuccess55=createAction("[IxApi] Load All LicenceTypes Success",props()),reset77=createAction("[App] Reset LicenceType State");var add48=createAction("[App] Add MqttBroker",props()),addFailure48=createAction("[IxApi] Add MqttBroker Failure",props()),addSuccess48=createAction("[IxApi] Add MqttBroker Success",props()),didAdd69=createAction("[ChangeNotification] MqttBroker Was Added",props()),didRemove65=createAction("[ChangeNotification] MqttBroker Was Removed",props()),didUpdate64=createAction("[ChangeNotification] MqttBroker Was Updated",props()),ensureAll50=createAction("[App] Ensure All MqttBrokers"),loadAll55=createAction("[App] Load All MqttBrokers"),loadAllFailure55=createAction("[IxApi] Load All MqttBrokers Failure",props()),loadAllSuccess56=createAction("[IxApi] Load All MqttBrokers Success",props()),remove49=createAction("[App] Remove MqttBroker",props()),removeFailure47=createAction("[IxApi] Remove MqttBroker Failure",props()),removeSuccess48=createAction("[IxApi] Remove MqttBroker Success",props()),reset78=createAction("[App] Reset MqttBroker State"),update47=createAction("[App] Update MqttBroker",props()),updateFailure47=createAction("[IxApi] Update MqttBroker Failure",props()),updateSuccess47=createAction("[IxApi] Update MqttBroker Success",props());var didAdd70=createAction("[ChangeNotification] MqttBrokerClient Was Added",props()),didRemove66=createAction("[ChangeNotification] MqttBrokerClient Was Removed",props()),didUpdate65=createAction("[ChangeNotification] MqttBrokerClient Was Updated",props()),reset79=createAction("[App] Reset MqttBrokerClient State");var loadAll56=createAction("[App] Load All MyUserAccessRequests",props()),loadAllSuccess57=createAction("[IxApi] Load All MyUserAccessRequests Success",props()),loadOne6=createAction("[App] Load One MyUserAccessRequest",props()),loadOneSuccess6=createAction("[IxApi] Load One MyUserAccessRequest Success",props()),reset80=createAction("[App] Reset MyUserAccessRequest State");var add49=createAction("[App] Add OciRegistry",props()),addFailure49=createAction("[IxApi] Add OciRegistry Failure",props()),addSuccess49=createAction("[IxApi] Add OciRegistry Success",props()),didAdd71=createAction("[ChangeNotification] OciRegistry Was Added",props()),didRemove67=createAction("[ChangeNotification] OciRegistry Was Removed",props()),didUpdate66=createAction("[ChangeNotification] OciRegistry Was Updated",props()),ensureAll51=createAction("[App] Ensure All OciRegistries"),loadAll57=createAction("[App] Load All OciRegistries"),loadAllFailure56=createAction("[IxApi] Load All OciRegistries Failure",props()),loadAllSuccess58=createAction("[IxApi] Load All OciRegistries Success",props()),remove50=createAction("[App] Remove OciRegistry",props()),removeFailure48=createAction("[IxApi] Remove OciRegistry Failure",props()),removeSuccess49=createAction("[IxApi] Remove OciRegistry Success",props()),reset81=createAction("[App] Reset OciRegistry State"),update48=createAction("[App] Update OciRegistry",props()),updateFailure48=createAction("[IxApi] Update OciRegistry Failure",props()),updateSuccess48=createAction("[IxApi] Update OciRegistry Success",props());var add50=createAction("[App] Add PageComponentTemplateShare",props()),addFailure50=createAction("[IxApi] Add PageComponentTemplateShare Failure",props()),addSuccess50=createAction("[IxApi] Add PageComponentTemplateShare Success",props()),didAdd72=createAction("[ChangeNotification] PageComponentTemplateShare Was Added",props()),didRemove68=createAction("[ChangeNotification] PageComponentTemplateShare Was Removed",props()),didUpdate67=createAction("[ChangeNotification] PageComponentTemplateShare Was Updated",props()),ensureAll52=createAction("[App] Ensure All PageComponentTemplateShares"),loadAll58=createAction("[App] Load All PageComponentTemplateShares"),loadAllFailure57=createAction("[IxApi] Load All PageComponentTemplateShares Failure",props()),loadAllSuccess59=createAction("[IxApi] Load All PageComponentTemplateShares Success",props()),remove51=createAction("[App] Remove PageComponentTemplateShare",props()),removeFailure49=createAction("[IxApi] Remove PageComponentTemplateShare Failure",props()),removeSuccess50=createAction("[IxApi] Remove PageComponentTemplateShare Success",props()),reset82=createAction("[App] Reset PageComponentTemplateShare State"),update49=createAction("[App] Update PageComponentTemplateShare",props()),updateFailure49=createAction("[IxApi] Update PageComponentTemplateShare Failure",props()),updateSuccess49=createAction("[IxApi] Update PageComponentTemplateShare Success",props());var add51=createAction("[App] Add PageComponentTemplateVersion",props()),addFailure51=createAction("[IxApi] Add PageComponentTemplateVersion Failure",props()),addSuccess51=createAction("[IxApi] Add PageComponentTemplateVersion Success",props()),didAdd73=createAction("[ChangeNotification] PageComponentTemplateVersion Was Added",props()),didRemove69=createAction("[ChangeNotification] PageComponentTemplateVersion Was Removed",props()),didUpdate68=createAction("[ChangeNotification] PageComponentTemplateVersion Was Updated",props()),ensureAll53=createAction("[App] Ensure All PageComponentTemplateVersions"),loadAll59=createAction("[App] Load All PageComponentTemplateVersions"),loadAllFailure58=createAction("[IxApi] Load All PageComponentTemplateVersions Failure",props()),loadAllSuccess60=createAction("[IxApi] Load All PageComponentTemplateVersions Success",props()),remove52=createAction("[App] Remove PageComponentTemplateVersion",props()),removeFailure50=createAction("[IxApi] Remove PageComponentTemplateVersion Failure",props()),removeSuccess51=createAction("[IxApi] Remove PageComponentTemplateVersion Success",props()),reset83=createAction("[App] Reset PageComponentTemplateVersion State"),update50=createAction("[App] Update PageComponentTemplateVersion",props()),updateFailure50=createAction("[IxApi] Update PageComponentTemplateVersion Failure",props()),updateSuccess50=createAction("[IxApi] Update PageComponentTemplateVersion Success",props());var add52=createAction("[App] Add PageLinkGroup",props()),addSuccess52=createAction("[IxApi] Add PageLinkGroup Success",props()),didAdd74=createAction("[ChangeNotification] PageLinkGroup Was Added",props()),didRemove70=createAction("[ChangeNotification] PageLinkGroup Was Removed",props()),didUpdate69=createAction("[ChangeNotification] PageLinkGroup Was Updated",props()),ensureAll54=createAction("[App] Ensure All PageLinkGroups",props()),loadAll60=createAction("[App] Load All PageLinkGroups",props()),loadAllSuccess61=createAction("[IxApi] Load All PageLinkGroups Success",props()),remove53=createAction("[App] Remove PageLinkGroup",props()),removeSuccess52=createAction("[IxApi] Remove PageLinkGroup Success",props()),update51=createAction("[App] Update PageLinkGroup",props()),updateSuccess51=createAction("[IxApi] Update PageLinkGroup Success",props()),invalidateTranslations7=createAction("[App] Invalidate PageLinkGroup Translations"),reset84=createAction("[App] Reset PageLinkGroup State");var ensureAll55=createAction("[App] Ensure All Permissions"),loadAll61=createAction("[App] Load All Permissions"),loadAllFailure59=createAction("[IxApi] Load All Permissions Failure",props()),loadAllSuccess62=createAction("[IxApi] Load All Permissions Success",props()),reset85=createAction("[App] Reset Permission State");var add53=createAction("[App] Add PipelineFunction",props()),addFailure52=createAction("[IxApi] Add PipelineFunction Failure",props()),addSuccess53=createAction("[IxApi] Add PipelineFunction Success",props()),didAdd75=createAction("[ChangeNotification] PipelineFunction Was Added",props()),didRemove71=createAction("[ChangeNotification] PipelineFunction Was Removed",props()),didUpdate70=createAction("[ChangeNotification] PipelineFunction Was Updated",props()),ensureAll56=createAction("[App] Ensure All PipelineFunctions"),loadAll62=createAction("[App] Load All PipelineFunctions"),loadAllFailure60=createAction("[IxApi] Load All PipelineFunctions Failure",props()),loadAllSuccess63=createAction("[IxApi] Load All PipelineFunctions Success",props()),remove54=createAction("[App] Remove PipelineFunction",props()),removeFailure51=createAction("[IxApi] Remove PipelineFunction Failure",props()),removeSuccess53=createAction("[IxApi] Remove PipelineFunction Success",props()),reset86=createAction("[App] Reset PipelineFunction State"),update52=createAction("[App] Update PipelineFunction",props()),updateFailure51=createAction("[IxApi] Update PipelineFunction Failure",props()),updateSuccess52=createAction("[IxApi] Update PipelineFunction Success",props());var ensureAll57=createAction("[App] Ensure All PlatformServers"),loadAll63=createAction("[App] Load All PlatformServers"),loadAllFailure61=createAction("[IxApi] Load All PlatformServers Failure",props()),loadAllSuccess64=createAction("[IxApi] Load All PlatformServers Success",props()),reset87=createAction("[App] Reset PlatformServer State");var ensureAll58=createAction("[App] Ensure all ReportSchedules",props()),add54=createAction("[App] Add ReportSchedule",props()),addFailure53=createAction("[IxApi] Add ReportSchedule Failure",props()),addSuccess54=createAction("[IxApi] Add ReportSchedule Success",props()),didAdd76=createAction("[ChangeNotification] ReportSchedule Was Added",props()),didRemove72=createAction("[ChangeNotification] ReportSchedule Was Removed",props()),didUpdate71=createAction("[ChangeNotification] ReportSchedule Was Updated",props()),loadAll64=createAction("[App] Load all ReportSchedules",props()),loadAllFailure62=createAction("[IxApi] Load all ReportSchedules Failure",props()),loadAllSuccess65=createAction("[IxApi] Load all ReportSchedules Success",props()),remove55=createAction("[App] Remove ReportSchedule",props()),removeFailure52=createAction("[IxApi] Remove ReportSchedule Failure",props()),removeSuccess54=createAction("[IxApi] Remove ReportSchedule Success",props()),reset88=createAction("[App] Reset ReportSchedule State"),update53=createAction("[App] Update ReportSchedule",props()),updateFailure52=createAction("[IxApi] Update ReportSchedule Failure",props()),updateSuccess53=createAction("[IxApi] Update ReportSchedule Success",props());var didAdd77=createAction("[ChangeNotification] WebaccessSessionRecording Was Added",props()),didRemove73=createAction("[ChangeNotification] WebaccessSessionRecording Was Removed",props()),didUpdate72=createAction("[ChangeNotification] WebaccessSessionRecording Was Updated",props()),ensureAll59=createAction("[App] Ensure All WebaccessSessionRecording"),loadAll65=createAction("[App] Load All WebaccessSessionRecording"),loadAllFailure63=createAction("[IxApi] Load All WebaccessSessionRecording Failure",props()),loadAllSuccess66=createAction("[IxApi] Load All WebaccessSessionRecording Success",props()),loadOne7=createAction("[App] Load One WebaccessSessionRecording",props()),loadOneSuccess7=createAction("[IxApi] Load One WebaccessSessionRecording Success",props()),reset89=createAction("[App] Reset WebaccessSessionRecording State");var addMany=createAction("[App] Add Many Translations",props()),addManyFailure=createAction("[IxApi] Add Many Translations Failure",props()),addManySuccess=createAction("[IxApi] Add Many Translations Success",props()),didAdd78=createAction("[ChangeNotification] Translation Was Added",props()),didAddList10=createAction("[ChangeNotification] Translation List Was Added",props()),didUpdate73=createAction("[ChangeNotification] Translation Was Updated",props()),didUpdateList10=createAction("[ChangeNotification] Translation List Was Updated",props()),didRemove74=createAction("[ChangeNotification] Translation Was Removed",props()),didRemoveList11=createAction("[ChangeNotification] Translation List Was Removed",props()),ensureAll60=createAction("[App] Ensure All Translations"),loadAll66=createAction("[App] Load All Translations"),loadAllFailure64=createAction("[IxApi] Load All Translations Failure",props()),loadAllSuccess67=createAction("[IxApi] Load All Translations Success",props()),updateMany7=createAction("[App] Update Many Translations",props()),updateManyFailure7=createAction("[IxApi] Update Many Translations Failure",props()),updateManySuccess7=createAction("[IxApi] Update Many Translations Success",props()),upsertMany2=createAction("[App] Upsert Many Translations",props()),upsertManyFailure2=createAction("[IxApi] Upsert Many Translations Failure",props()),upsertManySuccess2=createAction("[IxApi] Upsert Many Translations Success",props()),remove56=createAction("[App] Remove Translation",props()),removeFailure53=createAction("[IxApi] Remove Translation Failure",props()),removeSuccess55=createAction("[IxApi] Remove Translation Success",props()),reset90=createAction("[App] Reset Translation State");var shouldResetActions2=[...shouldResetActions,setManually,setAutomatically,unset],AuthCompanyStateEffects=(()=>{class AuthCompanyStateEffects2{constructor(){this.actions$=inject(Actions),this.resetAgentState$=this.createResetEffect(reset4),this.resetAgentAuditLogState$=this.createResetEffect(reset40),this.resetAgentDataAlarmState$=this.createResetEffect(reset41),this.resetAgentDataConditionState$=this.createResetEffect(reset42),this.resetAgentDataSourceState$=this.createResetEffect(reset7),this.resetAgentDataTagState$=this.createResetEffect(reset44),this.resetAgentDataVariableState$=this.createResetEffect(reset45),this.resetAgentDeviceState$=this.createResetEffect(reset8),this.resetAgentDeviceDataProtocolState$=this.createResetEffect(reset43),this.resetAgentEdgeAppInstanceState$=this.createResetEffect(reset46),this.resetAgentEdgeAppInstanceServiceState$=this.createResetEffect(reset47),this.resetAgentMembershipState$=this.createResetEffect(reset9),this.resetAgentRegistrationProfileState$=this.createResetEffect(reset48),this.resetAgentRegistrationProfileMembershipState$=this.createResetEffect(reset49),this.resetAgentRouterAdditionalSubnetState$=this.createResetEffect(reset5),this.resetAgentRouterLanWanAccessRuleState$=this.createResetEffect(reset50),this.resetAgentRouterNtpServerState$=this.createResetEffect(reset51),this.resetAgentRouterOneToOneNatRuleState$=this.createResetEffect(reset52),this.resetAgentRouterPortForwardState$=this.createResetEffect(reset6),this.resetAgentRouterVpnAccessRuleState$=this.createResetEffect(reset10),this.resetAgentServerState$=this.createResetEffect(reset11),this.resetAgentTemplateState$=this.createResetEffect(reset15),this.resetAgentTemplateVersionState$=this.createResetEffect(reset16),this.resetAgentTypeState$=this.createResetEffect(reset53),this.resetAssetAiAssistantPromptState$=this.createResetEffect(reset54),this.resetAssetAppConfigState$=this.createResetEffect(reset55),this.resetAssetAppConfigResourceState$=this.createResetEffect(reset56),this.resetAssetLibraryVersionState$=this.createResetEffect(reset57),this.resetAssetMembershipState$=this.createResetEffect(reset58),this.resetAssetState$=this.createResetEffect(reset12),this.resetAssetTypeState$=this.createResetEffect(reset59),this.resetAudienceState$=this.createResetEffect(reset60),this.resetAuditLogState$=this.createResetEffect(reset61),this.resetBackendComponentTemplateState$=this.createResetEffect(reset17),this.resetBackendComponentTemplateConfigState$=this.createResetEffect(reset32),this.resetBackendComponentTemplateShareState$=this.createResetEffect(reset62),this.resetBackendComponentTemplateVersionState$=this.createResetEffect(reset63),this.resetCompanyPrivacyStatementLanguageState$=this.createResetEffect(reset65),this.resetCompanyPrivacyStatementState$=this.createResetEffect(reset64),this.resetCompanyTermsOfUsePolicyLanguageState$=this.createResetEffect(reset65),this.resetCompanyTermsOfUsePolicyState$=this.createResetEffect(reset66),this.resetControlledDeviceState$=this.createResetEffect(reset13),this.resetControlledDeviceAuditLogState$=this.createResetEffect(reset67),this.resetControlledDeviceMembershipState$=this.createResetEffect(reset68),this.resetCustomPropertyState$=this.createResetEffect(reset69),this.resetDeviceDeviceState$=this.createResetEffect(reset70),this.resetEdgeAppState$=this.createResetEffect(reset71),this.resetEdgeAppFileState$=this.createResetEffect(reset72),this.resetEdgeAppVersionState$=this.createResetEffect(reset73),this.resetFileState$=this.createResetEffect(reset74),this.resetGroupState$=this.createResetEffect(reset20),this.resetGroupTypeState$=this.createResetEffect(reset21),this.resetInviteState$=this.createResetEffect(reset27),this.resetLabelState$=this.createResetEffect(reset25),this.resetLicenceBundleState$=this.createResetEffect(reset76),this.resetLicenceState$=this.createResetEffect(reset75),this.resetLicenceTypeState$=this.createResetEffect(reset77),this.resetMenuItemState$=this.createResetEffect(reset22),this.resetMqttBrokerState$=this.createResetEffect(reset78),this.resetMqttBrokerClientState$=this.createResetEffect(reset79),this.resetMyCompany$=this.createResetEffect(resetMe),this.resetMyUserAccessRequestState$=this.createResetEffect(reset80),this.resetOciRegistryState$=this.createResetEffect(reset81),this.resetPageState$=this.createResetEffect(reset23),this.resetPageComponentState$=this.createResetEffect(reset2),this.resetPageComponentTemplateState$=this.createResetEffect(reset),this.resetPageComponentTemplateManifestState$=this.createResetEffect(reset3),this.resetPageComponentTemplateShareState$=this.createResetEffect(reset82),this.resetPageComponentTemplateVersionState$=this.createResetEffect(reset83),this.resetPageLinkState$=this.createResetEffect(reset14),this.resetPageLinkGroupState$=this.createResetEffect(reset84),this.resetPagePageState$=this.createResetEffect(reset29),this.resetPageVersionState$=this.createResetEffect(reset24),this.resetPermissionState$=this.createResetEffect(reset85),this.resetPipelineFunctionState$=this.createResetEffect(reset86),this.resetPlatformServerState$=this.createResetEffect(reset87),this.resetReportScheduleState$=this.createResetEffect(reset88),this.resetRoleState$=this.createResetEffect(reset19),this.resetSessionRecordingState$=this.createResetEffect(reset89),this.resetTranslations$=this.createResetEffect(reset90),this.resetUserList$=this.createResetEffect(resetList),this.resetUserMembershipState$=this.createResetEffect(reset28)}createResetEffect(resetAction){return createEffect(()=>this.actions$.pipe(ofType(...shouldResetActions2),map(()=>resetAction())))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AuthCompanyStateEffects2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AuthCompanyStateEffects2,factory:AuthCompanyStateEffects2.\u0275fac,providedIn:"root"})}}return AuthCompanyStateEffects2})();var AUTH_COMPANY_GUARD_RESOLVERS=new InjectionToken("authCompanySystem.guard-resolvers");var AuthCompanyHttpRequestInterceptor=(()=>{class AuthCompanyHttpRequestInterceptor2{constructor(){this.httpCancelService=inject(AuthCompanyHttpCancelService),this.companyId=null,inject(AuthCompanyService).companyId.subscribe(companyId=>this.companyId=companyId)}intercept(request,delegate){return request.context.get(REQUIRES_COMPANY)===!0&&this.companyId?delegate.handle(request.clone({setHeaders:{[IxApiHeaderKeys.Company]:this.companyId}})).pipe(takeUntil(this.httpCancelService.onCancelPendingRequests())):request.headers.has(IxApiHeaderKeys.Company)?delegate.handle(request).pipe(takeUntil(this.httpCancelService.onCancelPendingRequests())):delegate.handle(request)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AuthCompanyHttpRequestInterceptor2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AuthCompanyHttpRequestInterceptor2,factory:AuthCompanyHttpRequestInterceptor2.\u0275fac})}}return AuthCompanyHttpRequestInterceptor2})();var AuthAccessTokenHttpRequestInterceptor=(()=>{class AuthAccessTokenHttpRequestInterceptor2{constructor(){this.accessToken=null,inject(AuthService).token.subscribe(token=>this.accessToken=token?mapTokenToSecretId(token):null)}intercept(request,delegate){return request.context.get(REQUIRES_ACCESS_TOKEN)===!0&&this.accessToken?delegate.handle(request.clone({setHeaders:{[IxApiHeaderKeys.AccessToken]:this.accessToken}})):delegate.handle(request)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AuthAccessTokenHttpRequestInterceptor2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AuthAccessTokenHttpRequestInterceptor2,factory:AuthAccessTokenHttpRequestInterceptor2.\u0275fac})}}return AuthAccessTokenHttpRequestInterceptor2})();var AuthAuthTokenHttpRequestInterceptor=(()=>{class AuthAuthTokenHttpRequestInterceptor2{constructor(){this.authTokenService=inject(AuthTokenService),this.authService=inject(AuthService),this.authToken=null,this.authToken$=null,this.authTokenExpiryTimeout=null,this.authService.token.subscribe(token=>{token!==this.accessToken&&(this.clearCachedAuthToken(),this.accessToken=token)})}intercept(request,delegate){return request.context.get(REQUIRES_AUTH_TOKEN)==="ai-assistant"?this.authToken?delegate.handle(this.setAuthorizationHeader(request,this.authToken)):this.authToken$?this.authToken$.pipe(mergeMap(authToken=>delegate.handle(authToken?this.setAuthorizationHeader(request,authToken):request))):(this.authToken$=this.authTokenService.getForAiAssistant({expiresIn:3600}).pipe(map(response=>response.data.secretId),shareReplay(1),take(1),tap(token=>{this.authToken=token,token&&(this.authTokenExpiryTimeout=setTimeout(()=>{this.authToken=null,this.authTokenExpiryTimeout=null},33e5))}),finalize(()=>this.authToken$=null),catchError(()=>of(null))),this.authToken$.pipe(mergeMap(authToken=>delegate.handle(authToken?this.setAuthorizationHeader(request,authToken):request)))):delegate.handle(request)}clearCachedAuthToken(){this.authToken=null,this.authToken$=null,this.authTokenExpiryTimeout!==null&&(clearTimeout(this.authTokenExpiryTimeout),this.authTokenExpiryTimeout=null)}setAuthorizationHeader(req,token){return req.clone({setHeaders:{Authorization:`Bearer ${token}`}})}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AuthAuthTokenHttpRequestInterceptor2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AuthAuthTokenHttpRequestInterceptor2,factory:AuthAuthTokenHttpRequestInterceptor2.\u0275fac})}}return AuthAuthTokenHttpRequestInterceptor2})();var AuthModule=(()=>{class AuthModule2{static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AuthModule2)}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:AuthModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({providers:[{provide:APP_INITIALIZER,useFactory:function(api,authService){return function(){return authService.token.subscribe(token=>{api.headers=token?api.headers.set("Authorization",getBearerAuthHeader(token)):api.headers.delete("Authorization")}),Promise.resolve(!0)}},multi:!0,deps:[IxApiService,AuthService]},{provide:AUTH_COMPANY_GUARD_RESOLVERS,useValue:()=>of(!0),multi:!0},{provide:AUTH_LOGOUT_INITIALIZER,useFactory:()=>()=>of(!0),multi:!0},{provide:HTTP_INTERCEPTORS,useClass:AuthAccessTokenHttpRequestInterceptor,multi:!0},{provide:HTTP_INTERCEPTORS,useClass:AuthAuthTokenHttpRequestInterceptor,multi:!0},{provide:HTTP_INTERCEPTORS,useClass:AuthCompanyHttpRequestInterceptor,multi:!0},provideHttpClient(withFetch(),withInterceptorsFromDi()),LayerService,{provide:LAYER_REF_CACHE,useValue:[]}],imports:[RouterModule,MatSnackBarModule,IxApiModule,StorageModule,EffectsModule.forFeature([AuthEffects,AuthSnackBarEffects,AuthStateEffects,AuthCompanyEffects,AuthCompanyStateEffects])]})}}return AuthModule2})();var communicationLostSnackbarRetryCommunication=createAction("[VPN Communication Lost Snackbar] Retry Communication"),pageConnect=createAction("[App] Connect VPN",props()),pageConnectFailure=createAction("[App] Connect VPN Failure"),pageDisconnect=createAction("[App] Disconnect VPN"),pageDisconnectFailure=createAction("[App] Disconnect VPN Failure"),installerDialogConnect=createAction("[VPN Installer Dialog] Connect VPN",props()),installerDialogRetryCommunication=createAction("[VPN Installer Dialog] Retry Communication"),consentDialogAcceptAndConnect=createAction("[VPN Consent Dialog] Accept And Connect",props()),localNetworkAccessDialogContinueAndConnect=createAction("[VPN Local Network Access Dialog] Continue And Connect",props()),localNetworkAccessDialogGrantPermission=createAction("[VPN Local Network Access Dialog] Grant Permission"),loggedOutDisconnect=createAction("[Auth] Disconnect VPN"),lostAndFoundUpdate=createAction("[VPN Client] Communication Restored Update"),infoDialogDisconnect=createAction("[VPN Info Dialog] Disconnect VPN"),infoDialogResetConfigOpenVpn=createAction("[VPN Info Dialog] Reset Config OpenVPN",props()),showInfoDialog=createAction("[VPN Status] Show Info Dialog",props()),showStatusBar=createAction("[VPN Client] Show VPN Status Bar"),hideStatusBar=createAction("[VPN Client] Hide VPN Status Bar");var TRANSLATION_KEY_PATTERN=/^__TRANSLATION__\.[A-Z0-9_.!?]+$/;function isTranslationKey(value){return TRANSLATION_KEY_PATTERN.test(value)}function trimNamespace(value){return value.replace(/^__TRANSLATION__\./,"")}var TRANSLATION_KEY_PATTERN2=/^__TRANSLATION__\.[A-Z0-9_.!?]+$/;function parseComponentInputs(component){let inputs={};if(component.inputs)try{inputs=JSON.parse(component.inputs)}catch(error3){inputs={},console.error(error3)}return inputs}function replaceTranslationKeysFactory(translate){return function(inputs,keys){return _replace(inputs,keys)};function _replace(inputs,keys={},path=""){return isObject_default(inputs)?Object.keys(inputs).reduce((replaced,key)=>{let value=inputs[key],_path=`${path?path+".":""}${key}`;return TRANSLATION_KEY_PATTERN2.test(value)?(keys&&(keys[_path]=value),value=trimNamespace(translate.instant(value))):isObject_default(value)&&(isArray_default(value)?value=value.map((v,i)=>_replace(v,keys,`${_path}[${i}]`)):value=_replace(value,keys,_path)),__spreadProps(__spreadValues({},replaced),{[key]:value})},{}):inputs}}function hasVpnAccess(agent,myUser,agentAudiences,canManageAgents){return!agent||!myUser||!agentAudiences?!1:myUser.support||canManageAgents||agent.vpnAccessRules?.length?!0:agent.vpnAudience?agentAudiences.map(audience=>audience.publicId).includes(agent.vpnAudience.publicId):!1}var FEATURE_NAME16="assetMembership";var adapter14=createResourceAdapter(),initialState15=adapter14.getInitialState(),reducer12=createReducer(initialState15,on(reset58,()=>__spreadValues({},initialState15)),on(didAdd55,(state,{data})=>adapter14.upsertOne(data,state)),on(addListSuccess12,(state,{data})=>adapter14.upsertMany(data,state)),on(loadAll41,state=>__spreadProps(__spreadValues({},state),{allLoading:!0})),on(loadAllFailure41,state=>__spreadProps(__spreadValues({},state),{allLoading:!1})),on(loadAllSuccess42,(state,{data})=>adapter14.setAll(data,__spreadProps(__spreadValues({},state),{allLoading:!1,allLoaded:!0}))),on(didRemove52,(state,{publicId})=>adapter14.removeOne(publicId,state)),on(removeListSuccess13,(state,{publicIdList})=>adapter14.removeMany(publicIdList,state)),on(updateSuccess39,didUpdate51,(state,{data,publicId})=>adapter14.updateOne({id:publicId,changes:data},state)),on(didAdd12,loadOneSuccess2,(state,{data})=>data?adapter14.upsertMany(mapAssetToAssetMembershipList(data),state):state),on(didAddList4,(state,{data})=>data?adapter14.upsertMany(flatMap_default(data.map(mapAssetToAssetMembershipList)),state):state),on(loadAllSuccess6,loadAllEnabledSuccess,loadAllForRootSuccess,loadAllRootsSuccess,(state,{data})=>adapter14.upsertMany(flatMap_default(data.map(mapAssetToAssetMembershipList)),state)),on(removeSuccess9,didRemove12,(state,{publicId})=>{let publicIdList=Object.keys(state.entities).reduce((ids,id)=>state.entities[id]?.asset?.publicId===publicId?[...ids,id]:ids,[]);return publicIdList.length?adapter14.removeMany(publicIdList,state):state}),on(didRemoveList5,(state,{publicIdList})=>{let membershipPublicIds=Object.keys(state.entities).reduce((ids,id)=>{let assetPublicId=state.entities[id]?.asset?.publicId;return assetPublicId&&publicIdList.includes(assetPublicId)?[...ids,id]:ids},[]);return membershipPublicIds.length?adapter14.removeMany(membershipPublicIds,state):state})),feature12=createFeature({name:FEATURE_NAME16,reducer:reducer12});function mapAssetToAssetMembershipList(asset){return mapResourceToSubResourceList(asset,"memberships","asset","Asset")}var selectAll15=createSelector(feature12.selectAssetMembershipState,adapter14.getSelectors().selectAll),{selectAllLoading:selectAllLoading12,selectAllLoaded:selectAllLoaded12,selectEntities:selectEntities15}=feature12;var GroupService=(()=>{class GroupService2{constructor(){this.api=inject(IxApiService),this.http=inject(HttpClient)}add(body){let url=this.api.url("GroupList"),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context3,headers};return this.http.post(url,body,options)}addMachineGroups(body){let url=this.api.url("MachineGroupList"),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context3,headers};return this.http.post(url,body,options)}getAll(){return whileMoreAfter(moreAfter=>this.getList(moreAfter))}getList(pageAfter,pageSize){let url=this.api.url("GroupList"),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,params=new HttpParams({fromObject:__spreadValues({fields:"*,parent(*),parent.type(*),agent,asset,type(*)"},getPageParams(pageAfter,pageSize))}),options={context:context3,headers,params};return this.http.get(url,options)}removeByPublicId(publicId){let url=this.api.url("Group",{publicId}),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context3,headers};return this.http.delete(url,options)}updateByPublicId(publicId,body){let url=this.api.url("Group",{publicId}),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context3,headers};return this.http.patch(url,body,options)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||GroupService2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:GroupService2,factory:GroupService2.\u0275fac,providedIn:"root"})}}return GroupService2})();var GroupEffects=(()=>{class GroupEffects2{constructor(){this.actions$=inject(Actions),this.store=inject(Store),this.service=inject(GroupService),this.snackBar=inject(MatSnackBar),this.translate=inject(TranslateService),this.add$=createEffect(()=>this.actions$.pipe(ofType(add16),mergeMap(({data})=>this.service.add(data).pipe(map(response=>addSuccess16({data:__spreadValues(__spreadValues({},response.data),data)})),catchError(errorResponse=>of(addFailure16({errors:errorResponse.error?.data??[]}))))))),this.addMachineGroups$=createEffect(()=>this.actions$.pipe(ofType(addMachineGroups),mergeMap(({data})=>this.service.addMachineGroups(data).pipe(map(response=>addMachineGroupsSuccess({data:response.data.map((_data,i)=>__spreadValues(__spreadValues({},_data),data[i]))})),catchError(errorResponse=>of(addMachineGroupsFailure({errors:errorResponse.error?.data??[]}))))))),this.addFailure$=createEffect(()=>this.actions$.pipe(ofType(addFailure16),tap(error3=>{let errorMessage=error3.errors.map(e=>e.message).join(", "),message=this.translate.instant("ADDING_FAILED");this.snackBar.open(errorMessage?`${message}: ${errorMessage}`:message,void 0,{duration:3e3})})),{dispatch:!1}),this.ensureAll$=createEffect(()=>this.actions$.pipe(ofType(ensureAll12),mergeMap(()=>combineLatest([this.store.select(selectAllLoading7),this.store.select(selectAllLoaded7)]).pipe(take(1),mergeMap(([loading,loaded])=>!loading&&!loaded?of(loadAll11()):EMPTY))))),this.loadAll$=createEffect(()=>this.actions$.pipe(ofType(loadAll11),switchMap(()=>this.service.getAll().pipe(map(({data})=>loadAllSuccess12({data})),catchError(errorResponse=>of(loadAllFailure11({errors:errorResponse.error?.data??[]}))))))),this.remove$=createEffect(()=>this.actions$.pipe(ofType(remove17),mergeMap(({publicId})=>this.service.removeByPublicId(publicId).pipe(map(()=>removeSuccess17({publicId})),catchError(errorResponse=>of(removeFailure17({errors:errorResponse.error?.data??[]}))))))),this.removeFailure$=createEffect(()=>this.actions$.pipe(ofType(removeFailure17),tap(({errors:errors2})=>{errors2[0].message&&this.snackBar.open(errors2[0].message,void 0,{duration:3e3})})),{dispatch:!1}),this.update$=createEffect(()=>this.actions$.pipe(ofType(update15),mergeMap(({data,publicId})=>this.service.updateByPublicId(publicId,data).pipe(map(()=>updateSuccess15({data:__spreadProps(__spreadValues({},data),{publicId}),publicId})),catchError(errorResponse=>of(updateFailure15({errors:errorResponse.error?.data??[]}))))))),this.didUpdateParent$=createEffect(()=>this.actions$.pipe(ofType(didUpdate19),withLatestFrom(this.store.select(selectEntities9)),switchMap(([{data},groupEntities])=>data.parent&&groupEntities[data.parent.publicId]?of(loadAll11()):EMPTY)))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||GroupEffects2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:GroupEffects2,factory:GroupEffects2.\u0275fac,providedIn:"root"})}}return GroupEffects2})();var GroupModule=(()=>{class GroupModule2{static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||GroupModule2)}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:GroupModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({providers:[{provide:REDUCER_TOKEN,deps:[TranslateService],useFactory:reducerFactory},provideHttpClient(withFetch(),withInterceptorsFromDi())],imports:[TranslateModule,MatSnackBarModule,IxApiModule,StoreModule.forFeature(FEATURE_NAME8,REDUCER_TOKEN),EffectsModule.forFeature([GroupEffects])]})}}return GroupModule2})();var selectUserGroups=createSelector(selectMyUserId,selectAll11,selectAll8,(myUserId,userMemberships,groups)=>{let membershipGroups=(myUserId?userMemberships.filter(membership=>membership.user?.publicId===myUserId):[]).map(membership=>membership.group);return groups.filter(group=>membershipGroups.map(ug=>ug?.publicId).includes(group.publicId))}),selectMyUserCompanyWideMemberships=createSelector(selectUserGroups,selectMyUserMemberships,(userGroups,userMemberShips)=>{let groupIds=userGroups.filter(group=>!group.agent&&!group.asset&&group.isCompanyGroup).map(g=>g.publicId);return userMemberShips.filter(um=>um.group&&groupIds.includes(um.group?.publicId))}),selectMyUserGroupSpecificMemberships=publicId=>createSelector(selectUserGroups,selectFeatureState2,selectMyUserMemberships,selectAll3,selectAll15,(userGroups,groupState,userMemberShips,agentMemberships,assetMemberships)=>{let agentGroups=[...agentMemberships.filter(m=>m.agent?.publicId===publicId),...assetMemberships.filter(m=>m.asset?.publicId===publicId)].map(m=>m.group?.publicId).filter(g=>!!g),groupIds=userGroups.filter(group=>!group.isCompanyGroup).map(g=>g?.publicId);return userMemberShips.filter(um=>um.group?.publicId&&groupIds.includes(um.group.publicId)?getGroupTree(um.group,groupState).map(group=>group.publicId).some(groupId=>agentGroups.includes(groupId)):!1)}),membershipToAudienceProjector=(membership,roles)=>{let membershipRoleIds=membership.map(m=>m.role).filter(r=>!!r).map(role=>role?.publicId),audiences=roles.filter(role=>membershipRoleIds.includes(role.publicId)).map(role=>role.audiences);return flatten_default(audiences).filter(audience=>!!audience)},selectMyUserCompanyWideAudiences=createSelector(selectMyUserCompanyWideMemberships,selectAll7,membershipToAudienceProjector),selectMyUserGroupSpecificAudiences=publicId=>createSelector(selectMyUserGroupSpecificMemberships(publicId),selectAll7,membershipToAudienceProjector);function getUserAgentAudiences(store,agentOrAssetId){let myUserCompanyWideAudiences=store.select(selectMyUserCompanyWideAudiences),myUserGroupSpecificAudiences=store.select(selectMyUserGroupSpecificAudiences(agentOrAssetId));return combineLatest([myUserCompanyWideAudiences,myUserGroupSpecificAudiences]).pipe(map(([companyWide,groupSpecific])=>[...companyWide,...groupSpecific]))}function concatLatestFrom(observablesFactory){return concatMap(value=>{let observables=observablesFactory(value),observablesAsArray=Array.isArray(observables)?observables:[observables];return of(value).pipe(withLatestFrom(...observablesAsArray))})}var start=createAction("[ChangeNotifications] Start"),startFailure=createAction("[ChangeNotifications] Start Failure"),startSuccess=createAction("[ChangeNotifications] Start Success",props()),stop=createAction("[ChangeNotifications] Stop"),generateAuthToken=createAction("[ChangeNotifications] Generate AuthToken"),generateAuthTokenSuccess=createAction("[ChangeNotifications] Generate AuthToken Success",props()),setAuthorization=createAction("[ChangeNotifications] Set Authorization",props()),renewAuthorization=createAction("[ChangeNotifications] Renew Authorization"),unsetAuthorization=createAction("[ChangeNotifications] Unset Authorization"),setCompany=createAction("[ChangeNotifications] Set Company",props()),unsetCompany=createAction("[ChangeNotifications] Unset Company"),connectionLost=createAction("[ChangeNotifications] Connection Lost"),shouldReloadAppState=createAction("[ChangeNotifications] Should Reload App State"),reloadAppState=createAction("[ChangeNotifications] Reload App State");var initialState16={active:!1,authToken:null,authorizedOn:null,company:null},reducer13=createReducer(initialState16,on(setAuthorization,(state,{token})=>__spreadProps(__spreadValues({},state),{authToken:token,authorizedOn:new Date().getTime()})),on(unsetAuthorization,state=>__spreadProps(__spreadValues({},state),{authToken:null,authorizedOn:null,company:null})),on(setCompany,(state,{companyId})=>__spreadProps(__spreadValues({},state),{company:companyId})),on(unsetCompany,state=>__spreadProps(__spreadValues({},state),{company:null})),on(startSuccess,state=>__spreadProps(__spreadValues({},state),{active:!0})),on(stop,()=>__spreadValues({},initialState16))),feature13=createFeature({name:FEATURE_NAME15,reducer:reducer13});var selectIsActive=feature13.selectActive,{selectAuthorizedOn,selectAuthToken,selectCompany}=feature13;var AuthUserGuard=(()=>{class AuthUserGuard2{constructor(store,authGuard){this.store=store,this.authGuard=authGuard}canActivate(){return this.authGuard.canActivate().pipe(switchMap(()=>this.store.select(selectMyUser)),mergeMap(user=>this.hasRequiredUserFields(user)?of(!0):(this.store.dispatch(loadMe3()),EMPTY)),take(1))}hasRequiredUserFields(user){return user?hasFields(user,["publicId"]):!1}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AuthUserGuard2)(\u0275\u0275inject(Store),\u0275\u0275inject(AuthGuard))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AuthUserGuard2,factory:AuthUserGuard2.\u0275fac,providedIn:"root"})}}return AuthUserGuard2})();var APP_NAME=new InjectionToken("AppName",{providedIn:"root",factory:()=>environment.appName});var FEATURE_NAME17="agentAccessRequest";var AgentAccessRequestService=(()=>{class AgentAccessRequestService2{constructor(){this.api=inject(IxApiService),this.http=inject(HttpClient)}add(agentId,body){let url=this.api.url("AgentAccessRequestList",{agentId}),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context3,headers};return this.http.post(url,body,options)}approveByToken(token){let url=this.api.url("AgentAccessRequestApprove"),options={headers:this.api.headers.set("Authorization",`AccessRequest ${token}`)};return this.http.post(url,null,options)}getAll(agentId,fields,filters){return whileMoreAfter(moreAfter=>this.getList(agentId,fields,filters,moreAfter))}getInfoByToken(token){let url=this.api.url("AgentAccessRequestInfo"),options={headers:this.api.headers.set("Authorization",`AccessRequest ${token}`)};return this.http.get(url,options)}getList(agentId,fields,filters,pageAfter,pageSize){let url=this.api.url("AgentAccessRequestList",{agentId}),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,params=new HttpParams({fromObject:__spreadValues(__spreadValues({fields:fields.join(",")},filters?{filters}:{}),getPageParams(pageAfter,pageSize))}),options={context:context3,headers,params};return this.http.get(url,options)}rejectByToken(token){let url=this.api.url("AgentAccessRequestReject"),options={headers:this.api.headers.set("Authorization",`AccessRequest ${token}`)};return this.http.post(url,null,options)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AgentAccessRequestService2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AgentAccessRequestService2,factory:AgentAccessRequestService2.\u0275fac,providedIn:"root"})}}return AgentAccessRequestService2})();var AgentAccessRequestEffects=(()=>{class AgentAccessRequestEffects2{constructor(){this.actions$=inject(Actions),this.service=inject(AgentAccessRequestService),this.snackbar=inject(MatSnackBar),this.store=inject(Store),this.add$=createEffect(()=>this.actions$.pipe(ofType(add2),mergeMap(({agentId,data})=>this.service.add(agentId,data).pipe(map(({data:data2})=>addSuccess2({data:data2})),catchError(errorResponse=>of(addFailure2({errors:errorResponse.error?.data??[]}))))))),this.addFailure$=createEffect(()=>this.actions$.pipe(ofType(addFailure2),tap(error3=>{this.snackbar.open(error3.errors.map(e=>e.message).join(", "),void 0,{duration:4e3})})),{dispatch:!1})}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AgentAccessRequestEffects2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AgentAccessRequestEffects2,factory:AgentAccessRequestEffects2.\u0275fac,providedIn:"root"})}}return AgentAccessRequestEffects2})();function mapAgentToAgentAccessRequestList(agent){return mapResourceToSubResourceList(agent,"scheduledAccessRequests","agent","Agent")}var adapter15=createResourceAdapter(),initialState17=adapter15.getInitialState(),reducer14=createReducer(initialState17,on(didAdd2,addSuccess2,(state,{data})=>data?adapter15.upsertOne(data,state):state),on(didUpdate2,(state,{data,publicId})=>adapter15.updateOne({id:publicId,changes:data},state)),on(didRemove2,(state,{publicId})=>adapter15.removeOne(publicId,state)),on(didRemoveList2,(state,{publicIdList})=>adapter15.removeMany(publicIdList,state)),on(loadOneSuccess,(state,{data})=>data?.scheduledAccessRequests?adapter15.upsertMany(mapAgentToAgentAccessRequestList(data),state):state),on(loadAllSuccess2,loadAllActiveSuccess,(state,{data})=>data[0]?.scheduledAccessRequests?adapter15.upsertMany(flatMap_default(data.map(mapAgentToAgentAccessRequestList)),state):state),on(removeSuccess2,didRemove3,(state,{publicId})=>{let publicIdList=Object.keys(state.entities).reduce((ids,id)=>state.entities[id]?.agent?.publicId===publicId?[...ids,id]:ids,[]);return publicIdList.length?adapter15.removeMany(publicIdList,state):state})),feature14=createFeature({name:FEATURE_NAME17,reducer:reducer14});var AgentAccessRequestModule=(()=>{class AgentAccessRequestModule2{static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AgentAccessRequestModule2)}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:AgentAccessRequestModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({providers:[provideHttpClient(withFetch(),withInterceptorsFromDi())],imports:[IxApiModule,StoreModule.forFeature(feature14),EffectsModule.forFeature([AgentAccessRequestEffects])]})}}return AgentAccessRequestModule2})();var selectAll16=createSelector(feature14.selectAgentAccessRequestState,adapter15.getSelectors().selectAll);var{selectEntities:selectEntities16}=feature14;var FEATURE_NAME18="agentServer";var FEATURE_NAME19="agentDevice";var AgentDeviceService=(()=>{class AgentDeviceService2{constructor(){this.api=inject(IxApiService),this.http=inject(HttpClient)}add(agentId,body){let url=this.api.url("AgentDeviceList",{agentId}),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context3,headers};return this.http.post(url,body,options)}addList(agentId,body){let url=this.api.url("AgentDeviceList",{agentId}),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context3,headers};return this.http.post(url,body,options)}getAll(agentId,fields){return whileMoreAfter(moreAfter=>this.getList(agentId,fields,moreAfter))}getList(agentId,fields,pageAfter,pageSize){let url=this.api.url("AgentDeviceList",{agentId}),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,params=new HttpParams({fromObject:__spreadValues({fields:fields.join(",")},getPageParams(pageAfter,pageSize))}),options={context:context3,headers,params};return this.http.get(url,options)}getOrAddByAddress(agentId,targetAddress){return this.getAll(agentId,["customAddress","ipAddress","publicId"]).pipe(map(response=>response.data),map(devices=>devices.find(device=>targetAddress.type==="ipAddress"?device.ipAddress===targetAddress.value&&device.customAddress===null:targetAddress.type==="customAddress"?device.customAddress===targetAddress.value&&device.ipAddress===null:!1)),mergeMap(data=>{if(data)return of({data,status:"success",type:"AgentDevice"});{let address=targetAddress.type==="ipAddress"?{ipAddress:targetAddress.value}:{customAddress:targetAddress.value};return this.add(agentId,address).pipe(map(response=>({data:__spreadValues(__spreadValues({},response.data),address),status:"success",type:"AgentDevice"})))}}))}removeByPublicId(agentId,publicId){let url=this.api.url("AgentDevice",{agentId,publicId}),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context3,headers};return this.http.delete(url,options)}removeByPublicIdList(agentId,publicIdList){let url=this.api.url("AgentDeviceList",{agentId}),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,body=publicIdList.map(publicId=>({publicId})),options={context:context3,headers,body};return this.http.delete(url,options)}updateByPublicId(agentId,publicId,body){let url=this.api.url("AgentDevice",{agentId,publicId}),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context3,headers};return this.http.patch(url,body,options)}updateList(agentId,body){let url=this.api.url("AgentDeviceList",{agentId}),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context3,headers};return this.http.patch(url,body,options)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AgentDeviceService2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AgentDeviceService2,factory:AgentDeviceService2.\u0275fac,providedIn:"root"})}}return AgentDeviceService2})();function DialogAddMultipleErrorComponent_For_11_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"pre"),\u0275\u0275text(1),\u0275\u0275elementEnd()),rf&2){let error_r1=ctx.$implicit;\u0275\u0275advance(),\u0275\u0275textInterpolate3("row ",error_r1.listIndex,": ",error_r1.propertyName,": ",error_r1.message)}}var DialogAddMultipleErrorComponent=(()=>{class DialogAddMultipleErrorComponent3{constructor(){this.data=inject(MAT_DIALOG_DATA)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||DialogAddMultipleErrorComponent3)}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:DialogAddMultipleErrorComponent3,selectors:[["ix-dialog-add-multiple-error"]],standalone:!1,decls:12,vars:3,consts:[[1,"ix-dialog__header"],["mat-dialog-title","","translate",""],["fxFlex",""],["mat-icon-button","","mat-dialog-close","",3,"matTooltip"],["mat-dialog-content",""]],template:function(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"div",0)(1,"mat-toolbar")(2,"h1",1),\u0275\u0275text(3,"ERROR_DETECTED"),\u0275\u0275elementEnd(),\u0275\u0275element(4,"span",2),\u0275\u0275elementStart(5,"button",3),\u0275\u0275pipe(6,"translate"),\u0275\u0275elementStart(7,"mat-icon"),\u0275\u0275text(8,"close"),\u0275\u0275elementEnd()()()(),\u0275\u0275elementStart(9,"div",4),\u0275\u0275repeaterCreate(10,DialogAddMultipleErrorComponent_For_11_Template,2,3,"pre",null,\u0275\u0275repeaterTrackByIdentity),\u0275\u0275elementEnd()),rf&2&&(\u0275\u0275advance(5),\u0275\u0275property("matTooltip",\u0275\u0275pipeBind1(6,1,"CLOSE")),\u0275\u0275advance(5),\u0275\u0275repeater(ctx.data==null?null:ctx.data.errors))},dependencies:[DefaultFlexDirective,TranslateDirective,MatIconButton,MatDialogClose,MatDialogTitle,MatDialogContent,MatIcon,MatToolbar,MatTooltip,TranslatePipe],styles:["[_nghost-%COMP%]{width:100dvw;height:100dvh;display:flex;flex-direction:column;flex:1}@media(min-width:960px){[_nghost-%COMP%]{height:auto;width:auto;min-width:908px!important;max-width:908px!important}}[_nghost-%COMP%] .ix-dialog__header[_ngcontent-%COMP%]{padding:calc(env(safe-area-inset-top,0) + 16px) 24px 16px}[_nghost-%COMP%] .ix-dialog__header[_ngcontent-%COMP%] .mat-toolbar[_ngcontent-%COMP%]{height:48px;padding-left:0;padding-right:0}[_nghost-%COMP%] .ix-dialog__header[_ngcontent-%COMP%] .mat-toolbar[_ngcontent-%COMP%] .mdc-dialog__title[_ngcontent-%COMP%]{--mat-dialog-headline-padding: 0;color:inherit}[_nghost-%COMP%] .ix-dialog__header[_ngcontent-%COMP%] .mat-toolbar[_ngcontent-%COMP%] .mdc-dialog__title[_ngcontent-%COMP%]:before{display:none}[_nghost-%COMP%] .ix-dialog__header[_ngcontent-%COMP%] + .ix-dialog__content[_ngcontent-%COMP%], [_nghost-%COMP%] .ix-dialog__header[_ngcontent-%COMP%] + .mdc-dialog__content[_ngcontent-%COMP%]{padding-top:0}[_nghost-%COMP%] .mdc-dialog__title[_ngcontent-%COMP%]:before{height:calc(env(safe-area-inset-top,0) + 40px)}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%]{padding:20px 24px}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%], [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%]{flex-direction:column;box-sizing:border-box;display:flex;place-content:stretch flex-start;align-items:stretch;flex:1 1 auto;max-height:none;overflow:auto;-webkit-overflow-scrolling:touch}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%] > .ix-list[_ngcontent-%COMP%], [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%] > .ix-list[_ngcontent-%COMP%]{margin-left:-24px;margin-right:-24px}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%] > .mat-mdc-subheader[_ngcontent-%COMP%], [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%] > .mat-mdc-subheader[_ngcontent-%COMP%]{margin-left:0;margin-right:0}@media(min-width:960px){[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%], [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%]{max-height:calc(90dvh - 140px)}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%]:has(+.mdc-dialog__actions), [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%]:has(+.mdc-dialog__actions){padding-bottom:0}}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%] .mat-stepper-vertical[_ngcontent-%COMP%], [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%] .mat-stepper-vertical[_ngcontent-%COMP%]{--mat-stepper-header-height: 56px;margin-left:-16px;margin-right:-16px}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%] .mat-stepper-vertical[_ngcontent-%COMP%] .mat-vertical-content-container.mat-vertical-content-container-active, [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%] .mat-stepper-vertical[_ngcontent-%COMP%] .mat-vertical-content-container.mat-vertical-content-container-active{padding-top:16px}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%] .mat-stepper-vertical[_ngcontent-%COMP%] mat-step-header:focus, [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%] .mat-stepper-vertical[_ngcontent-%COMP%] mat-step-header:focus{background-color:transparent}@media(max-width:959.9px){[_nghost-%COMP%] .mdc-dialog__actions[_ngcontent-%COMP%]{border-top:1px solid rgba(0,0,0,.12);padding-bottom:calc(16px + env(safe-area-inset-bottom,0))}}[_nghost-%COMP%] form[_ngcontent-%COMP%]{flex-direction:column;box-sizing:border-box;display:flex;flex:1 1 auto;height:inherit}[_nghost-%COMP%] form[_ngcontent-%COMP%] .mat-mdc-form-field[_ngcontent-%COMP%]{margin-bottom:1rem}[_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%]{height:inherit}"]})}}return DialogAddMultipleErrorComponent3})();var DialogAddMultipleErrorModule=(()=>{class DialogAddMultipleErrorModule2{static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||DialogAddMultipleErrorModule2)}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:DialogAddMultipleErrorModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({imports:[SharedModule]})}}return DialogAddMultipleErrorModule2})();function mapAgentToAgentDeviceList(agentLike){return mapResourceToSubResourceList(agentLike,"devices","agent","AgentLike")}var adapter16=createEntityAdapter({selectId:device=>device.publicId,sortComparer:sortByNameAndPublicIdComparer}),initialState18=adapter16.getInitialState(),reducer15=createReducer(initialState18,on(reset8,()=>__spreadValues({},initialState18)),on(addSuccess6,didAdd8,(state,{data})=>adapter16.upsertOne(data,state)),on(addListSuccess2,didAddList3,(state,{data})=>adapter16.upsertMany(data,state)),on(updateSuccess5,didUpdate7,(state,{data,publicId})=>adapter16.updateOne({id:publicId,changes:data},state)),on(updateListSuccess,didUpdateList3,(state,{data})=>adapter16.updateMany(data.map(device=>({id:device.publicId,changes:device})),state)),on(removeSuccess6,didRemove8,(state,{publicId})=>adapter16.removeOne(publicId,state)),on(removeListSuccess2,didRemoveList4,(state,{publicIdList})=>adapter16.removeMany(publicIdList,state)),on(loadOneSuccess,loadOneSuccess3,(state,{data})=>data.devices?adapter16.upsertMany(mapAgentToAgentDeviceList(data),state):state),on(loadAllSuccess2,loadAllActiveSuccess,loadAllSuccess8,(state,{data})=>data[0]?.devices?adapter16.upsertMany(uniqBy_default(flatMap_default(data.map(mapAgentToAgentDeviceList)),device=>device.publicId),state):state),on(didRemove3,removeSuccess2,didRemove15,removeSuccess12,(state,{publicId})=>{let publicIdList=Object.keys(state.entities).reduce((ids,id)=>state.entities[id]?.agent?.publicId===publicId?[...ids,id]:ids,[]);return publicIdList.length?adapter16.removeMany(publicIdList,state):state}),on(addSuccess5,updateSuccess4,(state,{device})=>adapter16.upsertOne(device,state)),on(addSuccess8,updateSuccess8,(state,{device})=>adapter16.upsertOne(device,state))),feature15=createFeature({name:FEATURE_NAME19,reducer:reducer15});function mapAgentToAgentServerList(agentLike){return mapResourceToSubResourceList(agentLike,"servers","agent","AgentLike")}var REDUCER_TOKEN4=new InjectionToken("agentServerReducer"),adapter17=createResourceAdapter({sortComparer:sortByNameAndPublicIdComparer,translationPaths:["name","serviceGroup"]}),initialState19=adapter17.getInitialState({nameTranslationKeys:{},serviceGroupTranslationKeys:{}});function reducerFactory4(translate){return adapter17.useTranslateService(translate),createReducer(initialState19,on(addSuccess8,didAdd11,(state,{data})=>data?adapter17.upsertOne(data,state):state),on(updateSuccess8,didUpdate10,updateWithoutDeviceSuccess,(state,{data,publicId})=>data?adapter17.updateOne({id:publicId,changes:data},state):state),on(shouldRemove2,removeSuccess8,didRemove11,(state,{publicId})=>adapter17.removeOne(publicId,state)),on(invalidateTranslations,state=>adapter17.retranslate(state)),on(reset11,()=>__spreadValues({},initialState19)),on(didAdd3,loadOneSuccess,loadOneSuccess3,(state,{data})=>data?.servers?adapter17.upsertMany(mapAgentToAgentServerList(data),state):state),on(loadAllSuccess2,loadAllActiveSuccess,loadAllSuccess8,(state,{data})=>data[0]?.servers?adapter17.upsertMany(flatMap_default(data.map(mapAgentToAgentServerList)),state):state),on(removeSuccess2,didRemove3,removeSuccess12,didRemove15,(state,{publicId})=>{let publicIdList=Object.keys(state.entities).reduce((ids,id)=>state.entities[id]?.agent?.publicId===publicId?[...ids,id]:ids,[]);return publicIdList.length?adapter17.removeMany(publicIdList,state):state}))}var selectFeatureState5=createFeatureSelector(FEATURE_NAME18),selectors5=adapter17.getSelectors(),selectAll17=createSelector(selectFeatureState5,selectors5.selectAll),selectEntities17=createSelector(selectFeatureState5,selectors5.selectEntities),selectEntity8=publicId=>createSelector(selectEntities17,entities=>entities?.[publicId]||null);var AgentServerService=(()=>{class AgentServerService2{constructor(){this.api=inject(IxApiService),this.http=inject(HttpClient)}add(agentId,body){let url=this.api.url("AgentServerList",{agentId}),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context3,headers};return this.http.post(url,body,options)}getAll(agentId,fields){return whileMoreAfter(moreAfter=>this.getList(agentId,fields,moreAfter))}getByPublicId(agentId,publicId,fields){let url=this.api.url("AgentServer",{agentId,publicId}),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,params=new HttpParams({fromObject:{fields:fields.join(",")}}),options={context:context3,headers,params};return this.http.get(url,options)}getList(agentId,fields,pageAfter,pageSize){let url=this.api.url("AgentServerList",{agentId}),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,params=new HttpParams({fromObject:__spreadValues({fields:fields.join(",")},getPageParams(pageAfter,pageSize))}),options={context:context3,headers,params};return this.http.get(url,options)}removeByPublicId(agentId,publicId){let url=this.api.url("AgentServer",{agentId,publicId}),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context3,headers};return this.http.delete(url,options)}updateByPublicId(agentId,publicId,body){let url=this.api.url("AgentServer",{agentId,publicId}),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context3,headers};return this.http.patch(url,body,options)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AgentServerService2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AgentServerService2,factory:AgentServerService2.\u0275fac,providedIn:"root"})}}return AgentServerService2})();var AgentServerEffects=(()=>{class AgentServerEffects2{constructor(){this.actions$=inject(Actions),this.store=inject(Store),this.snackBar=inject(MatSnackBar),this.translate=inject(TranslateService),this.service=inject(AgentServerService),this.agentDeviceService=inject(AgentDeviceService),this.add$=createEffect(()=>this.actions$.pipe(ofType(add8),mergeMap(({agentId,address,data})=>this.agentDeviceService.getOrAddByAddress(agentId,address).pipe(mergeMap(response=>{let device=__spreadValues(__spreadValues({},address.type==="ipAddress"?{ipAddress:address.value}:{customAddress:address.value}),response.data);return this.service.add(agentId,__spreadProps(__spreadValues({},data),{device:{publicId:device.publicId}})).pipe(map(_response=>[device,_response.data]))}),map(([device,server])=>addSuccess8({agentId,data:__spreadValues(__spreadProps(__spreadValues({},data),{agent:{publicId:agentId,reference:{name:"AgentLike"}},device:{publicId:device.publicId,reference:{name:"AgentDevice"}}}),server),device,publicId:server.publicId})),catchError(errorResponse=>of(addFailure8({errors:errorResponse.error?.data??[]}))))))),this.addFailure$=createEffect(()=>this.actions$.pipe(ofType(addFailure8),tap(({errors:errors2})=>{if(errors2.some(error3=>error3.message==="A LAN configuration is required")){let message=this.translate.instant("__MESSAGE__.LAN_CONFIGURATION_REQUIRED");this.snackBar.open(message,void 0,{duration:4e3})}})),{dispatch:!1}),this.remove$=createEffect(()=>this.actions$.pipe(ofType(remove8),concatLatestFrom(({publicId})=>this.store.select(selectEntity8(publicId))),mergeMap(([{agentId,publicId},server])=>this.service.removeByPublicId(agentId,publicId).pipe(map(()=>removeSuccess8(__spreadValues({agentId,publicId},server?.name?{name:server.name}:{}))),catchError(errorResponse=>of(removeFailure8({errors:errorResponse.error?.data??[]}))))))),this.update$=createEffect(()=>this.actions$.pipe(ofType(update8),mergeMap(({agentId,publicId,address,data})=>this.agentDeviceService.getOrAddByAddress(agentId,address).pipe(mergeMap(response=>{let device=__spreadValues(__spreadValues({},address.type==="ipAddress"?{ipAddress:address.value}:{customAddress:address.value}),response.data);return this.service.updateByPublicId(agentId,publicId,__spreadProps(__spreadValues({},data),{device:{publicId:device.publicId}})).pipe(map(()=>device))}),map(device=>updateSuccess8({data:__spreadProps(__spreadValues({},data),{agent:{publicId:agentId,reference:{name:"AgentLike"}},device:{publicId:device.publicId,reference:{name:"AgentDevice"}},publicId}),device,publicId})),catchError(errorResponse=>of(updateFailure8({errors:errorResponse.error?.data??[]}))))))),this.updateWithoutDevice$=createEffect(()=>this.actions$.pipe(ofType(updateWithoutDevice),mergeMap(({agentId,publicId,data})=>this.service.updateByPublicId(agentId,publicId,data).pipe(map(()=>updateWithoutDeviceSuccess({data:__spreadProps(__spreadValues({},data),{agent:{publicId:agentId,reference:{name:"AgentLike"}},publicId}),publicId})),catchError(errorResponse=>of(updateWithoutDeviceFailure({errors:errorResponse.error?.data??[]})))))))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AgentServerEffects2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AgentServerEffects2,factory:AgentServerEffects2.\u0275fac,providedIn:"root"})}}return AgentServerEffects2})();var AgentServerModule=(()=>{class AgentServerModule2{static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AgentServerModule2)}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:AgentServerModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({providers:[{provide:REDUCER_TOKEN4,useFactory:reducerFactory4,deps:[TranslateService]},provideHttpClient(withFetch(),withInterceptorsFromDi())],imports:[TranslateModule,IxApiModule,StoreModule.forFeature(FEATURE_NAME18,REDUCER_TOKEN4),EffectsModule.forFeature([AgentServerEffects])]})}}return AgentServerModule2})();var FEATURE_NAME20="asset",ASSET_FIELDS=buildFields(`
|
|
263
|
+
`);var sortBy=naturalSort();function sortByName(a,b){return sortBy(a.name,b.name)}var didAdd29=createAction("[ChangeNotification] AcceptedTermsOfUsePolicy Was Added",props());var adapter11=createResourceAdapter({sortComparer:sortByName,subresourcePaths:SUBRESOURCE_PATHS6,mergeFn:updateResource}),initialState12=adapter11.getInitialState({allServiceAccountsLoaded:!1,allServiceAccountsLoading:!1,me:null}),reducer10=createReducer(initialState12,on(reset26,()=>__spreadValues({},initialState12)),on(resetList,state=>__spreadProps(__spreadValues({},state),{allLoading:initialState12.allLoading,allLoaded:initialState12.allLoaded,entities:initialState12.entities,ids:initialState12.ids})),on(didAdd26,(state,{data})=>data?adapter11.addOne(data,state):state),on(loadAll16,state=>__spreadProps(__spreadValues({},state),{allLoading:!0,allServiceAccountsLoading:!0})),on(loadAllFailure16,state=>__spreadProps(__spreadValues({},state),{allLoading:!1,allServiceAccountsLoading:!1})),on(loadAllSuccess17,(state,{data})=>adapter11.upsertMany(data,__spreadProps(__spreadValues({},state),{allLoading:!1,allLoaded:!0,allServiceAccountsLoading:!1,allServiceAccountsLoaded:!0}))),on(loadAllServiceAccounts,state=>__spreadProps(__spreadValues({},state),{allServiceAccountsLoading:!0})),on(loadAllServiceAccountsFailure,state=>__spreadProps(__spreadValues({},state),{allServiceAccountsLoading:!1})),on(loadAllServiceAccountsSuccess,(state,{data})=>adapter11.upsertMany(data,__spreadProps(__spreadValues({},state),{allServiceAccountsLoading:!1,allServiceAccountsLoaded:!0}))),on(loadMeSuccess3,loginLoadMeSuccess,(state,{data})=>__spreadProps(__spreadValues({},state),{me:data})),on(loadDetailsSuccess3,(state,{data})=>adapter11.upsertOne(data,state)),on(didUpdate25,(state,{data,publicId})=>data?adapter11.updateOne({id:publicId,changes:data},state):state),on(shouldUpdateMe2,updateMeSuccess2,didUpdateMe2,(state,{data})=>__spreadProps(__spreadValues({},state),{me:updateResource(state.me,omitSubresources(data,SUBRESOURCE_PATHS6))})),on(removeSuccess21,didRemove26,(state,{publicId})=>adapter11.removeOne(publicId,state)),on(removeMeSuccess,state=>__spreadProps(__spreadValues({},state),{me:null})),on(didAdd29,(state,{data})=>{let acceptedTermsOfUsePolicies=state.me?.acceptedTermsOfUsePolicies?.some(a=>a.publicId===data?.publicId)?state.me?.acceptedTermsOfUsePolicies:[...state.me?.acceptedTermsOfUsePolicies||[],data];return __spreadProps(__spreadValues({},state),{me:updateResource(state.me,omitSubresources({acceptedTermsOfUsePolicies},SUBRESOURCE_PATHS6))})}),on(loadOneSuccess,didUpdate3,(state,{data})=>data?.connectedUsers?adapter11.upsertMany(data.connectedUsers,state):state),on(loadAllSuccess2,loadAllActiveSuccess,(state,{data})=>data[0]?.connectedUsers?adapter11.upsertMany(flatMap_default(data.map(agent=>agent.connectedUsers||[])),state):state),on(didAdd6,(state,{data})=>adapter11.upsertOne(data,state)),on(didAdd28,(state,{data})=>{let entity2=data.user?state.entities[data.user.publicId]:void 0;if(entity2?.memberships&&!entity2.memberships.some(m=>m.publicId===data.publicId)){let memberships=[...entity2.memberships,{publicId:data.publicId}],update56={id:entity2.publicId,changes:{memberships}};return adapter11.updateOne(update56,state)}return state}),on(didRemove28,(state,{publicId})=>{let updates=Object.values(state.entities).reduce((acc,entity2)=>{let membershipIdList=entity2.memberships?.map(m=>m.publicId)||[];if(entity2.memberships&&membershipIdList.includes(publicId)){let memberships=entity2.memberships.filter(m=>m.publicId!==publicId);return[...acc,{id:entity2.publicId,changes:{memberships}}]}return acc},[]);return updates.length?adapter11.updateMany(updates,state):state}),on(addListSuccess5,(state,{data})=>{let updates=data.reduce((acc,membership)=>{let entity2=membership.user?state.entities[membership.user.publicId]:void 0;if(entity2?.memberships){if(acc.some(update56=>update56.id===entity2.publicId))return acc.map(update56=>{if(update56.id===entity2.publicId&&update56.changes.memberships){let memberships=[...update56.changes.memberships,{publicId:membership.publicId}];return __spreadProps(__spreadValues({},update56),{changes:{memberships}})}return update56});{let memberships=[...entity2.memberships.filter(m=>m.publicId!==membership.publicId)||[],{publicId:membership.publicId}],update56={id:entity2.publicId,changes:{memberships}};return[...acc,update56]}}return acc},[]);return updates.length?adapter11.updateMany(updates,state):state}),on(removeListSuccess4,(state,{publicIdList})=>{let updates=Object.values(state.entities).reduce((acc,user)=>{let membershipIdList=user.memberships?.map(m=>m.publicId)||[];if(user.memberships&&membershipIdList.some(id=>publicIdList.includes(id))){let memberships=user.memberships.filter(m=>!publicIdList.includes(m.publicId));return[...acc,{id:user.publicId,changes:{memberships}}]}return acc},[]);return updates.length?adapter11.updateMany(updates,state):state}),on(updateListSuccess3,(state,{data})=>{let updates=data.reduce((acc,membership)=>{let entity2=membership.user?state.entities[membership.user.publicId]:void 0;if(entity2?.memberships){if(acc.some(update56=>update56.id===entity2.publicId))return acc.map(update56=>{if(update56.id===entity2.publicId&&update56.changes.memberships){let memberships=update56.changes.memberships.map(m=>m.publicId===membership.publicId?__spreadValues(__spreadValues({},m),membership):m),changes=__spreadProps(__spreadValues({},update56.changes),{memberships});return __spreadProps(__spreadValues({},update56),{changes})}return update56});{let memberships=entity2.memberships.map(m=>m.publicId===membership.publicId?__spreadValues(__spreadValues({},m),membership):m);return[...acc,{id:entity2.publicId,changes:{memberships}}]}}return acc},[]);return updates.length?adapter11.updateMany(updates,state):state}),on(updateUserSuccess,(state,{userId,data})=>adapter11.updateOne({id:userId,changes:{memberships:data}},state))),feature10=createFeature({name:FEATURE_NAME12,reducer:reducer10});var selectAll12=createSelector(feature10.selectUserState,adapter11.getSelectors().selectAll),selectAllPersons=createSelector(selectAll12,users=>users.filter(user=>user.type==="person")),selectAllServiceAccounts=createSelector(selectAll12,users=>users.filter(user=>user.type==="service_account")),selectAllAccessiblePersons=createSelector(selectAllPersons,users=>users.filter(user=>!!user.emailAddress)),selectEntity5=publicId=>createSelector(feature10.selectEntities,entities=>entities[publicId]),selectMyId2=createSelector(feature10.selectMe,myUser=>myUser?.publicId||null),{selectAllLoading:selectAllLoading10,selectAllLoaded:selectAllLoaded10,selectAllServiceAccountsLoading,selectAllServiceAccountsLoaded,selectEntities:selectEntities13,selectMe:selectMe3}=feature10;function isRoleWithPermissions(...permissions){return role=>permissions.every(p=>role.permissions?.some(({publicId})=>publicId===p))}function isRoleWithSomePermissions(...permissions){return role=>permissions.some(p=>role.permissions?.some(({publicId})=>publicId===p))}var isAdminRole=isRoleWithPermissions("COMPANY_ADMIN"),isCompanyWideManageAgentRole=isRoleWithPermissions("COMPANY_WIDE_ROLE","MANAGE_AGENT"),isCompanyWideManageAgentTemplateRole=isRoleWithPermissions("COMPANY_WIDE_ROLE","MANAGE_AGENT_TEMPLATE"),isCompanyWideManagePageRole=isRoleWithPermissions("COMPANY_WIDE_ROLE","MANAGE_PAGE"),isCompanyWideRole=isRoleWithSomePermissions("COMPANY_ADMIN","COMPANY_WIDE_ROLE");function featureCheck(featureName,fallbackValue){let store=inject(Store);return mergeMap(source=>store.select(state=>featureName in state).pipe(take(1),mergeMap(exists=>exists?of(source):fallbackValue!==void 0?of(fallbackValue):EMPTY)))}function userHasPermissionInGroup(permission,memberships,roles){return group=>memberships.some(membership=>{if(!membership.role?.publicId||membership.group?.publicId!==group.publicId)return!1;let role=roles.find(({publicId})=>publicId===membership.role?.publicId);return role?.permissions?isRoleWithPermissions(permission)(role):!1})}function userHasManageAgentInGroup(memberships,roles){return userHasPermissionInGroup("MANAGE_AGENT",memberships,roles)}function userHasManagePageInGroup(memberships,roles){return userHasPermissionInGroup("MANAGE_PAGE",memberships,roles)}var selectAgentLikeEntity=publicId=>createSelector(selectEntities3,selectEntities5,(agents,templates)=>publicId&&(agents[publicId]||templates[publicId])||null);var selectMyBackendComponentTemplates=createSelector(selectAll5,selectMyId,(templates,myCompanyId)=>templates.filter(template=>template.company?.publicId===myCompanyId)),selectMyCompany=selectMe,selectMyCompanyId=selectMyId,selectMyCompanyWithFields=createResourceSelectorFactory(selectMyCompany),selectMyPageComponentTemplates=createSelector(selectAll,selectMyId,(templates,myCompanyId)=>templates.filter(template=>template.company?.publicId===myCompanyId)),selectMySector=selectMe2;var selectMyUser=selectMe3,selectMyUserId=selectMyId2,selectMyUserMemberships=createSelector(selectMyUserId,selectAll11,(myUserId,userMemberships)=>myUserId?userMemberships.filter(membership=>membership.user?.publicId===myUserId):[]),selectMyUserMembershipRoles=createSelector(selectMyUserMemberships,selectEntities8,(myUserMemberships,roles)=>compact_default(uniq_default(compact_default(myUserMemberships.map(membership=>membership.role?.publicId))).map(roleId=>roles[roleId]))),selectMyUserMembershipRoleAudiences=createSelector(selectMyUserMembershipRoles,roles=>uniqBy_default(compact_default(flatten_default(roles.map(role=>role.audiences))),audience=>audience.publicId)),selectMyUserMembershipRolePermissions=createSelector(selectMyUserMembershipRoles,roles=>uniqBy_default(compact_default(flatten_default(roles.map(role=>role.permissions))),permission=>permission.publicId)),selectGroupsWithManageAgent=createSelector(selectAll8,selectFeatureState2,selectMyUserMemberships,selectMyUserMembershipRoles,selectMyUser,(groups,groupState,myMemberships,myRoles,myUser)=>{if(myUser?.support||myRoles.some(isAdminRole)||myRoles.some(isCompanyWideManageAgentRole))return groups;let groupsWithManageAgent=groups.filter(userHasManageAgentInGroup(myMemberships,myRoles));return uniqBy_default(flatten_default(groupsWithManageAgent.map(group=>getGroupTree(group,groupState))),group=>group.publicId)}),selectGroupsWithManageAgentTemplate=createSelector(selectAll8,selectFeatureState2,selectMyUserMemberships,selectMyUserMembershipRoles,selectMyUser,(groups,groupState,myMemberships,myRoles,myUser)=>{if(myUser?.support||myRoles.some(isAdminRole)||myRoles.some(isCompanyWideManageAgentTemplateRole))return groups;let groupsWithManageAgentTemplate=groups.filter(userHasPermissionInGroup("MANAGE_AGENT_TEMPLATE",myMemberships,myRoles));return uniqBy_default(flatten_default(groupsWithManageAgentTemplate.map(group=>getGroupTree(group,groupState))),group=>group.publicId)}),selectGroupsWithManagePage=createSelector(selectAll8,selectFeatureState2,selectMyUserMemberships,selectMyUserMembershipRoles,selectMyUser,selectEntities10,(groups,groupState,myMemberships,myRoles,myUser,groupTypeEntities)=>{let groupsWithTypes=groups.map(group=>group.type&&group.type.publicId&&groupTypeEntities[group.type.publicId]!==void 0?__spreadProps(__spreadValues({},group),{type:group.type?{publicId:group.type?.publicId,name:groupTypeEntities[group.type.publicId].name}:null}):group);if(myUser?.support||myRoles.some(isAdminRole)||myRoles.some(isCompanyWideManagePageRole))return groupsWithTypes;let groupsWithManagePage=groupsWithTypes.filter(userHasManagePageInGroup(myMemberships,myRoles));return uniqBy_default(flatten_default(groupsWithManagePage.map(group=>getGroupTree(group,groupState))),group=>group.publicId)}),selectAllManageablePages=createSelector(selectAll10,selectAll8,selectFeatureState2,selectMyUserMemberships,selectMyUserMembershipRoles,selectMyUser,(pages,groups,groupState,myMemberships,myRoles,myUser)=>{if(myUser?.support||myRoles.some(isAdminRole)||myRoles.some(isRoleWithPermissions("COMPANY_WIDE_ROLE","MANAGE_PAGE")))return pages;if(groups.length===0||pages.length===0)return[];let manageableGroupIds=new Set;for(let group of groups)if(userHasManagePageInGroup(myMemberships,myRoles)(group)){let groupTree=getGroupTree(group,groupState);for(let descendantGroup of groupTree)manageableGroupIds.add(descendantGroup.publicId)}return pages.filter(page=>!page.static&&page.group?.publicId&&manageableGroupIds.has(page.group.publicId))}),selectAllManageablePagesWithFields=createResourceSelectorFactory(selectAllManageablePages,SUBRESOURCE_PATH_TO_FEATURE_NAME2),selectGroupEntitiesWithCompanyName=createSelector(selectFeatureState2,selectMyCompany,({companyGroupId,entities},myCompany)=>{if(companyGroupId){let companyGroup=entities[companyGroupId];if(companyGroup)return __spreadProps(__spreadValues({},entities),{[companyGroupId]:replaceCompanyGroupName(companyGroup,myCompany)})}return entities});var FEATURE_NAME13="pageVersion",DEFAULT_PERIOD_SPEC="today";var SUBRESOURCE_PATH_TO_FEATURE_NAME7=new Map([["components[]","pageComponent"],["pagePages[]","pagePage"]]),SUBRESOURCE_PATHS7=[...SUBRESOURCE_PATH_TO_FEATURE_NAME7.keys()];var add21=createAction("[App] Add PagePage",props()),addFailure21=createAction("[IxApi] Add PagePage Failure",props()),addSuccess21=createAction("[IxApi] Add PagePage Success",props()),didAdd30=createAction("[ChangeNotification] PagePage Was Added",props()),didRemove29=createAction("[ChangeNotification] PagePage Was Removed",props()),didUpdate28=createAction("[ChangeNotification] PagePage Was Updated",props()),ensureAll19=createAction("[App] Ensure All PagePages",props()),loadAll18=createAction("[App] Load All PagePages",props()),loadAllFailure18=createAction("[IxApi] Load All PagePages Failure",props()),loadAllSuccess19=createAction("[IxApi] Load All PagePages Success",props()),loadDetails5=createAction("[App] Load PagePage Details",props()),loadDetailsFailure5=createAction("[IxApi] Load PagePage Details Failure",props()),loadDetailsSuccess5=createAction("[IxApi] Load PagePage Details Success",props()),remove23=createAction("[App] Remove PagePage",props()),removeFailure23=createAction("[IxApi] Remove PagePage Failure",props()),removeSuccess23=createAction("[IxApi] Remove PagePage Success",props()),reset29=createAction("[App] Reset PagePage State");var adapter12=createResourceAdapter({mergeFn:updateResource,subresourcePaths:SUBRESOURCE_PATHS7,translationPaths:["title"]}),initialState13=__spreadProps(__spreadValues({},adapter12.getInitialState()),{titleTranslationKeys:{}}),REDUCER_TOKEN3=new InjectionToken(`${FEATURE_NAME13}Reducer`);function reducerFactory3(translate){return adapter12.useTranslateService(translate),createReducer(initialState13,on(reset24,()=>__spreadValues({},initialState13)),on(invalidateTranslations5,state=>adapter12.retranslate(state)),on(addSuccess19,didAdd24,loadDetailsSuccess2,(state,{data})=>adapter12.upsertOne(data,state)),on(didRemove24,(state,{publicId})=>adapter12.removeOne(publicId,state)),on(updateSuccess18,didUpdate23,(state,{data,publicId})=>adapter12.updateOne({id:publicId,changes:data},state)),on(removeSuccess2,didRemove3,(state,{publicId})=>adapter12.map(version2=>version2.previewAgent?.publicId===publicId?__spreadProps(__spreadValues({},version2),{previewAgent:null}):version2,state)),on(didAdd22,didUpdate21,(state,{data})=>{let versions=[...data.page?.published?[data.page.published]:[],...data.page?.draft?[data.page.draft]:[]];return adapter12.upsertMany(versions,state)}),on(loadAllSuccess14,(state,{data})=>{let versions=data.reduce((acc,item)=>[...acc,...item.page?.published?[item.page.published]:[],...item.page?.draft?[item.page.draft]:[]],[]);return adapter12.upsertMany(versions,state)}),on(removeSuccess19,didRemove23,(state,{publicId})=>{let versionIds=Object.keys(state.entities).filter(id=>state.entities[id]?.page?.publicId===publicId);return versionIds.length?adapter12.removeMany(versionIds,state):state}),on(publishSuccess,(state,{data})=>data.removed?adapter12.removeOne(data.removed.publicId,state):state),on(loadDetailsSuccess,ensureDraftSuccess,duplicateSuccess,(state,{data})=>{let versions=[...data.draft?[data.draft]:[],...data.published?[data.published]:[]];return adapter12.upsertMany(versions,state)}),on(loadAllSuccess15,loadListForAgentSuccess,loadListForAssetSuccess,reloadListForAgentSuccess,reloadListForAssetSuccess,(state,{data})=>{let versions=data.reduce((acc,page)=>[...acc,...page.draft?[page.draft]:[],...page.published?[page.published]:[]],[]);return adapter12.upsertMany(versions,state)}),on(addSuccess,didAdd,(state,{data})=>{let versionId=data.pageVersion?.publicId;return versionId?adapter12.mutate(versionId,"components",state).upsertOne(data.publicId):state}),on(didAddList,(state,{data})=>data.reduce((s2,c)=>{let versionId=c.pageVersion?.publicId;return versionId?adapter12.mutate(versionId,"components",s2).upsertOne(c.publicId):s2},state)),on(removeSuccess,didRemove,(state,{publicId})=>{let versionId=Object.keys(state.entities).find(id=>state.entities[id]?.components?.some(component=>component.publicId===publicId));return versionId?adapter12.mutate(versionId,"components",state).removeOne(publicId):state}),on(didRemoveList,(state,{publicIdList})=>publicIdList.reduce((s2,publicId)=>{let versionId=Object.keys(s2.entities).find(id=>s2.entities[id]?.components?.some(component=>component.publicId===publicId));return versionId?adapter12.mutate(versionId,"components",s2).removeOne(publicId):s2},state)),on(addSuccess21,didAdd30,(state,{data})=>{let versionId=data.pageVersion?.publicId;return versionId?adapter12.mutate(versionId,"pagePages",state).upsertOne(data.publicId):state}),on(removeSuccess23,didRemove29,(state,{publicId})=>{let versionId=Object.keys(state.entities).find(id=>state.entities[id]?.pagePages?.some(page=>page.publicId===publicId));return versionId?adapter12.mutate(versionId,"pagePages",state).removeOne(publicId):state}))}var selectFeatureState4=createFeatureSelector(FEATURE_NAME13),selectors4=adapter12.getSelectors(),selectEntities14=createSelector(selectFeatureState4,selectors4.selectEntities),selectEntity6=publicId=>createSelector(selectEntities14,entities=>publicId&&entities[publicId]||null),selectEntityWithFields3=publicId=>createResourceSelectorFactory(selectEntity6(publicId),SUBRESOURCE_PATH_TO_FEATURE_NAME7),selectTitleTranslationKey=publicId=>createSelector(selectFeatureState4,state=>state.titleTranslationKeys[publicId]);var ObjectStorageClientProxyEventType=(function(ObjectStorageClientProxyEventType2){return ObjectStorageClientProxyEventType2.GetBlob="ayayot.objectstorage.get-blob",ObjectStorageClientProxyEventType2.GetBlobResult="ayayot.objectstorage.get-blob-result",ObjectStorageClientProxyEventType2.GetList="ayayot.objectstorage.get-list",ObjectStorageClientProxyEventType2.GetListResult="ayayot.objectstorage.get-list-result",ObjectStorageClientProxyEventType2.Delete="ayayot.objectstorage.delete",ObjectStorageClientProxyEventType2.DeleteResult="ayayot.objectstorage.delete-result",ObjectStorageClientProxyEventType2.Store="ayayot.objectstorage.store",ObjectStorageClientProxyEventType2.StoreResult="ayayot.objectstorage.store-result",ObjectStorageClientProxyEventType2.Update="ayayot.objectstorage.update",ObjectStorageClientProxyEventType2.UpdateResult="ayayot.objectstorage.update-result",ObjectStorageClientProxyEventType2.Error="ayayot.objectstorage.error",ObjectStorageClientProxyEventType2})(ObjectStorageClientProxyEventType||{});var ObjectStorageProxyService=(()=>{class ObjectStorageProxyService2{constructor(window2){this.window=window2}onGetBlob(scope){return fromEvent(this.window,ObjectStorageClientProxyEventType.GetBlob).pipe(filter(event2=>scope===event2.detail.scope))}onGetList(scope){return fromEvent(this.window,ObjectStorageClientProxyEventType.GetList).pipe(filter(event2=>scope===event2.detail.scope))}onDelete(scope){return fromEvent(this.window,ObjectStorageClientProxyEventType.Delete).pipe(filter(event2=>scope===event2.detail.scope))}onStore(scope){return fromEvent(this.window,ObjectStorageClientProxyEventType.Store).pipe(filter(event2=>scope===event2.detail.scope))}onUpdate(scope){return fromEvent(this.window,ObjectStorageClientProxyEventType.Update).pipe(filter(event2=>scope===event2.detail.scope))}emitResult(result,eventType,clientRef,scope){let detail={clientRef,result,scope},event2=new CustomEvent(eventType,{detail});this.window.dispatchEvent(event2)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||ObjectStorageProxyService2)(\u0275\u0275inject(WINDOW))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:ObjectStorageProxyService2,factory:ObjectStorageProxyService2.\u0275fac,providedIn:"root"})}}return ObjectStorageProxyService2})();function*clientRefGenerator(namespace,id,scope){let uid=0;for(;;)yield`yot:${namespace}.${scope?scope+".":""}${id}.c${uid++}`}var ObjectStorageClient=class{constructor(id,scope,componentId,abortController=new AbortController){this.id=id,this.scope=scope,this.componentId=componentId,this.abortController=abortController,this._clientRef=clientRefGenerator("osc",this.id,this.scope),this._resolvers=new Map,window.addEventListener(ObjectStorageClientProxyEventType.GetBlobResult,this,{capture:!0}),window.addEventListener(ObjectStorageClientProxyEventType.DeleteResult,this,{capture:!0}),window.addEventListener(ObjectStorageClientProxyEventType.StoreResult,this,{capture:!0}),window.addEventListener(ObjectStorageClientProxyEventType.GetListResult,this,{capture:!0}),window.addEventListener(ObjectStorageClientProxyEventType.UpdateResult,this,{capture:!0}),window.addEventListener(ObjectStorageClientProxyEventType.Error,this,{capture:!0})}_destroy(){this.abortController.abort(),window.removeEventListener(ObjectStorageClientProxyEventType.GetBlobResult,this,{capture:!0}),window.removeEventListener(ObjectStorageClientProxyEventType.DeleteResult,this,{capture:!0}),window.removeEventListener(ObjectStorageClientProxyEventType.StoreResult,this,{capture:!0}),window.removeEventListener(ObjectStorageClientProxyEventType.GetListResult,this,{capture:!0}),window.removeEventListener(ObjectStorageClientProxyEventType.UpdateResult,this,{capture:!0}),window.removeEventListener(ObjectStorageClientProxyEventType.Error,this,{capture:!0});for(let resolver of this._resolvers.values())resolver.reject(new Error("client destroyed"))}destroy(){this._destroy()}getBlob(objectMeta,options={}){return options.abortSignal||(options.abortSignal=this.abortController.signal),new Promise((resolve,reject2)=>{let clientRef=this._clientRef.next().value;this._resolvers.set(clientRef,{resolve,reject:reject2});let event2=new CustomEvent(ObjectStorageClientProxyEventType.GetBlob,{detail:{clientRef,scope:this.scope,objectMeta,options,pageComponentId:this.componentId}});window.dispatchEvent(event2)})}delete(objectMeta,options){return new Promise((resolve,reject2)=>{let clientRef=this._clientRef.next().value;this._resolvers.set(clientRef,{resolve,reject:reject2});let event2=new CustomEvent(ObjectStorageClientProxyEventType.Delete,{detail:{clientRef,scope:this.scope,objectMeta,options,pageComponentId:this.componentId}});window.dispatchEvent(event2)})}getList(options){return new Promise((resolve,reject2)=>{let clientRef=this._clientRef.next().value;this._resolvers.set(clientRef,{resolve,reject:reject2});let event2=new CustomEvent(ObjectStorageClientProxyEventType.GetList,{detail:{clientRef,scope:this.scope,options,pageComponentId:this.componentId}});window.dispatchEvent(event2)})}store(object,options){return new Promise((resolve,reject2)=>{let clientRef=this._clientRef.next().value;this._resolvers.set(clientRef,{resolve,reject:reject2});let event2=new CustomEvent(ObjectStorageClientProxyEventType.Store,{detail:{clientRef,scope:this.scope,object,options,pageComponentId:this.componentId}});window.dispatchEvent(event2)})}update(objectMeta,options){return new Promise((resolve,reject2)=>{let clientRef=this._clientRef.next().value;this._resolvers.set(clientRef,{resolve,reject:reject2});let event2=new CustomEvent(ObjectStorageClientProxyEventType.Update,{detail:{clientRef,scope:this.scope,objectMeta,options,pageComponentId:this.componentId}});window.dispatchEvent(event2)})}handleEvent(event2){if(event2.detail.scope===this.scope){let ref=this._resolvers.get(event2.detail.clientRef);if(ref){switch(event2.type){case ObjectStorageClientProxyEventType.GetBlobResult:case ObjectStorageClientProxyEventType.GetListResult:case ObjectStorageClientProxyEventType.StoreResult:ref.resolve(event2.detail.result);break;case ObjectStorageClientProxyEventType.DeleteResult:case ObjectStorageClientProxyEventType.UpdateResult:ref.resolve(null);break;case ObjectStorageClientProxyEventType.Error:ref.reject(new Error(event2.detail.result));break}this._resolvers.delete(event2.detail.clientRef)}}}};var version="3.7.8",VERSION=version,_hasBuffer=typeof Buffer=="function",_TD=typeof TextDecoder=="function"?new TextDecoder:void 0,_TE=typeof TextEncoder=="function"?new TextEncoder:void 0,b64ch="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",b64chs=Array.prototype.slice.call(b64ch),b64tab=(a=>{let tab={};return a.forEach((c,i)=>tab[c]=i),tab})(b64chs),b64re=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,_fromCC=String.fromCharCode.bind(String),_U8Afrom=typeof Uint8Array.from=="function"?Uint8Array.from.bind(Uint8Array):it=>new Uint8Array(Array.prototype.slice.call(it,0)),_mkUriSafe=src=>src.replace(/=/g,"").replace(/[+\/]/g,m0=>m0=="+"?"-":"_"),_tidyB64=s2=>s2.replace(/[^A-Za-z0-9\+\/]/g,""),btoaPolyfill=bin=>{let u32,c0,c1,c2,asc="",pad3=bin.length%3;for(let i=0;i<bin.length;){if((c0=bin.charCodeAt(i++))>255||(c1=bin.charCodeAt(i++))>255||(c2=bin.charCodeAt(i++))>255)throw new TypeError("invalid character found");u32=c0<<16|c1<<8|c2,asc+=b64chs[u32>>18&63]+b64chs[u32>>12&63]+b64chs[u32>>6&63]+b64chs[u32&63]}return pad3?asc.slice(0,pad3-3)+"===".substring(pad3):asc},_btoa=typeof btoa=="function"?bin=>btoa(bin):_hasBuffer?bin=>Buffer.from(bin,"binary").toString("base64"):btoaPolyfill,_fromUint8Array=_hasBuffer?u8a=>Buffer.from(u8a).toString("base64"):u8a=>{let strs=[];for(let i=0,l2=u8a.length;i<l2;i+=4096)strs.push(_fromCC.apply(null,u8a.subarray(i,i+4096)));return _btoa(strs.join(""))},fromUint8Array=(u8a,urlsafe=!1)=>urlsafe?_mkUriSafe(_fromUint8Array(u8a)):_fromUint8Array(u8a),cb_utob=c=>{if(c.length<2){var cc=c.charCodeAt(0);return cc<128?c:cc<2048?_fromCC(192|cc>>>6)+_fromCC(128|cc&63):_fromCC(224|cc>>>12&15)+_fromCC(128|cc>>>6&63)+_fromCC(128|cc&63)}else{var cc=65536+(c.charCodeAt(0)-55296)*1024+(c.charCodeAt(1)-56320);return _fromCC(240|cc>>>18&7)+_fromCC(128|cc>>>12&63)+_fromCC(128|cc>>>6&63)+_fromCC(128|cc&63)}},re_utob=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,utob=u=>u.replace(re_utob,cb_utob),_encode=_hasBuffer?s2=>Buffer.from(s2,"utf8").toString("base64"):_TE?s2=>_fromUint8Array(_TE.encode(s2)):s2=>_btoa(utob(s2)),encode=(src,urlsafe=!1)=>urlsafe?_mkUriSafe(_encode(src)):_encode(src),encodeURI=src=>encode(src,!0),re_btou=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,cb_btou=cccc=>{switch(cccc.length){case 4:var cp=(7&cccc.charCodeAt(0))<<18|(63&cccc.charCodeAt(1))<<12|(63&cccc.charCodeAt(2))<<6|63&cccc.charCodeAt(3),offset3=cp-65536;return _fromCC((offset3>>>10)+55296)+_fromCC((offset3&1023)+56320);case 3:return _fromCC((15&cccc.charCodeAt(0))<<12|(63&cccc.charCodeAt(1))<<6|63&cccc.charCodeAt(2));default:return _fromCC((31&cccc.charCodeAt(0))<<6|63&cccc.charCodeAt(1))}},btou=b=>b.replace(re_btou,cb_btou),atobPolyfill=asc=>{if(asc=asc.replace(/\s+/g,""),!b64re.test(asc))throw new TypeError("malformed base64.");asc+="==".slice(2-(asc.length&3));let u24,r1,r2,binArray=[];for(let i=0;i<asc.length;)u24=b64tab[asc.charAt(i++)]<<18|b64tab[asc.charAt(i++)]<<12|(r1=b64tab[asc.charAt(i++)])<<6|(r2=b64tab[asc.charAt(i++)]),r1===64?binArray.push(_fromCC(u24>>16&255)):r2===64?binArray.push(_fromCC(u24>>16&255,u24>>8&255)):binArray.push(_fromCC(u24>>16&255,u24>>8&255,u24&255));return binArray.join("")},_atob=typeof atob=="function"?asc=>atob(_tidyB64(asc)):_hasBuffer?asc=>Buffer.from(asc,"base64").toString("binary"):atobPolyfill,_toUint8Array=_hasBuffer?a=>_U8Afrom(Buffer.from(a,"base64")):a=>_U8Afrom(_atob(a).split("").map(c=>c.charCodeAt(0))),toUint8Array=a=>_toUint8Array(_unURI(a)),_decode=_hasBuffer?a=>Buffer.from(a,"base64").toString("utf8"):_TD?a=>_TD.decode(_toUint8Array(a)):a=>btou(_atob(a)),_unURI=a=>_tidyB64(a.replace(/[-_]/g,m0=>m0=="-"?"+":"/")),decode=src=>_decode(_unURI(src)),isValid=src=>{if(typeof src!="string")return!1;let s2=src.replace(/\s+/g,"").replace(/={0,2}$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(s2)||!/[^\s0-9a-zA-Z\-_]/.test(s2)},_noEnum=v=>({value:v,enumerable:!1,writable:!0,configurable:!0}),extendString=function(){let _add=(name,body)=>Object.defineProperty(String.prototype,name,_noEnum(body));_add("fromBase64",function(){return decode(this)}),_add("toBase64",function(urlsafe){return encode(this,urlsafe)}),_add("toBase64URI",function(){return encode(this,!0)}),_add("toBase64URL",function(){return encode(this,!0)}),_add("toUint8Array",function(){return toUint8Array(this)})},extendUint8Array=function(){let _add=(name,body)=>Object.defineProperty(Uint8Array.prototype,name,_noEnum(body));_add("toBase64",function(urlsafe){return fromUint8Array(this,urlsafe)}),_add("toBase64URI",function(){return fromUint8Array(this,!0)}),_add("toBase64URL",function(){return fromUint8Array(this,!0)})},extendBuiltins=()=>{extendString(),extendUint8Array()},gBase64={version,VERSION,atob:_atob,atobPolyfill,btoa:_btoa,btoaPolyfill,fromBase64:decode,toBase64:encode,encode,encodeURI,encodeURL:encodeURI,utob,btou,decode,isValid,fromUint8Array,toUint8Array,extendString,extendUint8Array,extendBuiltins};var ObjectStorageServiceFactory=(()=>{class ObjectStorageServiceFactory3{constructor(api,http){this.api=api,this.http=http}createService(agentOrAsset,backendComponentTemplateId){return agentOrAsset?new ObjectStorageService(this.api,this.http,agentOrAsset,backendComponentTemplateId):new NoopObjectStorageService}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||ObjectStorageServiceFactory3)(\u0275\u0275inject(IxApiService),\u0275\u0275inject(HttpClient))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:ObjectStorageServiceFactory3,factory:ObjectStorageServiceFactory3.\u0275fac,providedIn:"root"})}}return ObjectStorageServiceFactory3})(),NoopObjectStorageService=class{delete(){return Promise.reject("no agent or asset")}getBlob(){return Promise.reject("no agent or asset")}getList(){return Promise.reject("no agent or asset")}store(){return Promise.reject("no agent or asset")}update(){return Promise.reject("no agent or asset")}destroy(){}},ObjectStorageService=class{constructor(api,http,agentOrAsset,backendComponentTemplateId){this.api=api,this.http=http,this.agentOrAsset=agentOrAsset,this.backendComponentTemplateId=backendComponentTemplateId,this._type=agentOrAsset.reference?.name||"Agent"}getList(options){let url=this._getUrl("ObjectStorageListAction"),body={arguments:options?.args,template:{publicId:this.backendComponentTemplateId}},context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,httpOptions={context:context3,headers};return firstValueFrom(this.http.post(url,body,httpOptions).pipe(map(({data})=>data.map(meta=>__spreadProps(__spreadValues({},meta),{tags:this._decodeTagValues(meta.tags)}))),map(entries=>({entries}))))}getBlob(objectMeta,options){if(Array.isArray(objectMeta)){let blobMap=new Map,promises=objectMeta.map(meta=>this.getBlob(meta,options).then(blob=>{blobMap.set(meta.uuid,blob)}).catch(()=>null));return Promise.all(promises).then(()=>__async(this,null,function*(){let JSZip2=(yield import("./chunk-H2LGWVKU.js")).default,zip=new JSZip2;return objectMeta.forEach(meta=>{let blob=blobMap.get(meta.uuid);if(!blob)return;let fileName=meta.tags.name;if(meta.outputDir){let folder=zip.folder(meta.outputDir);if(!folder)return;folder.file(fileName,blob);return}zip.file(fileName,blob)}),zip.generateAsync({type:"blob"})}))}let url=this._getUrl("ObjectStorageDownloadAction",objectMeta),body={template:{publicId:this.backendComponentTemplateId},uuid:objectMeta.uuid,arguments:options?.args},context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,httpOptions={context:context3,headers};return firstValueFrom(this.http.post(url,body,httpOptions).pipe(switchMap(e=>this.http.get(e.data.url||"",{responseType:"blob"}))))}store(object,options){let url=this._getUrl("ObjectStorageUploadAction"),identifier=crypto.randomUUID(),body={template:{publicId:this.backendComponentTemplateId},uuid:identifier,arguments:options?.args},context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,httpOptions={context:context3,headers};return firstValueFrom(forkJoin([this.http.post(url,body,httpOptions),import("./chunk-DJ3HFKJ4.js")]).pipe(switchMap(_0=>__async(this,[_0],function*([e,{BlockBlobClient}]){switch(e.data.type){case"azure-blob-storage":{let dataUrl=e.data.url;if(!dataUrl)throw new Error("no url provided");let client=new BlockBlobClient(dataUrl),filetype=object.type;return yield client.uploadData(object,{abortSignal:options?.abortSignal,blobHTTPHeaders:{blobContentDisposition:`attachment; filename="${identifier}"`,blobContentType:filetype},tags:this._encodeTagValues(options?.tags)}),{identifier}}default:throw new Error("unsupported type: "+e.data.type)}}))))}delete(objectMeta,options){let url=this._getUrl("ObjectStorageDeleteAction",objectMeta),body={template:{publicId:this.backendComponentTemplateId},uuid:objectMeta.uuid,arguments:options?.args},context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,httpOptions={context:context3,headers};return firstValueFrom(this.http.post(url,body,httpOptions).pipe(map(()=>{})))}update(objectMeta,options){let url=this._getUrl("ObjectStorageObjectMetaUpdateAction",objectMeta),body={template:{publicId:this.backendComponentTemplateId},uuid:objectMeta.uuid,tags:this._encodeTagValues(options?.tags)??{}},context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,httpOptions={context:context3,headers};return firstValueFrom(this.http.patch(url,body,httpOptions).pipe(map(()=>{})))}destroy(){}_decodeTagValues(tags){return tags?Object.entries(tags).reduce((acc,[key,value])=>__spreadProps(__spreadValues({},acc),{[key]:gBase64.decode(value)}),{}):tags??{}}_encodeTagValues(tags){return tags&&Object.entries(tags).reduce((acc,[key,value])=>__spreadProps(__spreadValues({},acc),{[key]:gBase64.encode(value)}),{})}_getUrl(base,identifier){return identifier?.agent?this.api.url("Agent"+base,{agentId:identifier.agent.publicId}):identifier?.asset?this.api.url("Asset"+base,{assetId:identifier.asset.publicId}):this.api.url(this._type+base,{[this._type.toLowerCase()+"Id"]:this.agentOrAsset.publicId})}};var ExceptionCode=(function(ExceptionCode2){return ExceptionCode2.Unimplemented="UNIMPLEMENTED",ExceptionCode2.Unavailable="UNAVAILABLE",ExceptionCode2})(ExceptionCode||{}),CapacitorException=class extends Error{constructor(message,code2,data){super(message),this.message=message,this.code=code2,this.data=data}},getPlatformId=win=>{var _a2,_b;return win?.androidBridge?"android":!((_b=(_a2=win?.webkit)===null||_a2===void 0?void 0:_a2.messageHandlers)===null||_b===void 0)&&_b.bridge?"ios":"web"},createCapacitor=win=>{let capCustomPlatform=win.CapacitorCustomPlatform||null,cap=win.Capacitor||{},Plugins=cap.Plugins=cap.Plugins||{},getPlatform2=()=>capCustomPlatform!==null?capCustomPlatform.name:getPlatformId(win),isNativePlatform=()=>getPlatform2()!=="web",isPluginAvailable=pluginName=>{let plugin=registeredPlugins.get(pluginName);return!!(plugin?.platforms.has(getPlatform2())||getPluginHeader(pluginName))},getPluginHeader=pluginName=>{var _a2;return(_a2=cap.PluginHeaders)===null||_a2===void 0?void 0:_a2.find(h=>h.name===pluginName)},handleError=err=>win.console.error(err),registeredPlugins=new Map,registerPlugin3=(pluginName,jsImplementations={})=>{let registeredPlugin=registeredPlugins.get(pluginName);if(registeredPlugin)return console.warn(`Capacitor plugin "${pluginName}" already registered. Cannot register plugins twice.`),registeredPlugin.proxy;let platform=getPlatform2(),pluginHeader=getPluginHeader(pluginName),jsImplementation,loadPluginImplementation=()=>__async(null,null,function*(){return!jsImplementation&&platform in jsImplementations?jsImplementation=typeof jsImplementations[platform]=="function"?jsImplementation=yield jsImplementations[platform]():jsImplementation=jsImplementations[platform]:capCustomPlatform!==null&&!jsImplementation&&"web"in jsImplementations&&(jsImplementation=typeof jsImplementations.web=="function"?jsImplementation=yield jsImplementations.web():jsImplementation=jsImplementations.web),jsImplementation}),createPluginMethod=(impl,prop)=>{var _a2,_b;if(pluginHeader){let methodHeader=pluginHeader?.methods.find(m=>prop===m.name);if(methodHeader)return methodHeader.rtype==="promise"?options=>cap.nativePromise(pluginName,prop.toString(),options):(options,callback)=>cap.nativeCallback(pluginName,prop.toString(),options,callback);if(impl)return(_a2=impl[prop])===null||_a2===void 0?void 0:_a2.bind(impl)}else{if(impl)return(_b=impl[prop])===null||_b===void 0?void 0:_b.bind(impl);throw new CapacitorException(`"${pluginName}" plugin is not implemented on ${platform}`,ExceptionCode.Unimplemented)}},createPluginMethodWrapper=prop=>{let remove58,wrapper=(...args)=>{let p=loadPluginImplementation().then(impl=>{let fn2=createPluginMethod(impl,prop);if(fn2){let p2=fn2(...args);return remove58=p2?.remove,p2}else throw new CapacitorException(`"${pluginName}.${prop}()" is not implemented on ${platform}`,ExceptionCode.Unimplemented)});return prop==="addListener"&&(p.remove=()=>__async(null,null,function*(){return remove58()})),p};return wrapper.toString=()=>`${prop.toString()}() { [capacitor code] }`,Object.defineProperty(wrapper,"name",{value:prop,writable:!1,configurable:!1}),wrapper},addListener=createPluginMethodWrapper("addListener"),removeListener=createPluginMethodWrapper("removeListener"),addListenerNative=(eventName,callback)=>{let call=addListener({eventName},callback),remove58=()=>__async(null,null,function*(){let callbackId=yield call;removeListener({eventName,callbackId},callback)}),p=new Promise(resolve=>call.then(()=>resolve({remove:remove58})));return p.remove=()=>__async(null,null,function*(){console.warn("Using addListener() without 'await' is deprecated."),yield remove58()}),p},proxy=new Proxy({},{get(_,prop){switch(prop){case"$$typeof":return;case"toJSON":return()=>({});case"addListener":return pluginHeader?addListenerNative:addListener;case"removeListener":return removeListener;default:return createPluginMethodWrapper(prop)}}});return Plugins[pluginName]=proxy,registeredPlugins.set(pluginName,{name:pluginName,proxy,platforms:new Set([...Object.keys(jsImplementations),...pluginHeader?[platform]:[]])}),proxy};return cap.convertFileSrc||(cap.convertFileSrc=filePath=>filePath),cap.getPlatform=getPlatform2,cap.handleError=handleError,cap.isNativePlatform=isNativePlatform,cap.isPluginAvailable=isPluginAvailable,cap.registerPlugin=registerPlugin3,cap.Exception=CapacitorException,cap.DEBUG=!!cap.DEBUG,cap.isLoggingEnabled=!!cap.isLoggingEnabled,cap},initCapacitorGlobal=win=>win.Capacitor=createCapacitor(win),Capacitor=initCapacitorGlobal(typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}),registerPlugin2=Capacitor.registerPlugin,WebPlugin=class{constructor(){this.listeners={},this.retainedEventArguments={},this.windowListeners={}}addListener(eventName,listenerFunc){let firstListener=!1;this.listeners[eventName]||(this.listeners[eventName]=[],firstListener=!0),this.listeners[eventName].push(listenerFunc);let windowListener=this.windowListeners[eventName];windowListener&&!windowListener.registered&&this.addWindowListener(windowListener),firstListener&&this.sendRetainedArgumentsForEvent(eventName);let remove58=()=>__async(this,null,function*(){return this.removeListener(eventName,listenerFunc)});return Promise.resolve({remove:remove58})}removeAllListeners(){return __async(this,null,function*(){this.listeners={};for(let listener in this.windowListeners)this.removeWindowListener(this.windowListeners[listener]);this.windowListeners={}})}notifyListeners(eventName,data,retainUntilConsumed){let listeners=this.listeners[eventName];if(!listeners){if(retainUntilConsumed){let args=this.retainedEventArguments[eventName];args||(args=[]),args.push(data),this.retainedEventArguments[eventName]=args}return}listeners.forEach(listener=>listener(data))}hasListeners(eventName){var _a2;return!!(!((_a2=this.listeners[eventName])===null||_a2===void 0)&&_a2.length)}registerWindowListener(windowEventName,pluginEventName){this.windowListeners[pluginEventName]={registered:!1,windowEventName,pluginEventName,handler:event2=>{this.notifyListeners(pluginEventName,event2)}}}unimplemented(msg="not implemented"){return new Capacitor.Exception(msg,ExceptionCode.Unimplemented)}unavailable(msg="not available"){return new Capacitor.Exception(msg,ExceptionCode.Unavailable)}removeListener(eventName,listenerFunc){return __async(this,null,function*(){let listeners=this.listeners[eventName];if(!listeners)return;let index=listeners.indexOf(listenerFunc);index!==-1&&this.listeners[eventName].splice(index,1),this.listeners[eventName].length||this.removeWindowListener(this.windowListeners[eventName])})}addWindowListener(handle){window.addEventListener(handle.windowEventName,handle.handler),handle.registered=!0}removeWindowListener(handle){handle&&(window.removeEventListener(handle.windowEventName,handle.handler),handle.registered=!1)}sendRetainedArgumentsForEvent(eventName){let args=this.retainedEventArguments[eventName];args&&(delete this.retainedEventArguments[eventName],args.forEach(arg=>{this.notifyListeners(eventName,arg)}))}};var encode2=str=>encodeURIComponent(str).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape),decode2=str=>str.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent),CapacitorCookiesPluginWeb=class extends WebPlugin{getCookies(){return __async(this,null,function*(){let cookies=document.cookie,cookieMap={};return cookies.split(";").forEach(cookie=>{if(cookie.length<=0)return;let[key,value]=cookie.replace(/=/,"CAP_COOKIE").split("CAP_COOKIE");key=decode2(key).trim(),value=decode2(value).trim(),cookieMap[key]=value}),cookieMap})}setCookie(options){return __async(this,null,function*(){try{let encodedKey=encode2(options.key),encodedValue=encode2(options.value),expires=options.expires?`; expires=${options.expires.replace("expires=","")}`:"",path=(options.path||"/").replace("path=",""),domain=options.url!=null&&options.url.length>0?`domain=${options.url}`:"";document.cookie=`${encodedKey}=${encodedValue||""}${expires}; path=${path}; ${domain};`}catch(error3){return Promise.reject(error3)}})}deleteCookie(options){return __async(this,null,function*(){try{document.cookie=`${options.key}=; Max-Age=0`}catch(error3){return Promise.reject(error3)}})}clearCookies(){return __async(this,null,function*(){try{let cookies=document.cookie.split(";")||[];for(let cookie of cookies)document.cookie=cookie.replace(/^ +/,"").replace(/=.*/,`=;expires=${new Date().toUTCString()};path=/`)}catch(error3){return Promise.reject(error3)}})}clearAllCookies(){return __async(this,null,function*(){try{yield this.clearCookies()}catch(error3){return Promise.reject(error3)}})}},CapacitorCookies=registerPlugin2("CapacitorCookies",{web:()=>new CapacitorCookiesPluginWeb}),readBlobAsBase64=blob=>__async(null,null,function*(){return new Promise((resolve,reject2)=>{let reader=new FileReader;reader.onload=()=>{let base64String=reader.result;resolve(base64String.indexOf(",")>=0?base64String.split(",")[1]:base64String)},reader.onerror=error3=>reject2(error3),reader.readAsDataURL(blob)})}),normalizeHttpHeaders=(headers={})=>{let originalKeys=Object.keys(headers);return Object.keys(headers).map(k=>k.toLocaleLowerCase()).reduce((acc,key,index)=>(acc[key]=headers[originalKeys[index]],acc),{})},buildUrlParams=(params,shouldEncode=!0)=>params?Object.entries(params).reduce((accumulator,entry)=>{let[key,value]=entry,encodedValue,item;return Array.isArray(value)?(item="",value.forEach(str=>{encodedValue=shouldEncode?encodeURIComponent(str):str,item+=`${key}=${encodedValue}&`}),item.slice(0,-1)):(encodedValue=shouldEncode?encodeURIComponent(value):value,item=`${key}=${encodedValue}`),`${accumulator}&${item}`},"").substr(1):null,buildRequestInit=(options,extra={})=>{let output2=Object.assign({method:options.method||"GET",headers:options.headers},extra),type=normalizeHttpHeaders(options.headers)["content-type"]||"";if(typeof options.data=="string")output2.body=options.data;else if(type.includes("application/x-www-form-urlencoded")){let params=new URLSearchParams;for(let[key,value]of Object.entries(options.data||{}))params.set(key,value);output2.body=params.toString()}else if(type.includes("multipart/form-data")||options.data instanceof FormData){let form=new FormData;if(options.data instanceof FormData)options.data.forEach((value,key)=>{form.append(key,value)});else for(let key of Object.keys(options.data))form.append(key,options.data[key]);output2.body=form;let headers2=new Headers(output2.headers);headers2.delete("content-type"),output2.headers=headers2}else(type.includes("application/json")||typeof options.data=="object")&&(output2.body=JSON.stringify(options.data));return output2},CapacitorHttpPluginWeb=class extends WebPlugin{request(options){return __async(this,null,function*(){let requestInit=buildRequestInit(options,options.webFetchExtra),urlParams=buildUrlParams(options.params,options.shouldEncodeUrlParams),url=urlParams?`${options.url}?${urlParams}`:options.url,response=yield fetch(url,requestInit),contentType=response.headers.get("content-type")||"",{responseType="text"}=response.ok?options:{};contentType.includes("application/json")&&(responseType="json");let data,blob;switch(responseType){case"arraybuffer":case"blob":blob=yield response.blob(),data=yield readBlobAsBase64(blob);break;case"json":data=yield response.json();break;default:data=yield response.text()}let headers={};return response.headers.forEach((value,key)=>{headers[key]=value}),{data,headers,status:response.status,url:response.url}})}get(options){return __async(this,null,function*(){return this.request(Object.assign(Object.assign({},options),{method:"GET"}))})}post(options){return __async(this,null,function*(){return this.request(Object.assign(Object.assign({},options),{method:"POST"}))})}put(options){return __async(this,null,function*(){return this.request(Object.assign(Object.assign({},options),{method:"PUT"}))})}patch(options){return __async(this,null,function*(){return this.request(Object.assign(Object.assign({},options),{method:"PATCH"}))})}delete(options){return __async(this,null,function*(){return this.request(Object.assign(Object.assign({},options),{method:"DELETE"}))})}},CapacitorHttp=registerPlugin2("CapacitorHttp",{web:()=>new CapacitorHttpPluginWeb});var SystemBarsPluginWeb=class extends WebPlugin{setStyle(){return __async(this,null,function*(){this.unavailable("not available for web")})}setAnimation(){return __async(this,null,function*(){this.unavailable("not available for web")})}show(){return __async(this,null,function*(){this.unavailable("not available for web")})}hide(){return __async(this,null,function*(){this.unavailable("not available for web")})}},SystemBars=registerPlugin2("SystemBars",{web:()=>new SystemBarsPluginWeb});var CAPACITOR_PLATFORM=new InjectionToken("capacitor-platform",{providedIn:"root",factory:()=>Capacitor.getPlatform()||"web"});var VpnClientActiveStatus=(()=>{class VpnClientActiveStatus2 extends BehaviorSubject{constructor(){super(null)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||VpnClientActiveStatus2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:VpnClientActiveStatus2,factory:VpnClientActiveStatus2.\u0275fac,providedIn:"root"})}}return VpnClientActiveStatus2})();function hasActiveRequestWithAgent(snapshot,agentId){return snapshot&&snapshot.activeRequest?snapshot.activeRequest.agentId===agentId:!1}function findCsvDelimiter(formatRef){if(formatRef.includes(":")){let delimiter=formatRef.split(":")[1];if(/^comma|semicolon|tab$/.test(delimiter))return formatRef.split(":")[1]}}function findFormat(formatRef){if(/^csv|metrics$/.test(formatRef)||formatRef.startsWith("csv"))return formatRef.startsWith("csv")?"csv":formatRef}var LoggingDataConfigAvailabilityStrategy=(function(LoggingDataConfigAvailabilityStrategy2){return LoggingDataConfigAvailabilityStrategy2[LoggingDataConfigAvailabilityStrategy2.Lazy=0]="Lazy",LoggingDataConfigAvailabilityStrategy2[LoggingDataConfigAvailabilityStrategy2.Default=1]="Default",LoggingDataConfigAvailabilityStrategy2})(LoggingDataConfigAvailabilityStrategy||{}),LoggingDataQueryControl=class{constructor(value){this._subject=new BehaviorSubject({value}),this.valueChanges=this._subject.asObservable().pipe(filter(e=>e.options?.emitEvent!==!1),map(e=>e.value))}complete(){this._subject.complete()}getValue(){return this._subject.getValue().value}setValue(value,options){this._subject.next({value,options})}},LoggingDataClientProxyEventType=(function(LoggingDataClientProxyEventType2){return LoggingDataClientProxyEventType2.Blob="ayayot.loggingdata.blob",LoggingDataClientProxyEventType2.DebugLog="ayayot.loggingdata.debug-log",LoggingDataClientProxyEventType2.Destroy="ayayot.loggingdata.destroy",LoggingDataClientProxyEventType2.Export="ayayot.loggingdata.export",LoggingDataClientProxyEventType2.Init="ayayot.loggingdata.init",LoggingDataClientProxyEventType2.Metrics="ayayot.loggingdata.metrics",LoggingDataClientProxyEventType2.Query="ayayot.loggingdata.query",LoggingDataClientProxyEventType2})(LoggingDataClientProxyEventType||{}),LoggingDataQueryRef=class{constructor(query,variable,tag,_onCancel){this.query=query,this.variable=variable,this.tag=tag,this._onCancel=_onCancel,Object.freeze(this)}cancel(){this._onCancel&&this._onCancel()}};function numberToFloatingPointString(x){if(Math.abs(x)<1){let e=parseInt(x.toString().split("e-")[1]);e&&(x*=Math.pow(10,e-1),x="0."+new Array(e).join("0")+x.toString().substring(2))}else{let e=parseInt(x.toString().split("+")[1]);e>20&&(e-=20,x/=Math.pow(10,e),x+=new Array(e+1).join("0"))}return typeof x=="string"?x:x.toString()}function calcFactor(rawValue,factor){let m=0,s1=numberToFloatingPointString(rawValue),s2=numberToFloatingPointString(factor);try{m+=s1.split(".")[1].length}catch(e){}try{m+=s2.split(".")[1].length}catch(e){}return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m)}function isCachedMetric(metric){return"__cached"in metric}function isEmptyMetric(metric){return"__empty"in metric}function markMetricAsCached(metric){return __spreadProps(__spreadValues({},metric),{__cached:!0})}function markMetricAsEmpty(metric){return __spreadProps(__spreadValues({},metric),{__empty:!0})}function mapBySelector(variables,selector3){return variables.reduce((map4,variable)=>{let key=selector3(variable);return key&&map4.set(key,variable),map4},new Map)}function mapBySelectorTwice(variables,selector1,selector22){return variables.reduce((map4,variable)=>{let key1=selector1(variable),key2=selector22(variable);if(key1&&key2){let map22=map4.get(key1);map22?map22.set(key2,variable):map4.set(key1,new Map([[key2,variable]]))}return map4},new Map)}function mapPointToRawValues(point,variableById){let variableIdList=point.tags,rawValues={},typeIndex={};for(let variableId of variableIdList){let variable=variableById.get(variableId);if(variable){let type=getFullType(variable);if(type){typeIndex[type]=typeIndex[type]===void 0?0:typeIndex[type]+1;let rawValue=point[type][typeIndex[type]];rawValues[variable.publicId]=rawValue}}}return rawValues}function epochToIso(millis){return DateTime.fromMillis(millis).set({millisecond:0}).toUTC().toISO({suppressMilliseconds:!0})}function mapQueryListToPostData(queries,options,tags,variables,forCsv,timeZone){let optionsFrom=epochToIso(options.from),optionsTo=epochToIso(options.to);queries.forEach(query=>query.order=query.postTransform==="difference"?query.order||"asc":query.order);let csvQueryOrder=queries.some(query=>query.order==="asc")?"asc":"desc";return queries.reduce((data,_query)=>{let ref=_query.ref,tag=tags.find(t=>t.publicId===_query.tag?.publicId),preAggr=getPreAggregator(_query,tag,options.from),sourceId=tag?.source?.publicId,tagId=tag?.tagId;if(ref&&sourceId&&tagId!==void 0){let query={ref};if(_query.step!==void 0&&(query.step=_query.step),_query.formula!==void 0)query.formula=_query.formula;else if(_query.factor!==void 0)query.factor=_query.factor;else{let variable=variables.find(v=>v.publicId===tag?.variable?.publicId);variable?.factor!==void 0&&variable?.factor!==null&&_query.postAggr!=="count"&&(query.factor=parseFloat(variable.factor))}if(_query.decimals!==void 0&&(query.decimals=_query.decimals),_query.extendedBoundary!==void 0&&(query.extendedBoundary=_query.extendedBoundary),_query.limit!==void 0&&(query.limit=_query.limit),_query.offset!==void 0&&(query.offset=_query.offset),_query.postAggr!==void 0&&(query.postAggr=_query.postAggr),_query.postTransform!==void 0&&(query.postTransform=_query.postTransform),forCsv){let unit=_query.unit||variables.find(v=>v.publicId===tag?.variable?.publicId)?.unit||"";query.ref=query.ref?.replace(/\$TH_UNIT/g,unit?` (${unit})`:""),query.order=csvQueryOrder}else _query.order!==void 0&&(query.order=_query.order);let index1,index2,start3=_query.from?epochToIso(Date.parse(_query.from)):optionsFrom,end2=_query.to?epochToIso(Date.parse(_query.to)):optionsTo;index1=data.findIndex(s2=>s2.source.publicId===sourceId&&s2.start===start3&&s2.end===end2&&(s2.tags?.[0]?.queries?.[0]?.order===query.order||s2.tags?.[0]?.queries?.[0]?.order==="desc"&&!query.order)),index1===-1&&(index1=data.push({source:{publicId:sourceId},tags:[],start:start3,end:end2,timeZone})-1),index2=data[index1].tags.findIndex(t=>t.id===tagId&&t.preAggr===preAggr),index2===-1&&(index2=data[index1].tags.push({id:tagId,preAggr,queries:[]})-1),data[index1].tags[index2].queries.push(query)}return data},[])}function getClientRefNamespace(scope){return`yot:ldc${scope?":"+scope:""}`}function getFullType(variable){switch(variable.type){case"float":return`${variable.type}${variable.width}`;case"int":return`${variable.signed?"":"u"}${variable.type}${variable.width}`;default:return variable.type}}function getPreAggregator(query,tag,from2){if(from2?from2<new Date().getTime()-6048e5:!1){if(query.preAggr)return query.preAggr;if(query.postAggr&&tag?.aggregators?.includes(query.postAggr))return query.postAggr}return"raw"}function getQueryRef(n2){let _ref=_n=>"abcdefghijklmnopqrstuvwxyz"[_n%26>>0];return _ref(Math.floor(n2/676))+_ref(Math.floor(n2/26)%26)+_ref(n2)}function parseSelector(selector3){let basicMatch=selector3.match(/(?<type>[^#]+)#(?<target>[^:]+):(?<rest>.+)/);if(!basicMatch||!basicMatch.groups)return console.warn(`Couldn't parse selector: "${selector3}"`),{type:"",target:"",dataSource:"",logType:"",logName:""};let{type,target,rest}=basicMatch.groups;if(type==="Agent"){let agentMatch=rest.match(/(?<dataSource>[^.]*)\.(?<logType>tag|var|variable)\.(?<logName>.*)/);if(!agentMatch||!agentMatch.groups)return console.warn(`Agent selector doesn't match expected pattern: "${selector3}"`),{type,target,dataSource:"",logType:"",logName:""};let logType=agentMatch.groups.logType==="var"?"variable":agentMatch.groups.logType;return{type,target,dataSource:agentMatch.groups.dataSource,logType,logName:agentMatch.groups.logName}}else if(type==="Asset")return{type,target,dataSource:"",logType:"asset",logName:rest};return console.warn(`Unknown selector type: "${selector3}"`),{type,target,dataSource:"",logType:"",logName:""}}var LoggingDataClientProxyService=(()=>{class LoggingDataClientProxyService2{constructor(window2){this.window=window2}_onEvent(eventType,scope){return fromEvent(this.window,eventType).pipe(filter(event2=>scope===event2.detail.scope),map(event2=>{let formatRef=event2.detail.formatRef,queries=event2.detail.queries.map(q=>__spreadProps(__spreadValues({},q),{_timeStamp:event2.timeStamp}));return{formatRef,queries}}))}emitBlob(blob,scope){let detail={blob,scope},event2=new CustomEvent(LoggingDataClientProxyEventType.Blob,{detail});this.window.dispatchEvent(event2)}emitMetrics(metrics,scope){let detail={metrics,scope},event2=new CustomEvent(LoggingDataClientProxyEventType.Metrics,{detail});this.window.dispatchEvent(event2)}onDestroy(scope){return fromEvent(this.window,LoggingDataClientProxyEventType.Destroy).pipe(filter(event2=>scope?event2.detail.startsWith(getClientRefNamespace(scope)):!0))}onExport(scope){return this._onEvent(LoggingDataClientProxyEventType.Export,scope).pipe(mergeMap(({queries,formatRef})=>{let format3=findFormat(formatRef),csvDelimiter=findCsvDelimiter(formatRef);return format3!=="metrics"?of({queries,format:format3,csvDelimiter}):EMPTY}))}onQuery(scope){return this._onEvent(LoggingDataClientProxyEventType.Query,scope).pipe(map(({queries})=>queries))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||LoggingDataClientProxyService2)(\u0275\u0275inject(WINDOW))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:LoggingDataClientProxyService2,factory:LoggingDataClientProxyService2.\u0275fac,providedIn:"root"})}}return LoggingDataClientProxyService2})();function metricsToMultipleResults(metrics,clientRef){let results=_getClientMetrics(metrics,clientRef).reduce((acc,m)=>{let index=acc.findIndex(a=>a[0]===m.queryRef.query);return index!==-1?acc[index][1].push(m):acc.push([m.queryRef.query,[m]]),acc},[]).sort(([a],[b])=>a.ref&&b.ref?a.ref.localeCompare(b.ref):0).map(a=>a[1]);if(results.some(result=>result.length))return results.map(result=>result.filter(m=>!isEmptyMetric(m)))}function metricsToSingleResult(metrics,clientRef){let result=_getClientMetrics(metrics,clientRef).filter(m=>!isCachedMetric(m));if(result.length)return result.filter(m=>!isEmptyMetric(m))}function _getClientMetrics(metrics,clientRef){return metrics.filter(metric=>metric.queryRef.query._clientRef?clientRef===metric.queryRef.query._clientRef:!1)}var LoggingDataClient=class{constructor(id,scope){this.id=id,this.scope=scope,this._destroyed=!1,this._listenerRefs=[],this._uid=0,this._onMetrics=this._onMetrics.bind(this),this._onBlob=this._onBlob.bind(this);let detail=`${getClientRefNamespace(this.scope)}.${this.id}`,event2=new CustomEvent(LoggingDataClientProxyEventType.Init,{detail});window.dispatchEvent(event2),window.addEventListener(LoggingDataClientProxyEventType.Metrics,this._onMetrics,!0),window.addEventListener(LoggingDataClientProxyEventType.Blob,this._onBlob,!0)}_destroy(emitEvent){if(!this._destroyed&&(window.removeEventListener(LoggingDataClientProxyEventType.Metrics,this._onMetrics,!0),window.removeEventListener(LoggingDataClientProxyEventType.Blob,this._onBlob,!0),emitEvent)){let detail=`${getClientRefNamespace(this.scope)}.${this.id}`,event2=new CustomEvent(LoggingDataClientProxyEventType.Destroy,{detail});window.dispatchEvent(event2)}this._destroyed=!0}_destroyListener(listenerRef){let index=this._listenerRefs.indexOf(listenerRef);index!==-1&&(this._listenerRefs.splice(index,1),window.dispatchEvent(new CustomEvent(LoggingDataClientProxyEventType.Destroy,{detail:listenerRef.clientRef})))}_dispatchQuery(queryOptions,listener,multiple){let scope=this.scope,clientRef=`${getClientRefNamespace(this.scope)}.${this.id}.q${this._uid++}`,listenerRef=Object.freeze({clientRef,listener,multiple,queryOptions:cloneDeep_default(queryOptions)}),{csvDelimiter,format:format3}=queryOptions,formatRef=format3==="csv"&&csvDelimiter!=="comma"?`csv:${csvDelimiter}`:format3,queries=queryOptions.queries.map(_q=>__spreadProps(__spreadValues({},_q),{_clientRef:clientRef})),eventType=format3==="csv"?LoggingDataClientProxyEventType.Export:LoggingDataClientProxyEventType.Query,detail={formatRef,queries,scope},event2=new CustomEvent(eventType,{detail});return window.dispatchEvent(event2),this._listenerRefs.push(listenerRef),()=>{this._destroyListener(listenerRef)}}_onMetrics(event2){event2.detail.scope===this.scope&&this._listenerRefs.filter(({queryOptions})=>queryOptions.format==="metrics").forEach(listenerRef=>{let{clientRef,listener,multiple,queryOptions}=listenerRef;if(multiple){let results=metricsToMultipleResults(event2.detail.metrics,clientRef);results&&(listener(results),queryOptions.once&&this._destroyListener(listenerRef))}else{let result=metricsToSingleResult(event2.detail.metrics,clientRef);result&&(listener(result),queryOptions.once&&this._destroyListener(listenerRef))}})}_onBlob(event2){event2.detail.scope===this.scope&&this._listenerRefs.filter(({queryOptions})=>queryOptions.format==="csv").forEach(listenerRef=>{let{clientRef,listener}=listenerRef;event2.detail.blob.queryRefs.length&&event2.detail.blob.queryRefs[0].query._clientRef===clientRef&&(listener(event2.detail.blob),this._destroyListener(listenerRef))})}destroy(){this._destroy(!0)}query(q,listener){let defaults2={csvDelimiter:"comma",format:"metrics",once:!1};return Array.isArray(q)?this._dispatchQuery(__spreadProps(__spreadValues({},defaults2),{queries:q}),listener,!0):typeof q=="object"&&"queries"in q?this._dispatchQuery(__spreadValues(__spreadValues({},defaults2),q),listener,!0):this._dispatchQuery(__spreadProps(__spreadValues({},defaults2),{queries:[q]}),listener,!1)}};var bufferDebounceTime=dueTime=>source=>new Observable(observer=>source.pipe(buffer(source.pipe(debounceTime(dueTime)))).subscribe({next(x){observer.next(x)},error(err){observer.error(err)},complete(){observer.complete()}}));function logDebugEvent(name,payload){environment.production||window.dispatchEvent(new CustomEvent(LoggingDataClientProxyEventType.DebugLog,{detail:__spreadValues({name},payload?{payload:cloneDeep_default(payload)}:{})}))}var LoggingDataValue=class _LoggingDataValue{constructor(locale,queryRef,rawValue){this.locale=locale,this.queryRef=queryRef,this.rawValue=rawValue}static create(locale,queryRef,rawValue){return queryRef.query.postAggr==="count"?new LoggingDataCountValue(locale,queryRef,rawValue):new _LoggingDataValue(locale,queryRef,rawValue)}getDecimals(fallbackDecimals=2){return this.decimals??this.queryRef.query.decimals??fallbackDecimals}getFactor(){return this.factor??this.queryRef.query.factor??(this.queryRef.tag?.variable?.factor?parseFloat(this.queryRef.tag.variable.factor):null)??(this.queryRef.variable?.factor?parseFloat(this.queryRef.variable.factor):null)??1}getUnit(){return this.unit??this.queryRef.query.unit??this.queryRef.tag?.variable?.unit??this.queryRef.variable?.unit??""}setDecimals(newDecimals){this.decimals=newDecimals}setFactor(newFactor){this.factor=newFactor}setUnit(newUnit){this.unit=newUnit}getValue(){return this.rawValue}toString(){let _locale=this.locale??void 0,_formatValue=memoize_default((value,decimals,unit,locale)=>{let options={style:"decimal",minimumFractionDigits:Math.floor(decimals),maximumFractionDigits:Math.floor(decimals)};return`${new Intl.NumberFormat(locale,options).format(value)}${unit?" "+unit:""}`});return this.rawValue===null?"":this.queryRef.query.postAggr==="count"?_formatValue(this.rawValue,this.getDecimals(0),this.unit??this.queryRef.query.unit,_locale):this.queryRef.variable?.type==="str"?this.rawValue:this.queryRef.variable?.type==="bool"?this.rawValue?"True":"False":this.queryRef.variable?.type==="int"?_formatValue(this.rawValue,Number.isInteger(this.getFactor())?this.getDecimals(0):this.getDecimals(),this.getUnit(),_locale):this.queryRef.variable?.type==="float"?_formatValue(this.rawValue,this.getDecimals(),this.getUnit(),_locale):String(this.getValue())}},LoggingDataCountValue=class extends LoggingDataValue{getFactor(){return this.factor??this.queryRef.query.factor??1}getUnit(){return this.unit??this.queryRef.query.unit??""}};function truncateQueryRefsForHeading(queries){let queriesWithTruncatedRefs=queries.map(query=>{let ref=query.ref?.toString()?.trim()?.replace(/\t/g," ")?.replace(/\n/g," ")?.replace(/\r/g," ")?.replace(/\0/g," ")?.replace(/\f/g," ")?.slice(0,250);return __spreadProps(__spreadValues({},query),{ref})}),grouped=groupBy_default(queriesWithTruncatedRefs,query=>query.ref),duplicates=Object.entries(grouped).filter(metric=>metric[1].length>1).map(d=>({ref:d[0],refCount:1}));return queriesWithTruncatedRefs.map(query=>{let duplicateResults=duplicates.filter(d=>d.ref===query.ref);if(duplicateResults.length>0){let duplicate2=duplicateResults[0];query.ref=`${query.ref} (${duplicate2.refCount})`.trim(),duplicate2.refCount+=1}return query})}var LoggingDataMetricCacheService=(()=>{class LoggingDataMetricCacheService2{constructor(){this._cache=new WeakMap}clear(){this._cache=new WeakMap}fill(metrics){for(let metric of metrics)!isCachedMetric(metric)&&!isEmptyMetric(metric)&&this._cache.set(metric.queryRef.query,markMetricAsCached(metric))}get(query){return this._cache.get(query)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||LoggingDataMetricCacheService2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:LoggingDataMetricCacheService2,factory:LoggingDataMetricCacheService2.\u0275fac,providedIn:"root"})}}return LoggingDataMetricCacheService2})();var LoggingDataErrorService=(()=>{class LoggingDataErrorService2{constructor(){this.dataLoggingErrors$=new BehaviorSubject([]),this.loadedDataSources=new Map}setErrorMessageForDataSource(message,dataSourceId){this.hasDatasourceBeenLoaded(dataSourceId)||this.loadedDataSources.set(dataSourceId,DateTime.now().toUnixInteger());let currentErrors=this.dataLoggingErrors$.value;message?currentErrors.includes(dataSourceId)||this.dataLoggingErrors$.next([...currentErrors,dataSourceId]):message===""&¤tErrors.includes(dataSourceId)&&this.dataLoggingErrors$.next(currentErrors.filter(publicId=>publicId!==dataSourceId))}hasDatasourceBeenLoaded(dataSourceId){return this.loadedDataSources.has(dataSourceId)}clearOldLoadedDataSources(){let currentTime=DateTime.now().toUnixInteger();this.loadedDataSources.forEach((timestamp2,publicId)=>{currentTime-timestamp2>=30&&this.loadedDataSources.delete(publicId)})}clear(){this.loadedDataSources.clear(),this.dataLoggingErrors$.getValue().length&&this.dataLoggingErrors$.next([])}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||LoggingDataErrorService2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:LoggingDataErrorService2,factory:LoggingDataErrorService2.\u0275fac,providedIn:"root"})}}return LoggingDataErrorService2})();var LoggingDataFetcherFactory=(()=>{class LoggingDataFetcherFactory2{constructor(webSocket2,http,api,cache,proxy,errorService){this.webSocket=webSocket2,this.http=http,this.api=api,this.cache=cache,this.proxy=proxy,this.errorService=errorService}create(config4){return new LoggingDataFetcher(this.http,this.webSocket,this.api,this.cache,this.proxy,config4,this.errorService)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||LoggingDataFetcherFactory2)(\u0275\u0275inject(WEB_SOCKET),\u0275\u0275inject(HttpClient),\u0275\u0275inject(IxApiService),\u0275\u0275inject(LoggingDataMetricCacheService),\u0275\u0275inject(LoggingDataClientProxyService),\u0275\u0275inject(LoggingDataErrorService))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:LoggingDataFetcherFactory2,factory:LoggingDataFetcherFactory2.\u0275fac,providedIn:"root"})}}return LoggingDataFetcherFactory2})(),LoggingDataFetcher=class{constructor(http,webSocket2,api,cache,proxy,config4,errorService){this.http=http,this.webSocket=webSocket2,this.api=api,this.cache=cache,this.proxy=proxy,this.config=config4,this.errorService=errorService,this.selectedAssetId=null,this.variableByPublicId=new Map,this.variableMapBySourceId=new Map,this.ready=new BehaviorSubject(!1),this.realTimeMetrics=new Subject,this.realTimeQueryControl=new LoggingDataQueryControl([]),this.realTimeWebSocket=null,this.historicMetrics=new Subject,this.historicQueryControl=new LoggingDataQueryControl([]),this.queryCleanupIsPending$=new BehaviorSubject(!1),this.querySubscriptionMap=new Map([]),this.subscriptions=[],this.config.availabilityStrategy=this.config.availabilityStrategy??LoggingDataConfigAvailabilityStrategy.Default,this.runConfig(),this.runQueryCleanup(),this.runReadyCheck(),this.runRealTimeQueryHandler(),this.runTimeRangeHandler()}onReady(){return this.ready.asObservable().pipe(last(ready=>ready))}runReadyCheck(){this.subscriptions.push(combineLatest([of(!0),...this.config.availabilityStrategy===LoggingDataConfigAvailabilityStrategy.Default?[this.config.authToken.pipe(map(token=>!!token)),this.config.dataSources.pipe(map(dataSources=>!!dataSources)),this.config.tags.pipe(map(tags=>!!tags)),this.config.variables.pipe(map(variables=>!!variables))]:[]]).pipe(map(checks=>checks.every(check=>check),takeUntil(this.ready))).subscribe(ready=>{ready&&(this.ready.next(!0),this.ready.complete())}))}runConfig(){this.subscriptions.push(this.config.agentId.subscribe(agentId=>{this.agentIdList=agentId?[agentId]:void 0}),this.config.agentId.pipe(mergeMap(agentId=>agentId?of(agentId):EMPTY),skip(1)).subscribe(()=>{this.authToken&&(this.authToken=null),this.realTimeWebSocket&&(this.realTimeWebSocket.complete(),this.realTimeWebSocket.unsubscribe(),this.realTimeWebSocket=null)}),this.config.authToken.subscribe(token=>this.authToken=token),this.config.companyId.subscribe(companyId=>this.companyId=companyId),this.config.dataSources.subscribe(sources=>this.dataSources=sources),this.config.tags.subscribe(tags=>this.tags=tags),this.config.variables.pipe(distinctUntilChanged(isEqual_default)).subscribe(variables=>{this.variables=variables,this.errorVariableMapBySourceId=mapBySelector(variables.filter(v=>v.address==="__cloudlogger_error_msg__"),v=>v.source?.publicId),this.variableByPublicId=mapBySelector(variables,v=>v.publicId),this.variableMapBySourceId=mapBySelectorTwice(variables,v=>v.source?.publicId,v=>v.variableId)}),...this.config.assetAppConfigResources?[this.config.assetAppConfigResources.subscribe(resources=>{this.assetAppConfigResources=resources})]:[],...this.config.assets?[this.config.assets.subscribe(assets=>{this.assets=assets||{}})]:[],...this.config.selectedAssetId?[this.config.selectedAssetId.subscribe(id=>{this.selectedAssetId=id})]:[])}runQueryCleanup(){let scope=this.config.scope,namespace=getClientRefNamespace(scope);this.subscriptions.push(merge(this.proxy.onDestroy(scope).pipe(mergeMap(e=>e.detail===namespace?of([e]):EMPTY)),this.proxy.onDestroy(scope).pipe(filter(e=>e.detail!==namespace),tap(()=>{this.queryCleanupIsPending$.getValue()||this.queryCleanupIsPending$.next(!0)}),bufferDebounceTime(0))).subscribe(events=>{let searchStrings=events.map(e=>e.detail),lastDestroyed=Math.max(...events.map(e=>e.timeStamp)),isBefore=q=>!!(q._timeStamp&&q._timeStamp<lastDestroyed);this.clearHistoricQueries(searchStrings,isBefore),this.clearRealTimeQueries(searchStrings,isBefore),this.clearQuerySubscriptions(searchStrings,timeStamp=>timeStamp<lastDestroyed),this.queryCleanupIsPending$.next(!1),logDebugEvent("query-cleanup-complete")}))}runTimeRangeHandler(){this.subscriptions.push(this.config.timeRange.pipe(skip(1),tap(timeRange=>logDebugEvent("time-range-changed",{timeRange})),delay(0),mergeMap(timeRange=>this.queryCleanupIsPending$.getValue()?of(timeRange).pipe(delayWhen(()=>this.queryCleanupIsPending$.pipe(filter(isPending=>!isPending),take(1)))):of(timeRange)),filter(()=>!!this.historicQueryControl.getValue().length),tap(timeRange=>logDebugEvent("time-range-change-triggers-refetch",{queries:this.historicQueryControl.getValue(),timeRange})),withLatestFrom(this.config.timeZone),switchMap(([timeRange,timeZone])=>this.fetchHistoricQueryList(this.historicQueryControl.getValue(),timeRange,timeZone))).subscribe({next:metrics=>this.historicMetrics.next(metrics)}))}nullifyRealTimeQueryMetrics(queries){let metrics=[],time=new Date().getTime();queries.forEach(query=>{let variable=this.variables?.find(v=>v.publicId===query?.variable?.publicId);if(variable){let queryRef=new LoggingDataQueryRef(query,variable),value=LoggingDataValue.create(this.config.locale,queryRef,null);metrics.push({queryRef,time,value})}}),metrics.length&&this.realTimeMetrics.next(metrics)}clearHistoricQueries(searchStrings,predicate){let all=this.historicQueryControl.getValue();if(all.some(q=>searchStrings.some(s2=>q._clientRef?.startsWith(s2)))){let matched=all.filter(q=>searchStrings.some(s2=>q._clientRef?.startsWith(s2)&&(predicate?predicate(q):!0))),unmatched=all.filter(q=>!matched.includes(q));logDebugEvent("clear-queries:historic"),this.historicQueryControl.setValue(unmatched,{emitEvent:!1})}}clearQuerySubscriptions(searchStrings,predicate){this.querySubscriptionMap.forEach((value,keys)=>{let timeStamp=keys[0],refs=keys.slice(1);if(refs.some(ref=>searchStrings.some(s2=>ref.startsWith(s2)))){if(refs.every(ref=>searchStrings.some(s2=>ref.startsWith(s2))))(!predicate||predicate(timeStamp))&&(logDebugEvent("clear-query-subscriptions"),value.forEach(v=>v.unsubscribe()),this.querySubscriptionMap.delete(keys));else if(!predicate||predicate(timeStamp)){let _refs=keys.slice(1).filter(k=>!searchStrings.some(s2=>k.startsWith(s2)));this.querySubscriptionMap.delete(keys),this.querySubscriptionMap.set([timeStamp,..._refs],value)}}})}clearRealTimeQueries(searchStrings,predicate){let all=this.realTimeQueryControl.getValue();if(all.some(q=>searchStrings.some(s2=>q._clientRef?.startsWith(s2)))){let matched=all.filter(q=>searchStrings.some(s2=>q._clientRef?.startsWith(s2))&&(predicate?predicate(q):!0));if(matched.length){let unmatched=all.filter(q=>!matched.includes(q));logDebugEvent("clear-queries:real-time"),this.realTimeQueryControl.setValue(unmatched)}}}fetchHistoricQueryExport(queryList,timeRange,csvDelimiter,timeZone){if(this.companyId&&this.tags&&this.variables){let _queries=this.parseAndValidateQueries(queryList),body=mapQueryListToPostData(_queries,timeRange,this.tags,this.variables,!0,timeZone||void 0),headers=this.api.headers.set(IxApiHeaderKeys.Company,this.companyId),queryRefs=_queries.reduce((acc,query)=>{let tag=this.tags?.find(t=>t.publicId===query.tag?.publicId),variable=tag?.variable?this.variableByPublicId.get(tag.variable.publicId):void 0;return variable?[...acc,new LoggingDataQueryRef(query,variable,tag)]:acc},[]);if(body.length){let urlParams=csvDelimiter!=="comma"?{delimiter:csvDelimiter}:void 0,url=this.api.url("DataExport",urlParams);return this.http.post(url,new Blob([JSON.stringify(body)]),{headers,responseType:"blob"}).pipe(map(blob=>({queryRefs,blob})))}}return EMPTY}fetchHistoricQueryList(queryList,timeRange,timeZone){if(this.companyId&&this.tags?.length&&this.variables?.length){logDebugEvent("fetch:historic",{queryList,timeRange});let historicQueriesWithRefs=queryList.map((q,i)=>__spreadProps(__spreadValues({},q),{ref:getQueryRef(i)})),url=this.api.url("DataList"),body=mapQueryListToPostData(historicQueriesWithRefs.filter(query=>!!query.tag),timeRange,this.tags,this.variables,!1,timeZone||void 0);if(!body.length)return of([]);let headers=this.api.headers.set(IxApiHeaderKeys.Company,this.companyId);return this.http.post(url,body,{headers}).pipe(map(response=>flatMap_default(response.data,data=>data.points)),map(points=>historicQueriesWithRefs.reduce((accMetrics,query)=>{let metrics=[],ref=query.ref,pointsWithRef=points.filter(p=>Object.keys(p.values).includes(ref)),tag=this.tags?.find(t=>t.publicId===query.tag?.publicId),variable=this.variables?.find(v=>v.publicId===tag?.variable?.publicId);if(variable&&pointsWithRef.length)for(let i=0;i<pointsWithRef.length;i++){let point=pointsWithRef[i],time=DateTime.fromISO(point.time).toMillis(),queryRef=new LoggingDataQueryRef(query,variable,tag),value=LoggingDataValue.create(this.config.locale,queryRef,point.values[ref]);metrics.push({queryRef,time,value})}else{let queryRef=new LoggingDataQueryRef(query,variable,tag),time=null,value=LoggingDataValue.create(this.config.locale,queryRef,null);metrics.push(markMetricAsEmpty({queryRef,time,value}))}return[...accMetrics,...metrics]},[])))}return of([])}runRealTimeQueryHandler(){this.subscriptions.push(this.realTimeQueryControl.valueChanges.subscribe(queryList=>{if(this.agentIdList&&queryList.length&&!this.realTimeWebSocket){let url=this.api.url("AgentDataRealTimeWebSocket",{publicIdList:`${this.agentIdList.join(",")},`}),config4={closeObserver:{next:()=>logDebugEvent("real-time-web-socket-closed")},openObserver:{next:()=>{logDebugEvent("real-time-web-socket-opened"),this.realTimeWebSocket&&this.authToken&&this.realTimeWebSocket.next(`Authorization: ${this.authToken}`)}},serializer:value=>value,url};this.realTimeWebSocket=this.webSocket(config4),logDebugEvent("real-time-web-socket-open"),this.subscriptions.push(this.realTimeWebSocket.pipe(retryBackoff({initialInterval:1e3,maxInterval:300*1e3,maxRetries:50,resetOnSuccess:!0,backoffDelay:(iteration,initialInterval)=>(iteration>10?Math.pow(2,iteration-10):1)*initialInterval})).subscribe({error:()=>{this.nullifyRealTimeQueryMetrics(this.realTimeQueryControl.getValue())},next:wsMessage=>{if("error"in wsMessage){console.error(`AgentDataRealTimeWebSocket error: ${wsMessage.error}`),this.nullifyRealTimeQueryMetrics(this.realTimeQueryControl.getValue());return}let now2=new Date().getTime(),metrics=[],sourceId=wsMessage.device.publicId,points=wsMessage.message.points,variableById=this.variableMapBySourceId.get(sourceId),queries=this.realTimeQueryControl.getValue();if(variableById){for(let point of points){let time=now2-(wsMessage.message.sentTime-point.time),rawValues=mapPointToRawValues(point,variableById),errorVariable=this.errorVariableMapBySourceId?.get(sourceId);if(errorVariable&&queries.some(query=>query.variable&&this.variableByPublicId.get(query.variable.publicId)?.source?.publicId===sourceId)){let errorValue=rawValues[errorVariable.publicId];typeof errorValue=="string"&&this.errorService.setErrorMessageForDataSource(errorValue,sourceId)}for(let query of queries){let variable=query.variable?.publicId?this.variableByPublicId.get(query.variable.publicId):void 0,queryRef=new LoggingDataQueryRef(query,variable,void 0,()=>{this.nullifyRealTimeQueryMetrics([query]),this.realTimeQueryControl.setValue(this.realTimeQueryControl.getValue().filter(q=>q!==query))});if(variable&&variable.publicId in rawValues){let rawValue=rawValues[variable.publicId];if(variable.type&&["int","float"].includes(variable.type)){let factor=query.factor??variable.factor??null;factor!==null&&(rawValue=calcFactor(rawValue,typeof factor=="string"?parseFloat(factor):factor))}let value=LoggingDataValue.create(this.config.locale,queryRef,rawValue);metrics.push({queryRef,time,value})}else{let cachedMetric=this.cache.get(query);if(cachedMetric)metrics.push(cachedMetric);else{let value=LoggingDataValue.create(this.config.locale,queryRef,null),emptyMetric=markMetricAsEmpty({queryRef,time,value});metrics.push(emptyMetric)}}}}metrics.length&&(this.cache.fill(metrics),this.realTimeMetrics.next(metrics))}}}))}}),this.realTimeQueryControl.valueChanges.pipe(debounceTime(2e3)).subscribe(queryList=>{queryList.length===0&&(this.cache.clear(),this.realTimeWebSocket&&(this.realTimeWebSocket.complete(),this.realTimeWebSocket.unsubscribe(),this.realTimeWebSocket=null))}),this.config.authToken.subscribe(token=>{this.realTimeWebSocket&&this.realTimeWebSocket.next(`Authorization: ${token}`)}))}export(queries,csvDelimiter="comma"){let queriesWithRefs=queries.map(query=>__spreadProps(__spreadValues({},query),{ref:query.ref||""})),queriesWithTruncatedRefs=truncateQueryRefsForHeading(queriesWithRefs);return(this.config.beforeFetch?.(queriesWithTruncatedRefs).pipe(take(1))||of(queriesWithTruncatedRefs)).pipe(withLatestFrom(this.config.timeRange,this.config.timeZone),mergeMap(([_queries,timeRange,timeZone])=>this.fetchHistoricQueryExport(_queries,timeRange,csvDelimiter,timeZone)))}fetch(queries){return this.ready.getValue()?(this.config.beforeFetch?.(queries).pipe(take(1))||of(queries)).pipe(map(_queries=>this.parseAndValidateQueries(_queries)),mergeMap(validQueries=>{let historicMetrics=new Subject,historicQueries=validQueries.filter(query=>!isUndefined_default(query.tag)),realTimeMetrics=new Subject,realTimeQueries=validQueries.filter(query=>!isUndefined_default(query.variable));if(this.agentIdList?.length){if(historicQueries.length&&this.tags){this.historicQueryControl.setValue([...this.historicQueryControl.getValue(),...historicQueries]);let stamp=Math.max(...historicQueries.map(q=>q._timeStamp)),refs=uniq_default(historicQueries.map(q=>q._clientRef));this.querySubscriptionMap.set([stamp,...refs],[this.historicMetrics.subscribe(historicMetrics),this.config.timeRange.pipe(withLatestFrom(this.config.timeZone),take(1),mergeMap(([timeRange,timeZone])=>this.fetchHistoricQueryList(historicQueries,timeRange,timeZone))).subscribe(metrics=>historicMetrics.next(metrics)),{unsubscribe:()=>historicMetrics.complete()}])}if(realTimeQueries.length){this.realTimeQueryControl.setValue([...this.realTimeQueryControl.getValue(),...realTimeQueries]);let stamp=Math.max(...realTimeQueries.map(q=>q._timeStamp)),refs=uniq_default(realTimeQueries.map(q=>q._clientRef));this.querySubscriptionMap.set([stamp,...refs],[this.realTimeMetrics.subscribe(realTimeMetrics),{unsubscribe:()=>realTimeMetrics.complete()}])}}return merge(historicMetrics,realTimeMetrics).pipe(mergeMap(_metrics=>this.config.afterFetch?this.config.afterFetch(_metrics).pipe(take(1)):of(_metrics)))})):this.onReady().pipe(switchMap(()=>this.fetch(queries)))}destroy(){this.cache.clear(),this.ready.complete(),this.historicMetrics.complete(),this.historicQueryControl.complete(),this.realTimeMetrics.complete(),this.realTimeQueryControl.complete(),this.realTimeWebSocket?.complete(),this.querySubscriptionMap.forEach(value=>value.forEach(v=>v.unsubscribe())),this.subscriptions.forEach(subscription=>subscription.unsubscribe())}parseAndValidateQueries(queries){if(queries.forEach(query=>{if(!query.selector&&!query.tag&&!query.variable)throw"Invalid query: "+JSON.stringify(query);if(query.postAggr&&query.offset!==void 0)throw"Query postAggr and offset combination not allowed"}),queries.some(query=>query.selector&&!query.tag&&!query.variable)){let _log=environment.production?()=>{}:console.warn;return queries.reduce((_queries,query)=>{if(query.selector&&!query.tag&&!query.variable){let{dataSource,logName,logType,target,type}=parseSelector(query.selector);if(type==="Agent"){let agentId=this.agentIdList?.length&&target==="selected"?this.agentIdList[0]:target,sourceId=this.dataSources?.find(s2=>s2.agent?.publicId===agentId&&s2.slug===dataSource)?.publicId||null;if(sourceId){if(logType==="tag"){let found=this.tags?.find(t=>t.source?.publicId===sourceId&&t.slug===logName);if(found)return[..._queries,__spreadProps(__spreadValues({},query),{tag:{publicId:found.publicId}})];_log("Query selector (%s) cannot be matched to a tag",query.selector)}else if(logType==="variable"){let found=this.variables?.find(v=>v.source?.publicId===sourceId&&v.slug===logName);if(found)return[..._queries,__spreadProps(__spreadValues({},query),{variable:{publicId:found.publicId}})];_log("Query selector (%s) cannot be matched to a variable",query.selector)}}else _log("Query selector (%s) cannot be matched to a data-source",query.selector);if(logType==="tag")return[..._queries,__spreadProps(__spreadValues({},query),{tag:null})];if(logType==="variable")return[..._queries,__spreadProps(__spreadValues({},query),{variable:null})]}else if(type==="Asset"){let targetAsset=null,metricSlug=logName;if(logName.includes(".")){let parts=logName.split(".");metricSlug=parts.pop(),targetAsset=this.selectedAssetId?this.resolveAssetPath(parts,this.assets??[],this.selectedAssetId):null}else targetAsset=this.assets?.find(a=>a.publicId===this.selectedAssetId)??null;if(!targetAsset)return _log("Invalid asset path: does not belong to selected asset subtree."),[..._queries,__spreadProps(__spreadValues({},query),{tag:null})];let appConfigIds=(targetAsset?.appConfigs??[]).map(c=>c.publicId),matchingResource=(this.assetAppConfigResources??[]).find(r=>r.slug===metricSlug&&r.config?.publicId&&appConfigIds.includes(r.config.publicId));if(matchingResource){let tag=this.tags?.find(t=>t.publicId===matchingResource.resourcePublicId);return tag?[..._queries,__spreadProps(__spreadValues({},query),{tag:{publicId:tag.publicId}})]:[..._queries,__spreadProps(__spreadValues({},query),{tag:null})]}else return _log("Query selector (%s) cannot be matched",query.selector),[..._queries,__spreadProps(__spreadValues({},query),{tag:null})]}else _log("Query selector (%s) cannot be matched",query.selector)}return[..._queries,query]},[])}return queries}resolveAssetPath(assetPaths,assets,selectedAssetId){if(!assetPaths?.length||!assets?.length||!selectedAssetId||!assets.find(a=>a.publicId===selectedAssetId))return null;let firstSlug=assetPaths[0],currentAsset=assets.filter(a=>a.parent?.publicId===selectedAssetId).find(a=>a.slug===firstSlug)??null;if(!currentAsset)return null;for(let i=1;i<assetPaths.length;i++){let slug=assetPaths[i],child=assets.find(a=>a.slug===slug&&a.parent?.publicId===currentAsset?.publicId);if(!child)return null;currentAsset=child}return currentAsset}};var AUTH_LOGOUT_INITIALIZER=new InjectionToken("auth.logout-intializer");var logIn=createAction("[App] Log In",props()),logInFailure=createAction("[IxApi] Log In Failure",props()),logInSuccess=createAction("[IxApi] Log In Success",props()),logOut=createAction("[App] Log Out"),logOutSuccess=createAction("[App] Log Out Success"),loggedOutByApi=createAction("[IxApi] Access Token Removed"),loggedOutByStorage=createAction("[Storage] Access Token Removed"),otpRequired=createAction("[IxApi] One-time Password Required",props()),redirectToLogin=createAction("[Auth] Redirect To Login"),invalidOrExpired=createAction("[IxApi] Invalid or Expired Access Token");var TOKEN_STORAGE_KEY="auth";function LayerComponent_ng_template_2_Template(rf,ctx){}var LayerComponent=(()=>{class LayerComponent2{static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||LayerComponent2)}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:LayerComponent2,selectors:[["ix-layer"]],decls:3,vars:1,consts:[[1,"ix-container"],[1,"ix-surface"],[3,"cdkPortalOutlet"]],template:function(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"div",0)(1,"div",1),\u0275\u0275template(2,LayerComponent_ng_template_2_Template,0,0,"ng-template",2),\u0275\u0275elementEnd()()),rf&2&&(\u0275\u0275advance(2),\u0275\u0275property("cdkPortalOutlet",ctx.portal))},dependencies:[PortalModule,CdkPortalOutlet],styles:["[_nghost-%COMP%]{position:absolute;inset:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);overflow:visible;backface-visibility:visible;pointer-events:none;z-index:110;transform-origin:50% 50%;will-change:transform,opacity;contain:style}[_nghost-%COMP%] .ix-container[_ngcontent-%COMP%]{background-color:var(--body-bg);color:var(--body-color)}"],changeDetection:0})}}return LayerComponent2})();function animateIn2(element,done,origin){let transformOrigin="50% 50%";if(document&&origin){let x=Math.round(origin.x/document.documentElement.clientWidth*100),y=Math.round(origin.y/document.documentElement.clientHeight*100);transformOrigin=`${x}% ${y}%`}gsapWithCSS.fromTo(element,{scale:.875,opacity:0,y:20},{scale:1,opacity:1,y:0,transformOrigin,duration:.25,ease:"power3",onComplete:done,force3D:!0})}function animateOut2(element,done){gsapWithCSS.to(element,{opacity:0,duration:.2,ease:"power3",onComplete:done,force3D:!0})}var LayerRef=class{constructor(_ngZone,componentRef,afterOpened,config4){this._ngZone=_ngZone,this.componentRef=componentRef,this._afterClosed=new Subject,this.closing=!1,this.closed=!1,this._afterOpened=afterOpened,this.config=__spreadValues({data:{}},config4)}afterClosed(){return this._afterClosed.asObservable()}afterOpened(){return this._afterOpened.asObservable()}close(){if(this.closing)return;this.closing=!0;let{nativeElement}=this.componentRef.location;requestAnimationFrame(()=>{animateOut2(nativeElement,()=>{this._ngZone.run(()=>{this.componentRef.destroy(),nativeElement.remove(),this.closed=!0,this._afterClosed.next(),this._afterClosed.complete()})})})}};var LAYER_DATA=new InjectionToken("LayerData"),LAYER_REF_CACHE=new InjectionToken("LayerRefCache"),LAYER_AFTER_OPENED=new InjectionToken("LayerAfterOpened",{providedIn:"root",factory:()=>new Subject}),LayerService=(()=>{class LayerService2{constructor(){this.layerRefs=inject(LAYER_REF_CACHE),this._afterOpened=inject(LAYER_AFTER_OPENED),this.ngZone=inject(NgZone),this.injector=inject(Injector),this.resolver=inject(ComponentFactoryResolver$1),this.afterOpened=this._afterOpened.asObservable(),this.vcRef=inject(APP_VIEW_CONTAINER)}open(component,config4){return this.attach(component,config4)}getAll(){return this.layerRefs.filter(ref=>!ref.closed)}closeAll(){for(;this.layerRefs.length;){let ref=this.layerRefs.pop();ref&&!ref.closed&&ref.close()}}attach(component,config4){let componentRef=this.resolver.resolveComponentFactory(LayerComponent).create(this.injector),afterOpened=new Subject,ref=new LayerRef(this.ngZone,componentRef,afterOpened,config4),injector=this.createInjector(ref,config4),portal=new ComponentPortal(component,void 0,injector);if(componentRef.instance.portal=portal,config4?.layerClass&&componentRef.location.nativeElement.classList.add(config4.layerClass),this.vcRef()?.insert(componentRef.hostView),event instanceof MouseEvent){let origin={x:event.x,y:event.y};requestAnimationFrame(()=>{animateIn2(componentRef.location.nativeElement,()=>{this.ngZone.run(()=>{afterOpened.next(),afterOpened.complete(),this._afterOpened.next(ref)})},origin)})}else requestAnimationFrame(()=>{this.ngZone.run(()=>{afterOpened.next(),afterOpened.complete(),this._afterOpened.next(ref)})});return this.layerRefs.includes(ref)||(this.layerRefs.forEach((r,i)=>{r.closed&&this.layerRefs.splice(i,1)}),this.layerRefs.unshift(ref)),ref}createInjector(layerRef,config4){return Injector.create({providers:[{provide:LAYER_DATA,useValue:config4?.data||null},{provide:LayerRef,useValue:layerRef}]})}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||LayerService2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:LayerService2,factory:LayerService2.\u0275fac})}}return LayerService2})();function getBasicAuthHeader(credentials){let{emailAddress,password,oneTimePassword}=credentials;return`Basic ${gBase64.encode(emailAddress+":"+(oneTimePassword||"")+":"+password)}`}function getBearerAuthHeader(token){return`Bearer ${mapTokenToSecretId(token)}`}function mapTokenToSecretId(token){return token.slice(0,32)}function mapTokenToPublicId(token){return token.slice(32)}function hasIncorrectCredentials(errors2){return errors2.some(error3=>error3.message===IxApiRequestErrorMessages.BASIC_AUTH_FAILED)}function hasOtpRequired(errors2){return errors2.some(error3=>error3.message===IxApiRequestErrorMessages.OTP_REQUIRED||error3.message===IxApi2RequestErrorMessages.OTP_REQUIRED||error3.message.match(OTP_SMS_REQUIRED_PATTERN))}function hasOtpError(errors2){return errors2.some(error3=>["Two Factor Authentication failed","Value is too long","Value is too short","Value does not match regex expression"].includes(error3.message))}function hasLoginIsRateLimited(errors2){return errors2.some(error3=>error3.message==="Login is rate limited")}function hasOtpSmsEnableRateLimited(errors2){return errors2.some(error3=>error3.message==="Enabling OTP via SMS is rate limited")}function hasUserInactive(errors2){return errors2.some(error3=>error3.message==="User not active")}function hasSsoFailure(errors2){return errors2.some(error3=>error3.message==="Invalid value"&&error3.propertyName==="ssoAuthentication.code")&&errors2.some(error3=>error3.message==="Invalid value"&&error3.propertyName==="ssoAuthentication.state")}var ensureAll20=createAction("[App] Ensure All AccessTokens"),loadAll19=createAction("[App] Load All AccessTokens"),loadAllFailure19=createAction("[IxApi] Load All AccessTokens Failure",props()),loadAllSuccess20=createAction("[IxApi] Load All AccessTokens Success",props()),didAdd31=createAction("[ChangeNotification] AccessToken Was Added",props()),didRemove30=createAction("[ChangeNotification] AccessToken Was Removed",props()),remove24=createAction("[App] Remove AccessToken",props()),removeSuccess24=createAction("[IxApi] Remove AccessToken Success",props()),removeList5=createAction("[App] Remove AccessToken List",props()),removeListSuccess5=createAction("[IxApi] Remove AccessToken List Success",props()),removeOthers=createAction("[App] Remove Other AccessTokens",props()),reset30=createAction("[App] Reset AccessToken State"),shouldRemove4=createAction("[OptimisticMutation] AccessToken Should Remove",props());var FEATURE_NAME14="accessToken";var UUID=class{static v4(){let id="",i;for(i=0;i<36;i++)i===14?id+="4":i===19?id+="89ab".charAt(getRandom(4)):i===8||i===13||i===18||i===23?id+="-":id+="0123456789abcdef".charAt(getRandom(16));return id;function getRandom(max3){return Math.random()*max3}}};var DEVICE_IDENTIFIER_STORAGE_KEY="device-identifier",APP_DEVICE_IDENTIFIER=new InjectionToken("app.device-identifier",{providedIn:"root",factory:()=>{let storage=inject(StorageService);return storage.has(DEVICE_IDENTIFIER_STORAGE_KEY)||storage.setEncrypted(DEVICE_IDENTIFIER_STORAGE_KEY,UUID.v4(),1/0),storage.get(DEVICE_IDENTIFIER_STORAGE_KEY)}});var AccessTokenService=(()=>{class AccessTokenService2{constructor(){this.api=inject(IxApiService),this.deviceIdentifier=inject(APP_DEVICE_IDENTIFIER),this.http=inject(HttpClient)}add(create,authorization){let url=this.api.url("AccessTokenList"),headers=this.api.headers.set("Authorization",authorization).set(IxApiHeaderKeys.DeviceIdentifier,this.deviceIdentifier),params=new HttpParams({fromObject:{fields:"*,user(*,custom.*,otpAuth.*,acceptedTermsOfUsePolicies(*,policy))"}}),options={headers,params};return this.http.post(url,create,options)}addSso(create){let url=this.api.url("SsoAccessTokenList"),context3=new HttpContext().set(REQUIRES_BRANDING,!0),headers=this.api.headers.delete("Authorization"),params=new HttpParams({fromObject:{fields:"*,user(*,custom.*,otpAuth.*,acceptedTermsOfUsePolicies.policy)"}}),options={context:context3,headers,params};return this.http.post(url,create,options)}getAll(fields){return whileMoreAfter(moreAfter=>this.getList(fields,moreAfter))}getList(fields,pageAfter,pageSize){let url=this.api.url("AccessTokenList"),headers=this.api.headers,params=new HttpParams({fromObject:__spreadValues({fields:fields.join(",")},getPageParams(pageAfter,pageSize))}),options={headers,params};return this.http.get(url,options)}getByPublicId(publicId,fields){let url=this.api.url("AccessToken",{publicId}),headers=this.api.headers,params=new HttpParams({fromObject:{fields:fields.join(",")}}),options={headers,params};return this.http.get(url,options)}removeByPublicId(publicId){let url=this.api.url("AccessToken",{publicId}),options={headers:this.api.headers};return this.http.delete(url,options)}removeByPublicIdList(publicIdList){let url=this.api.url("AccessTokenList"),headers=this.api.headers,body=publicIdList.map(publicId=>({publicId})),options={headers,body};return this.http.delete(url,options)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AccessTokenService2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AccessTokenService2,factory:AccessTokenService2.\u0275fac,providedIn:"root"})}}return AccessTokenService2})();function sortByCreatedOn(a,b){return a.created?.on&&b.created?.on?a.created.on===b.created.on?0:a.created.on>b.created.on?-1:1:0}var adapter13=createResourceAdapter({sortComparer:sortByCreatedOn}),initialState14=adapter13.getInitialState(),reducer11=createReducer(initialState14,on(reset30,()=>__spreadValues({},initialState14)),on(didAdd31,(state,{data})=>adapter13.upsertOne(data,state)),on(loadAll19,state=>__spreadProps(__spreadValues({},state),{allLoading:!0})),on(loadAllFailure19,state=>__spreadProps(__spreadValues({},state),{allLoading:!1})),on(loadAllSuccess20,(state,{data})=>adapter13.setAll(data,__spreadProps(__spreadValues({},state),{allLoading:!1,allLoaded:!0}))),on(shouldRemove4,removeSuccess24,didRemove30,(state,{publicId})=>adapter13.removeOne(publicId,state)),on(removeListSuccess5,(state,{publicIdList})=>adapter13.removeMany(publicIdList,state))),feature11=createFeature({name:FEATURE_NAME14,reducer:reducer11});var selectAll13=createSelector(feature11.selectAccessTokenState,adapter13.getSelectors().selectAll),selectEntity7=publicId=>createSelector(feature11.selectEntities,entities=>publicId&&entities[publicId]||null),{selectAllLoading:selectAllLoading11,selectAllLoaded:selectAllLoaded11}=feature11;var AuthService=(()=>{class AuthService2{constructor(storage,accessTokenService){this.storage=storage,this.accessTokenService=accessTokenService,this.tokenSubject=new BehaviorSubject(this.storage.get(TOKEN_STORAGE_KEY)),this.token=this.tokenSubject.asObservable(),this.isAuthenticated=this.token.pipe(map(token=>!!token)),this.storage.watch(TOKEN_STORAGE_KEY).subscribe(token=>{this.tokenSubject.next(token)})}forgetToken(){this.storage.remove(TOKEN_STORAGE_KEY)}loginWithCredentials(credentials,remember,trustedDeviceName=null){return this.accessTokenService.add(__spreadValues({expiresIn:remember?2592e3:86400},trustedDeviceName?{trustedDeviceName}:{}),getBasicAuthHeader(credentials)).pipe(map(response=>response.data))}logout(){let token=this.tokenSubject.getValue();return token?this.accessTokenService.removeByPublicId(mapTokenToPublicId(token)):of({status:"success",data:null,type:"Null"})}createDerivedToken(create={expiresIn:86400,trustedDeviceName:null,scope:null}){let value=this.tokenSubject.getValue();return value?this.accessTokenService.add(create,getBearerAuthHeader(value)).pipe(map(response=>response.data)):throwError(()=>new Error("No token available"))}setToken(response){let expires=Math.floor(new Date(response.expiresOn).getTime()/1e3);this.storage.setEncrypted(TOKEN_STORAGE_KEY,`${response.secretId}${response.publicId}`,expires)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AuthService2)(\u0275\u0275inject(StorageService),\u0275\u0275inject(AccessTokenService))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AuthService2,factory:AuthService2.\u0275fac,providedIn:"root"})}}return AuthService2})();var FEATURE_NAME15="cnsSystem";var MARKED_DIRTY_DATA_KEY="$dirty",PROPERTY_DELIMITER=new RegExp("[@=]"),DATA_PROPERTY_DELIMITER=".",OWN_PUBLIC_ID="me",AUTH_TOKEN_EXPIRY=3600,AUTH_TOKEN_EXPIRY_CHECK_INTERVAL=Math.max(Math.round(AUTH_TOKEN_EXPIRY/12),10),AUTH_TOKEN_EXPIRY_MS=AUTH_TOKEN_EXPIRY*1e3,AUTH_TOKEN_EXPIRY_CHECK_INTERVAL_MS=AUTH_TOKEN_EXPIRY_CHECK_INTERVAL*1e3;function flattenChangeNotification(change,resOpts){if(isArray_default(change))return change.reduce((changeNotificationList,cn)=>[...changeNotificationList,...flattenChangeNotification(cn,resOpts)],[]);if(change.act?.startsWith("M")&&isArray_default(change.dat)){if(change.dat.length>1){let rel=mapChangeNotificationToRel(change),opt=resOpts?.find(o=>o.rel instanceof RegExp?o.rel.test(rel):o.rel===rel);if(opt?.chunkSize)return opt.chunkSize===1/0?[change]:chunk_default(change.dat,opt.chunkSize).map(dat=>__spreadProps(__spreadValues({},change),{dat}))}let act=change.act?.replace("MXT","EXT").replace("MDD","ADD").replace("MDL","DEL");return change.dat.map(dat=>__spreadProps(__spreadValues({},change),{act,dat}))}return isArray_default(change.sel)?change.sel.map(sel=>__spreadProps(__spreadValues({},change),{sel})):[change]}function mapChangeNotificationToAction(change){let type=mapChangeNotificationToActionType(change),payload=mapChangeNotificationToActionPayload(change);return createAction(type,props())(payload)}function mapChangeNotificationToActionType(change){let rel=mapChangeNotificationToRel(change);switch(change.act){case"ADD":case"LAD":return`[ChangeNotification] ${rel} Was Added`;case"MDD":return`[ChangeNotification] ${rel} List Was Added`;case"DEL":case"LRM":return`[ChangeNotification] ${rel} Was Removed`;case"MDL":return`[ChangeNotification] ${rel} List Was Removed`;case"REP":case"EXT":return`[ChangeNotification] ${rel} Was Updated`;case"MXT":return`[ChangeNotification] ${rel} List Was Updated`;default:return`[ChangeNotification] ${rel} Was Touched`}}function mapChangeNotificationToActionPayload(change){let data=change.dat,selector3=isArray_default(change.sel)?change.sel[0]:change.sel,path=selector3.pat?selector3.pat:"",type=selector3.typ,payload={};if(path.includes(DATA_PROPERTY_DELIMITER)){let parts=path.split(DATA_PROPERTY_DELIMITER);parts.slice().reverse().forEach((part,index)=>{if(part.includes("#")){let[prop,publicId]=part.split("#"),key=publicId===getMainResourceId(path)?"publicId":prop!==""?propToId(prop):relToId(type);payload[key]=publicId==="null"?null:publicId}else if(PROPERTY_DELIMITER.test(part)){let[,key,value]=part.split(PROPERTY_DELIMITER);payload[key]=isNaN(Number(value))?value:Number(value)}else parts.slice(parts.length-index).some(p=>p.includes("#"))||(data=data!==void 0?{[part]:data}:data)})}else if(path.includes("#")){let publicId=path.slice(1);publicId!==OWN_PUBLIC_ID&&(payload.publicId=publicId)}return isDirty(data)?markAsDirty(__spreadProps(__spreadValues(__spreadValues({},getIds(data)),payload),{data:void 0})):__spreadProps(__spreadValues(__spreadValues({},getIds(data)),payload),{data:isObject_default(data)?isArray_default(data)?[...data]:__spreadValues({},data):data})}function mapChangeNotificationToRel(change){let selector3=isArray_default(change.sel)?change.sel[0]:change.sel,path=selector3.pat?selector3.pat:"",type=selector3.typ;if(path.includes(DATA_PROPERTY_DELIMITER)){let parts=path.split(DATA_PROPERTY_DELIMITER);return parts.reduce((rel,part,i)=>{if(part.includes("#")){let prop=part.split("#")[0];return`${rel}${propToRel(prop)}`}if(PROPERTY_DELIMITER.test(part)){let prop=part.split(PROPERTY_DELIMITER)[0];return`${rel}${propToRel(prop)}`}return parts.slice(i+1).some(p=>p.includes("#"))?`${rel}${propToRel(part)}`:`${rel}`},type)}return type}function markAsDirty(action){return __spreadValues({$dirty:!0},action)}function markAsTransformed(action){return __spreadValues({$transformed:!0},action)}function isDirty(data){if(isObject_default(data)){let key=_keysInObject(data).find(key2=>key2.includes(MARKED_DIRTY_DATA_KEY));if(key)return get_default(data,key,!1)}return!1}function getIds(data){let publicId=_getPublicId(data),publicIdList=_getPublicIdList(data);return __spreadValues(__spreadValues(__spreadValues({},publicId?{publicId}:{}),publicIdList?{publicIdList}:{}),_getContextIds(data))}function _getContextIds(data){let ids={};return isObject_default(data)&&Object.keys(data).forEach(key=>{["agent","asset","device","user"].includes(key)&&data[key]?.publicId&&(ids[`${key}Id`]=data[key].publicId)}),ids}function _getPublicId(data){if(isObject_default(data))return data?.publicId}function _getPublicIdList(data){if(isArray_default(data))return data.map(_getPublicId)}function _keysInObject(obj){let addDelimiter=(a,b)=>a?`${a}.${b}`:b,paths=(obj2={},head="")=>Object.entries(obj2).reduce((product,[key,value])=>{let fullPath=addDelimiter(head,key);return isObject_default(value)?product.concat(paths(value,fullPath)):product.concat(fullPath)},[]);return paths(obj)}function getMainResourceId(path){if(path.includes("#"))return(path.includes(DATA_PROPERTY_DELIMITER)?path.split(DATA_PROPERTY_DELIMITER):[path]).slice().reverse().filter(part=>part.includes("#")||PROPERTY_DELIMITER.test(part)).map(part=>part.includes("#")?part.split("#")[1]:null)[0]}function getSuffix(value){return value=kebabCase_default(value),value.includes("-")?value.slice(value.lastIndexOf("-")+1):value}function propToRel(prop){return upperFirst_default(camelCase_default(prop.endsWith("ies")?`${prop.slice(0,-3)}y`:prop.endsWith("s")?prop.slice(0,-1):prop))}function propToId(prop){return relToId(propToRel(prop))}function relToId(rel){return`${getSuffix(rel)}Id`}var CHANGE_NOTIFICATION_INTERCEPTORS=new InjectionToken(`${FEATURE_NAME15}-interceptors`,{providedIn:"root",factory:()=>[]});var CHANGE_NOTIFICATION_RESOURCE_OPTIONS=new InjectionToken(`${FEATURE_NAME15}-resource-options`,{providedIn:"root",factory:()=>[]});var AuthTokenService=(()=>{class AuthTokenService2{constructor(){this.api=inject(IxApiService),this.http=inject(HttpClient)}getForAiAssistant(body){let url=this.api.url("AuthTokenAiChatList"),options={headers:this.api.headers};return this.http.post(url,body,options)}getForChangeNotifications(body){let url=this.api.url("AuthTokenChangeNotificationsList"),options={headers:this.api.headers};return this.http.post(url,body,options)}getForData(body){let url=this.api.url("AuthTokenDataList"),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context3,headers};return this.http.post(url,body,options)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AuthTokenService2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AuthTokenService2,factory:AuthTokenService2.\u0275fac,providedIn:"root"})}}return AuthTokenService2})();var ChangeNotificationsService=(()=>{class ChangeNotificationsService2{constructor(ngZone,api,authTokenService,store,webSocket2,interceptors,resOpts){this.ngZone=ngZone,this.api=api,this.authTokenService=authTokenService,this.store=store,this.webSocket=webSocket2,this.interceptors=interceptors,this.resOpts=resOpts,this.aut$=new BehaviorSubject(null),this.sub$=new BehaviorSubject([]),this.userId=null}start(){let url=this.api.url("ChangeNotificationWebSocket"),initialized$=new Subject,config4={url,openObserver:{next:openEvent=>{this.socket$&&this.aut$.getValue()&&this.socket$.next({aut:this.aut$.getValue(),sub:this.sub$.getValue()}),initialized$.next(openEvent),initialized$.complete()}},closeObserver:{next:closeEvent=>{initialized$.next(closeEvent),initialized$.complete()}},protocol:"change-notifications",serializer:value=>JSON.stringify(value)};this.socket$=this.webSocket(config4);let socketAsObservable$=this.socket$.pipe(mergeMap(event2=>flattenChangeNotification(event2,this.resOpts)),map(event2=>mapChangeNotificationToAction(event2)),retryBackoff({initialInterval:1e3,maxInterval:300*1e3,maxRetries:50,resetOnSuccess:!0,backoffDelay:(iteration,initialInterval)=>(iteration>10?Math.pow(2,iteration-10):1)*initialInterval}));return this.socketSubscription=socketAsObservable$.subscribe({next:action=>{if(this.interceptors.length){let reduced=this.interceptors.reduceRight((acc,interceptor)=>interceptor.intercept(acc),action);!environment.production&&!isEqual_default(action,reduced)?action=markAsTransformed(reduced):action=reduced}this.ngZone.run(()=>{this.store.dispatch(action)})}}),initialized$.asObservable()}stop(){this.socketSubscription&&this.socketSubscription.unsubscribe(),this.socket$=null,this.socketSubscription=null,this.aut$.next(null),this.sub$.next([])}setUser(userId){this.userId=userId}unsetUser(){this.userId=null}setCompany(company){if(this.socket$){let currSub=this.sub$.getValue(),nextSub=[`Company/${company}`,`UserCompany/${this.userId}/${company}`];isEqual_default(currSub,nextSub)||(this.sub$.next(nextSub),this.socket$.next({sub:nextSub}))}}unsetCompany(){this.socket$&&(this.sub$.next([]),this.socket$.next({sub:[]}))}generateAuthToken(){return this.authTokenService.getForChangeNotifications({expiresIn:AUTH_TOKEN_EXPIRY}).pipe(map(response=>response.data))}setAuthorization(token){this.socket$&&(this.aut$.next(token),this.socket$.next({aut:token,sub:this.sub$.getValue()}))}unsetAuthorization(){this.socket$&&(this.aut$.next(null),this.socket$.next({aut:null,sub:[]}))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||ChangeNotificationsService2)(\u0275\u0275inject(NgZone),\u0275\u0275inject(IxApiService),\u0275\u0275inject(AuthTokenService),\u0275\u0275inject(Store),\u0275\u0275inject(WEB_SOCKET),\u0275\u0275inject(CHANGE_NOTIFICATION_INTERCEPTORS),\u0275\u0275inject(CHANGE_NOTIFICATION_RESOURCE_OPTIONS))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:ChangeNotificationsService2,factory:ChangeNotificationsService2.\u0275fac,providedIn:"root"})}}return ChangeNotificationsService2})();var AuthEffects=(()=>{class AuthEffects2{constructor(){this.accessTokenService=inject(AccessTokenService),this.actions$=inject(Actions),this.apiRequestErrors$=inject(IxApiRequestErrors),this.authLogoutInitializer=inject(AUTH_LOGOUT_INITIALIZER),this.authService=inject(AuthService),this.layerService=inject(LayerService),this.location=inject(Location),this.matDialog=inject(MatDialog),this.route=inject(ActivatedRoute),this.router=inject(Router),this.storage=inject(StorageService),this.viewerService=inject(ViewerService),this.changeNotificationsService=inject(ChangeNotificationsService),this.login$=createEffect(()=>this.actions$.pipe(ofType(logIn),switchMap(({credentials,remember,trustedDeviceName})=>this.authService.loginWithCredentials(credentials,remember,trustedDeviceName).pipe(map(data=>logInSuccess({data})),catchError(errorResponse=>of(logInFailure({errors:errorResponse.error?.data??[]}))))))),this.loginSuccess$=createEffect(()=>this.actions$.pipe(ofType(logInSuccess),tap(({data})=>{if(this.authService.setToken(data),this.route.snapshot.queryParamMap.has("next")){let next=this.route.snapshot.queryParams.next;this.router.navigateByUrl(next)}else this.router.navigate(["/"])})),{dispatch:!1}),this.logout$=createEffect(()=>this.actions$.pipe(ofType(logOut),switchMap(()=>forkJoin(this.authLogoutInitializer.map(factory2=>factory2()))),map(()=>logOutSuccess()))),this.logoutConfirm$=createEffect(()=>this.actions$.pipe(ofType(logOutSuccess),delay(0),tap(()=>{this.authService.logout().subscribe(),this.authService.forgetToken(),this.changeNotificationsService.unsetUser(),window.dispatchEvent(new CustomEvent(FeatureEventType.LoggedOut))}),map(()=>redirectToLogin()))),this.invalidOrExpired$=createEffect(()=>this.actions$.pipe(ofType(invalidOrExpired),tap(()=>this.authService.forgetToken()),map(()=>loggedOutByApi()))),this.loggedOut$=createEffect(()=>this.actions$.pipe(ofType(loggedOutByApi,loggedOutByStorage),tap(()=>{window.dispatchEvent(new CustomEvent(FeatureEventType.LoggedOut))}),map(()=>redirectToLogin()))),this.otpRequired$=createEffect(()=>this.actions$.pipe(ofType(logInFailure),filter(({errors:errors2})=>hasOtpRequired(errors2)),map(({errors:errors2})=>{let otpSmsError=errors2.find(error3=>error3.message.match(OTP_SMS_REQUIRED_PATTERN)),phoneNumber;return otpSmsError&&(phoneNumber=otpSmsError.message.match(OTP_SMS_REQUIRED_PATTERN)?.[1]),otpRequired({phoneNumber})}))),this.redirectToLogin$=createEffect(()=>this.actions$.pipe(ofType(redirectToLogin),tap(()=>{this.matDialog.closeAll(),this.layerService.closeAll(),this.viewerService.closeAll();let next=null,urlTree=this.router.parseUrl(this.router.url);urlTree.queryParamMap.has("next")?next=urlTree.queryParamMap.get("next"):this.location.path().startsWith("/login")||(next=this.location.path());let redirectUrl=environment.appName==="Portal"?"/":"/login";this.router.navigate([redirectUrl],next?{queryParams:{next}}:void 0)})),{dispatch:!1}),this.accessTokenRemoved$=createEffect(()=>this.actions$.pipe(ofType(didRemove30),withLatestFrom(this.authService.token),filter(([{publicId},token])=>token?mapTokenToPublicId(token)===publicId:!1),map(()=>invalidOrExpired()))),this.logInSuccess$=createEffect(()=>this.actions$.pipe(ofType(logInSuccess),filter(({data})=>!!data.user),map(({data})=>loginLoadMeSuccess({data:data.user})))),this.myUserLoaded$=createEffect(()=>this.actions$.pipe(ofType(loginLoadMeSuccess,loadMeSuccess3),tap(({data})=>{this.changeNotificationsService.setUser(data.publicId),window.dispatchEvent(new CustomEvent(FeatureEventType.LoggedIn,{detail:data.publicId}))})),{dispatch:!1}),this.storage$=createEffect(()=>merge(this.storage.watch(TOKEN_STORAGE_KEY,StorageEventContext.Others),this.storage.watch(TOKEN_STORAGE_KEY,StorageEventContext.SelfExpired).pipe(delay(0))).pipe(mergeMap(token=>token?EMPTY:of(loggedOutByStorage())))),this.tokenExpired$=createEffect(()=>this.apiRequestErrors$.pipe(ofStatus(401),filter(errorResponse=>!!errorResponse._request?.headers.get("Authorization")?.match(/^bearer/i)),map(errorResponse=>errorResponse.error?.data||[]),filter(errors2=>errors2.some(err=>err.propertyName==="Authorization"&&err.message.startsWith("Invalid"))),map(()=>invalidOrExpired()))),this.showUserOtpSetup$=createEffect(()=>this.actions$.pipe(ofType(loginLoadMeSuccess,loadMeSuccess3),tap(_0=>__async(this,[_0],function*({data}){let hasGlbSkippedOtpSetupOnKey="glbSkippedOtpSetupOn"in(data.custom||{}),hasOtpAuthRequired=!!data.otpAuth?.required,hasGlbSkippedOtpSetupOn=!!data.custom?.glbSkippedOtpSetupOn,hasAppTwoFactorAuth=environment.appName==="Activation Wizard"||environment.appName==="Admin"||environment.appName==="Fleet Manager"||environment.appName==="Portal"||environment.appName==="Studio";if(hasGlbSkippedOtpSetupOnKey&&!hasOtpAuthRequired&&!hasGlbSkippedOtpSetupOn&&hasAppTwoFactorAuth){let currentAccessTokenId=mapTokenToPublicId(this.storage.get(TOKEN_STORAGE_KEY)),accessToken=(yield firstValueFrom(this.accessTokenService.getByPublicId(currentAccessTokenId,["publicId,ssoIdentityProvider"]))).data,currentPath=this.route.snapshot.queryParamMap.has("next")?this.route.snapshot.queryParams.next:this.location.path(),isOnTwoFactorAuthEnablePage=currentPath.includes("two-factor-auth/enable");if(!accessToken?.ssoIdentityProvider&&!isOnTwoFactorAuthEnablePage){let queryParams=currentPath?{next:currentPath}:null;this.router.navigate(["/two-factor-auth/enable"],{queryParams})}}}))),{dispatch:!1})}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AuthEffects2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AuthEffects2,factory:AuthEffects2.\u0275fac,providedIn:"root"})}}return AuthEffects2})();var AuthGuard=(()=>{class AuthGuard2{constructor(){this.location=inject(Location),this.router=inject(Router),this.authService=inject(AuthService),this.redirectUrl=environment.appName==="Portal"?"/":"/login"}canActivate(){return this.authService.isAuthenticated.pipe(take(1),tap(authenticated=>{authenticated||this.router.navigate([this.redirectUrl],{queryParams:{next:this.location.path()}})}))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AuthGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AuthGuard2,factory:AuthGuard2.\u0275fac,providedIn:"root"})}}return AuthGuard2})();var ROUTER_REQUEST="@ngrx/router-store/request",routerRequestAction=createAction(ROUTER_REQUEST,props()),ROUTER_NAVIGATION="@ngrx/router-store/navigation",routerNavigationAction=createAction(ROUTER_NAVIGATION,props()),ROUTER_CANCEL="@ngrx/router-store/cancel",routerCancelAction=createAction(ROUTER_CANCEL,props()),ROUTER_ERROR="@ngrx/router-store/error",routerErrorAction=createAction(ROUTER_ERROR,props()),ROUTER_NAVIGATED="@ngrx/router-store/navigated",routerNavigatedAction=createAction(ROUTER_NAVIGATED,props());function routerReducer(state,action){let routerAction=action;switch(routerAction.type){case ROUTER_NAVIGATION:case ROUTER_ERROR:case ROUTER_CANCEL:return{state:routerAction.payload.routerState,navigationId:routerAction.payload.event.id};default:return state}}var MinimalRouterStateSerializer=class{serialize(routerState){return{root:this.serializeRoute(routerState.root),url:routerState.url}}serializeRoute(route){let children=route.children.map(c=>this.serializeRoute(c));return{params:route.params,data:route.data,url:route.url,outlet:route.outlet,title:route.title,routeConfig:route.routeConfig?{path:route.routeConfig.path,pathMatch:route.routeConfig.pathMatch,redirectTo:route.routeConfig.redirectTo,outlet:route.routeConfig.outlet,title:typeof route.routeConfig.title=="string"?route.routeConfig.title:void 0}:null,queryParams:route.queryParams,fragment:route.fragment,firstChild:children[0],children}}},NavigationActionTiming=(function(NavigationActionTiming2){return NavigationActionTiming2[NavigationActionTiming2.PreActivation=1]="PreActivation",NavigationActionTiming2[NavigationActionTiming2.PostActivation=2]="PostActivation",NavigationActionTiming2})(NavigationActionTiming||{}),DEFAULT_ROUTER_FEATURENAME="router",_ROUTER_CONFIG=new InjectionToken("@ngrx/router-store Internal Configuration"),ROUTER_CONFIG=new InjectionToken("@ngrx/router-store Configuration"),RouterState=(function(RouterState2){return RouterState2[RouterState2.Full=0]="Full",RouterState2[RouterState2.Minimal=1]="Minimal",RouterState2})(RouterState||{});function _createRouterConfig(config4){return __spreadValues({stateKey:DEFAULT_ROUTER_FEATURENAME,serializer:MinimalRouterStateSerializer,navigationActionTiming:NavigationActionTiming.PreActivation},config4)}var FullRouterStateSerializer=class{serialize(routerState){return{root:this.serializeRoute(routerState.root),url:routerState.url}}serializeRoute(route){let children=route.children.map(c=>this.serializeRoute(c));return{params:route.params,paramMap:route.paramMap,data:route.data,url:route.url,outlet:route.outlet,title:route.title,routeConfig:route.routeConfig?{component:route.routeConfig.component,path:route.routeConfig.path,pathMatch:route.routeConfig.pathMatch,redirectTo:route.routeConfig.redirectTo,outlet:route.routeConfig.outlet,title:route.routeConfig.title}:null,queryParams:route.queryParams,queryParamMap:route.queryParamMap,fragment:route.fragment,component:route.routeConfig?route.routeConfig.component:void 0,root:void 0,parent:void 0,firstChild:children[0],pathFromRoot:void 0,children}}},RouterStateSerializer=class{},RouterTrigger=(function(RouterTrigger2){return RouterTrigger2[RouterTrigger2.NONE=1]="NONE",RouterTrigger2[RouterTrigger2.ROUTER=2]="ROUTER",RouterTrigger2[RouterTrigger2.STORE=3]="STORE",RouterTrigger2})(RouterTrigger||{}),StoreRouterConnectingService=(()=>{class StoreRouterConnectingService2{constructor(store,router,serializer,errorHandler,config4,activeRuntimeChecks){this.store=store,this.router=router,this.serializer=serializer,this.errorHandler=errorHandler,this.config=config4,this.activeRuntimeChecks=activeRuntimeChecks,this.lastEvent=null,this.routerState=null,this.trigger=RouterTrigger.NONE,this.stateKey=this.config.stateKey,!isNgrxMockEnvironment()&&isDevMode()&&(activeRuntimeChecks?.strictActionSerializability||activeRuntimeChecks?.strictStateSerializability)&&this.serializer instanceof FullRouterStateSerializer&&console.warn("@ngrx/router-store: The serializability runtime checks cannot be enabled with the FullRouterStateSerializer. The FullRouterStateSerializer has an unserializable router state and actions that are not serializable. To use the serializability runtime checks either use the MinimalRouterStateSerializer or implement a custom router state serializer."),this.setUpStoreStateListener(),this.setUpRouterEventsListener()}setUpStoreStateListener(){this.store.pipe(select(this.stateKey),withLatestFrom(this.store)).subscribe(([routerStoreState,storeState])=>{this.navigateIfNeeded(routerStoreState,storeState)})}navigateIfNeeded(routerStoreState,storeState){if(!routerStoreState||!routerStoreState.state||this.trigger===RouterTrigger.ROUTER||this.lastEvent instanceof NavigationStart)return;let url=routerStoreState.state.url;isSameUrl(this.router.url,url)||(this.storeState=storeState,this.trigger=RouterTrigger.STORE,this.router.navigateByUrl(url).catch(error3=>{this.errorHandler.handleError(error3)}))}setUpRouterEventsListener(){let dispatchNavLate=this.config.navigationActionTiming===NavigationActionTiming.PostActivation,routesRecognized;this.router.events.pipe(withLatestFrom(this.store)).subscribe(([event2,storeState])=>{this.lastEvent=event2,event2 instanceof NavigationStart?(this.routerState=this.serializer.serialize(this.router.routerState.snapshot),this.trigger!==RouterTrigger.STORE&&(this.storeState=storeState,this.dispatchRouterRequest(event2))):event2 instanceof RoutesRecognized?(routesRecognized=event2,!dispatchNavLate&&this.trigger!==RouterTrigger.STORE&&this.dispatchRouterNavigation(event2)):event2 instanceof NavigationCancel?(this.dispatchRouterCancel(event2),this.reset()):event2 instanceof NavigationError?(this.dispatchRouterError(event2),this.reset()):event2 instanceof NavigationEnd&&(this.trigger!==RouterTrigger.STORE&&(dispatchNavLate&&this.dispatchRouterNavigation(routesRecognized),this.dispatchRouterNavigated(event2)),this.reset())})}dispatchRouterRequest(event2){this.dispatchRouterAction(ROUTER_REQUEST,{event:event2})}dispatchRouterNavigation(lastRoutesRecognized){let nextRouterState=this.serializer.serialize(lastRoutesRecognized.state);this.dispatchRouterAction(ROUTER_NAVIGATION,{routerState:nextRouterState,event:new RoutesRecognized(lastRoutesRecognized.id,lastRoutesRecognized.url,lastRoutesRecognized.urlAfterRedirects,nextRouterState)})}dispatchRouterCancel(event2){this.dispatchRouterAction(ROUTER_CANCEL,{storeState:this.storeState,event:event2})}dispatchRouterError(event2){this.dispatchRouterAction(ROUTER_ERROR,{storeState:this.storeState,event:new NavigationError(event2.id,event2.url,`${event2}`)})}dispatchRouterNavigated(event2){let routerState=this.serializer.serialize(this.router.routerState.snapshot);this.dispatchRouterAction(ROUTER_NAVIGATED,{event:event2,routerState})}dispatchRouterAction(type,payload){this.trigger=RouterTrigger.ROUTER;try{this.store.dispatch({type,payload:__spreadProps(__spreadValues({routerState:this.routerState},payload),{event:this.config.routerState===RouterState.Full?payload.event:{id:payload.event.id,url:payload.event.url,urlAfterRedirects:payload.event.urlAfterRedirects}})})}finally{this.trigger=RouterTrigger.NONE}}reset(){this.trigger=RouterTrigger.NONE,this.storeState=null,this.routerState=null}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||StoreRouterConnectingService2)(\u0275\u0275inject(Store),\u0275\u0275inject(Router),\u0275\u0275inject(RouterStateSerializer),\u0275\u0275inject(ErrorHandler),\u0275\u0275inject(ROUTER_CONFIG),\u0275\u0275inject(ACTIVE_RUNTIME_CHECKS))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:StoreRouterConnectingService2,factory:StoreRouterConnectingService2.\u0275fac})}}return StoreRouterConnectingService2})();function isSameUrl(first2,second){return stripTrailingSlash(first2)===stripTrailingSlash(second)}function stripTrailingSlash(text2){return text2?.length>0&&text2[text2.length-1]==="/"?text2.substring(0,text2.length-1):text2}function provideRouterStore(config4={}){return makeEnvironmentProviders([{provide:_ROUTER_CONFIG,useValue:config4},{provide:ROUTER_CONFIG,useFactory:_createRouterConfig,deps:[_ROUTER_CONFIG]},{provide:RouterStateSerializer,useClass:config4.serializer?config4.serializer:config4.routerState===RouterState.Full?FullRouterStateSerializer:MinimalRouterStateSerializer},provideEnvironmentInitializer(()=>inject(StoreRouterConnectingService)),StoreRouterConnectingService])}var StoreRouterConnectingModule=(()=>{class StoreRouterConnectingModule2{static forRoot(config4={}){return{ngModule:StoreRouterConnectingModule2,providers:[provideRouterStore(config4)]}}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||StoreRouterConnectingModule2)}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:StoreRouterConnectingModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({})}}return StoreRouterConnectingModule2})();function routerNavigatedOnce(actions$){return()=>actions$.pipe(ofType(ROUTER_NAVIGATED),take(1))}var startSsoAuth=createAction("[App] Start SSO Authentication",props()),startSsoAuthFailure=createAction("[IxApi] Start SSO Authentication failure",props()),startSsoAuthSuccess=createAction("[IxApi] Start SSO Authentication success",props()),finishSsoAuth=createAction("[App] Finish SSO Authentication",props()),finishSsoAuthFailure=createAction("[IxApi] Finish SSO Authentication failure",props()),finishSsoAuthSuccess=createAction("[IxApi] Finish SSO Authentication success",props()),startSsoRegistration=createAction("[App] Start SSO Registration",props()),startSsoRegistrationFailure=createAction("[IxApi] Start SSO Registration failure",props()),startSsoRegistrationSuccess=createAction("[IxApi] Start SSO Registration success",props()),finishSsoRegistration=createAction("[App] Finish SSO Registration",props()),finishSsoRegistrationFailure=createAction("[IxApi] Finish SSO Registration failure",props()),finishSsoRegistrationSuccess=createAction("[IxApi] Finish SSO Registration success"),startSsoAcceptInvite=createAction("[App] Start SSO Accept Invite",props()),startSsoAcceptInviteFailure=createAction("[IxApi] Start SSO Accept Invite failure",props()),startSsoAcceptInviteSuccess=createAction("[IxApi] Start SSO Accept Invite success",props()),finishSsoAcceptInvite=createAction("[App] Finish SSO Accept Invite",props()),finishSsoAcceptInviteFailure=createAction("[IxApi] Finish SSO Accept Invite Failure",props()),finishSsoAcceptInviteSuccess=createAction("[IxApi] Finish SSO Accept Invite Success"),ssoAuthErrorResponse=createAction("[OpenID Connect] Authorization Error Response",props());var AuthSnackBarEffects=(()=>{class AuthSnackBarEffects2{constructor(actions$,snackBar,translate){this.actions$=actions$,this.snackBar=snackBar,this.translate=translate,this.loginFailureMessage$=createEffect(()=>this.actions$.pipe(ofType(logInFailure,finishSsoAuthFailure),tap(({errors:errors2})=>{if(hasOtpRequired(errors2)||hasOtpError(errors2))return;let message=this.translate.instant("__MESSAGE__.__API__.LOGIN_UNKNOWN_ERROR");hasIncorrectCredentials(errors2)?message=this.translate.instant("__MESSAGE__.__API__.AUTHENTICATION_FAILED"):hasLoginIsRateLimited(errors2)?message=this.translate.instant("__MESSAGE__.__API__.TOO_MANY_REQUEST"):hasOtpSmsEnableRateLimited(errors2)?message=this.translate.instant("__MESSAGE__.__API__.TWO_FACTOR_SMS_ENABLE_RATE_LIMITED"):hasUserInactive(errors2)?message=this.translate.instant("__MESSAGE__.__API__.USER_INACTIVE"):hasSsoFailure(errors2)&&(message=this.translate.instant("__MESSAGE__.__API__.SSO_AUTH_FAILED")),this.snackBar.open(message,void 0,{duration:4e3})})),{dispatch:!1}),this.loginSuccessMessage$=createEffect(()=>this.actions$.pipe(ofType(logInSuccess),delayWhen(routerNavigatedOnce(this.actions$)),tap(({data})=>{if(data.user&&data.user.name){let message=this.translate.instant("LOGGED_IN_AS_NAME",{name:data.user.name});this.snackBar.open(message,void 0,{duration:3e3})}})),{dispatch:!1}),this.logOutSuccessMessage$=createEffect(()=>this.actions$.pipe(ofType(logOutSuccess),delayWhen(routerNavigatedOnce(this.actions$)),tap(()=>{let message=this.translate.instant("LOGGED_OUT");this.snackBar.open(message,void 0,{duration:3e3})})),{dispatch:!1}),this.loggedOutMessage$=createEffect(()=>this.actions$.pipe(ofType(loggedOutByApi,loggedOutByStorage),delayWhen(routerNavigatedOnce(this.actions$)),tap(()=>{let message=this.translate.instant("YOU_WERE_LOGGED_OUT");this.snackBar.open(message,void 0,{duration:3e3})})),{dispatch:!1})}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AuthSnackBarEffects2)(\u0275\u0275inject(Actions),\u0275\u0275inject(MatSnackBar),\u0275\u0275inject(TranslateService))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AuthSnackBarEffects2,factory:AuthSnackBarEffects2.\u0275fac,providedIn:"root"})}}return AuthSnackBarEffects2})();var add22=createAction("[App] Add BackendComponentMessageSubscription",props()),addFailure22=createAction("[IxApi] Add BackendComponentMessageSubscription Failure",props()),addSuccess22=createAction("[IxApi] Add BackendComponentMessageSubscription Success",props()),didAdd32=createAction("[ChangeNotification] BackendComponentMessageSubscription Was Added",props()),didRemove31=createAction("[ChangeNotification] BackendComponentMessageSubscription Was Removed",props()),didUpdate29=createAction("[ChangeNotification] BackendComponentMessageSubscription Was Updated",props()),ensureAll21=createAction("[App] Ensure All BackendComponentMessageSubscriptions"),loadAll20=createAction("[App] Load All BackendComponentMessageSubscriptions"),loadAllFailure20=createAction("[IxApi] Load All BackendComponentMessageSubscriptions Failure",props()),loadAllSuccess21=createAction("[IxApi] Load All BackendComponentMessageSubscriptions Success",props()),remove25=createAction("[App] Remove BackendComponentMessageSubscription",props()),removeFailure24=createAction("[IxApi] Remove BackendComponentMessageSubscription Failure",props()),removeSuccess25=createAction("[IxApi] Remove BackendComponentMessageSubscription Success",props()),reset31=createAction("[App] Reset BackendComponentMessageSubscription State"),update20=createAction("[App] Update BackendComponentMessageSubscription",props()),updateFailure20=createAction("[IxApi] Update BackendComponentMessageSubscription Failure",props()),updateSuccess20=createAction("[IxApi] Update BackendComponentMessageSubscription Success",props());var add23=createAction("[App] Add BackendComponentTemplateConfig",props()),addFailure23=createAction("[IxApi] Add BackendComponentTemplateConfig Failure",props()),addSuccess23=createAction("[IxApi] Add BackendComponentTemplateConfig Success",props()),didAdd33=createAction("[ChangeNotification] BackendComponentTemplateConfig Was Added",props()),didRemove32=createAction("[ChangeNotification] BackendComponentTemplateConfig Was Removed",props()),didUpdate30=createAction("[ChangeNotification] BackendComponentTemplateConfig Was Updated",props()),ensureAll22=createAction("[App] Ensure All BackendComponentTemplateConfigs"),loadAll21=createAction("[App] Load All BackendComponentTemplateConfigs"),loadAllFailure21=createAction("[IxApi] Load All BackendComponentTemplateConfigs Failure",props()),loadAllSuccess22=createAction("[IxApi] Load All BackendComponentTemplateConfigs Success",props()),loadOne4=createAction("[App] Load one BackendComponentTemplateConfig",props()),loadOneFailure4=createAction("[IxApi] Load one BackendComponentTemplateConfig Failure",props()),loadOneSuccess4=createAction("[IxApi] Load one BackendComponentTemplateConfig Success",props()),remove26=createAction("[App] Remove BackendComponentTemplateConfig",props()),removeFailure25=createAction("[IxApi] Remove BackendComponentTemplateConfig Failure",props()),removeSuccess26=createAction("[IxApi] Remove BackendComponentTemplateConfig Success",props()),reset32=createAction("[App] Reset BackendComponentTemplateConfig State"),update21=createAction("[App] Update BackendComponentTemplateConfig",props()),updateFailure21=createAction("[IxApi] Update BackendComponentTemplateConfig Failure",props()),updateSuccess21=createAction("[IxApi] Update BackendComponentTemplateConfig Success",props());var add24=createAction("[App] Add MessageFilter",props()),addFailure24=createAction("[IxApi] Add MessageFilter Failure",props()),addSuccess24=createAction("[IxApi] Add MessageFilter Success",props()),didAdd34=createAction("[ChangeNotification] MessageFilter Was Added",props()),didRemove33=createAction("[ChangeNotification] MessageFilter Was Removed",props()),didUpdate31=createAction("[ChangeNotification] MessageFilter Was Updated",props()),loadAll22=createAction("[App] Load All MessageFilters",props()),loadAllFailure22=createAction("[IxApi] Load All MessageFilters Failure",props()),loadAllSuccess23=createAction("[IxApi] Load All MessageFilters Success",props()),remove27=createAction("[App] Remove MessageFilter",props()),removeFailure26=createAction("[IxApi] Remove MessageFilter Failure",props()),removeSuccess27=createAction("[IxApi] Remove MessageFilter Success",props()),reset33=createAction("[App] Reset MessageFilter State"),shouldRemove5=createAction("[OptimisticMutation] MessageFilter Should Remove",props()),shouldUpdate5=createAction("[OptimisticMutation] MessageFilter Should Update",props()),update22=createAction("[App] Update MessageFilter",props()),updateFailure22=createAction("[IxApi] Update MessageFilter Failure",props()),updateSuccess22=createAction("[IxApi] Update MessageFilter Success",props());var clearSelection=createAction("[App] Clear Message Selection"),didAdd35=createAction("[ChangeNotification] Message Was Added",props()),didRemove34=createAction("[ChangeNotification] Message Was Removed",props()),didUpdate32=createAction("[ChangeNotification] Message Was Updated",props()),ensureOne3=createAction("[App] Ensure One Message",props()),filterList2=createAction("[App] Filter Message List",props()),loadOne5=createAction("[App] Load One Message",props()),loadOneFailure5=createAction("[IxApi] Load One Message Failure",props()),loadOneSuccess5=createAction("[IxApi] Load One Message Success",props()),loadList=createAction("[App] Load Message List",props()),loadListFailure=createAction("[IxApi] Load Message List Failure",props()),loadListSuccess=createAction("[IxApi] Load Message List Success",props()),markSelectionAsRead=createAction("[App] Mark Selection As Read",props()),markSelectionAsUnread=createAction("[App] Mark Selection As Unread",props()),update23=createAction("[App] Update Message",props()),updateFailure23=createAction("[IxApi] Update Message Failure",props()),updateSuccess23=createAction("[IxApi] Update Message Success",props()),updateList4=createAction("[App] Update Message List",props()),updateListFailure4=createAction("[IxApi] Update Message List Failure",props()),updateListSuccess4=createAction("[IxApi] Update Message List Success",props()),updateAll=createAction("[App] Update All Messages",props()),updateAllFailure=createAction("[IxApi] Update All Messages Failure",props()),updateAllSuccess=createAction("[IxApi] Update All Messages Success",props()),remove28=createAction("[App] Remove Message",props()),removeFailure27=createAction("[IxApi] Remove Message Failure",props()),removeSuccess28=createAction("[IxApi] Remove Message Success",props()),removeList6=createAction("[App] Remove Message List",props()),removeListFailure5=createAction("[IxApi] Remove Message List Failure",props()),removeListSuccess6=createAction("[IxApi] Remove Message List Success",props()),removeSelection=createAction("[App] Remove Message Selection",props()),select2=createAction("[App] Select Message"),selectAll14=createAction("[App] Select All Messages"),shouldRemove6=createAction("[OptimisticMutation] Message Should Remove",props()),shouldUpdate6=createAction("[OptimisticMutation] Message Should Update",props()),toggleSelected=createAction("[App] Toggle Selected",props()),toggleSelectedTo=createAction("[App] Toggle Selected To",props()),reset34=createAction("[App] Reset Message State");var ensureAll23=createAction("[App] Ensure All SsoIdentityProviders"),loadAll23=createAction("[App] Load All SsoIdentityProviders"),loadAllFailure23=createAction("[IxApi] Load All SsoIdentityProviders Failure",props()),loadAllSuccess24=createAction("[IxApi] Load All SsoIdentityProviders Success",props()),reset35=createAction("[App] Reset SsoIdentityProvider State");var add25=createAction("[App] Add TrustedDevice",props()),addFailure25=createAction("[IxApi] Add TrustedDevice Failure",props()),addSuccess25=createAction("[IxApi] Add TrustedDevice Success",props()),didAdd36=createAction("[ChangeNotification] TrustedDevice Was Added",props()),didRemove35=createAction("[ChangeNotification] TrustedDevice Was Removed",props()),didUpdate33=createAction("[ChangeNotification] TrustedDevice Was Updated",props()),ensureAll24=createAction("[App] Ensure All TrustedDevices"),loadAll24=createAction("[App] Load All TrustedDevices"),loadAllFailure24=createAction("[IxApi] Load All TrustedDevices Failure",props()),loadAllSuccess25=createAction("[IxApi] Load All TrustedDevices Success",props()),remove29=createAction("[App] Remove TrustedDevice",props()),removeFailure28=createAction("[IxApi] Remove TrustedDevice Failure",props()),removeSuccess29=createAction("[IxApi] Remove TrustedDevice Success",props()),reset36=createAction("[App] Reset TrustedDevice State"),update24=createAction("[App] Update TrustedDevice",props()),updateFailure24=createAction("[IxApi] Update TrustedDevice Failure",props()),updateSuccess24=createAction("[IxApi] Update TrustedDevice Success",props());var accept=createAction("[App] Accept MyUserInvite",props()),acceptFailure=createAction("[IxApi] Accept MyUserInvite Failure",props()),acceptSuccess=createAction("[IxApi] Accept MyUserInvite Success",props()),didAdd37=createAction("[ChangeNotification] MyUserInvite Was Added",props()),loadAll25=createAction("[App] Load All MyUserInvites",props()),loadAllFailure25=createAction("[IxApi] Load All MyUserInvites Failure",props()),loadAllSuccess26=createAction("[IxApi] Load All MyUserInvites Success",props()),reject=createAction("[App] Reject MyUserInvite",props()),rejectFailure=createAction("[IxApi] Reject MyUserInvite Failure",props()),rejectSuccess=createAction("[IxApi] Reject MyUserInvite Success",props()),reset37=createAction("[App] Reset MyUserInvite State");var activateFailure2=createAction("[App] Activate UserPushDevice Failure",props()),activateSuccess2=createAction("[App] Activate UserPushDevice Success",props()),claim=createAction("[ChangeNotification] Claim UserPushDevice",props()),claimFailure=createAction("[IxApi] Claim UserPushDevice Failure",props()),claimSuccess=createAction("[IxApi] Claim UserPushDevice Success",props()),didAdd38=createAction("[ChangeNotification] UserPushDevice Was Added",props()),didUpdate34=createAction("[ChangeNotification] UserPushDevice Was Updated",props()),deactivate=createAction("[App] Deactivate UserPushDevice",props()),deactivateFailure=createAction("[App] Deactivate UserPushDevice Failure",props()),deactivateSuccess=createAction("[App] Deactivate UserPushDevice Success",props()),loadAll26=createAction("[App] Load All UserPushDevices",props()),loadAllFailure26=createAction("[IxApi] Load All UserPushDevices Failure",props()),loadAllSuccess27=createAction("[IxApi] Load All UserPushDevices Success",props()),releaseClaim=createAction("[ChangeNotification] Release Claim UserPushDevice",props()),releaseClaimFailure=createAction("[IxApi] Release Claim UserPushDevice Failure",props()),releaseClaimSuccess=createAction("[IxApi] Release Claim UserPushDevice Success",props()),reset38=createAction("[App] Reset UserPushDevice State");var add26=createAction("[App] Add WebhookSubscription",props()),addFailure26=createAction("[IxApi] Add WebhookSubscription Failure",props()),addSuccess26=createAction("[IxApi] Add WebhookSubscription Success",props()),didAdd39=createAction("[ChangeNotification] WebhookSubscription Was Added",props()),didRemove36=createAction("[ChangeNotification] WebhookSubscription Was Removed",props()),didUpdate35=createAction("[ChangeNotification] WebhookSubscription Was Updated",props()),loadAll27=createAction("[App] Load All WebhookSubscriptions",props()),loadAllFailure27=createAction("[IxApi] Load All WebhookSubscriptions Failure",props()),loadAllSuccess28=createAction("[IxApi] Load All WebhookSubscriptions Success",props()),remove30=createAction("[App] Remove WebhookSubscription",props()),removeFailure29=createAction("[IxApi] Remove WebhookSubscription Failure",props()),removeSuccess30=createAction("[IxApi] Remove WebhookSubscription Success",props()),reset39=createAction("[App] Reset WebhookSubscription State"),shouldUpdate7=createAction("[OptimisticMutation] Should Update WebhookSubscription",props()),shouldRemove7=createAction("[OptimisticMutation] Should Remove WebhookSubscription",props()),update25=createAction("[App] Update WebhookSubscription",props()),updateFailure25=createAction("[IxApi] Update WebhookSubscription Failure",props()),updateSuccess25=createAction("[IxApi] Update WebhookSubscription Success",props());var shouldResetActions=[logOutSuccess,loggedOutByApi,loggedOutByStorage],AuthStateEffects=(()=>{class AuthStateEffects2{constructor(){this.actions$=inject(Actions),this.resetAccessTokenState$=this.createResetEffect(reset30),this.resetCompanyState$=this.createResetEffect(reset18),this.resetMessageState$=this.createResetEffect(reset34),this.resetMessageFilterState$=this.createResetEffect(reset33),this.resetUserState$=this.createResetEffect(reset26),this.resetUserInviteState$=this.createResetEffect(reset37),this.resetUserPushDeviceState$=this.createResetEffect(reset38),this.resetSsoIdentityProviders$=this.createResetEffect(reset35),this.resetTrustedDeviceState$=this.createResetEffect(reset36),this.resetWebhookSubscriptionState$=this.createResetEffect(reset39),this.resetBackendComponentTemplateState$=this.createResetEffect(reset17),this.resetBackendComponentTemplateConfigState$=this.createResetEffect(reset32),this.resetBackendComponentMessageSubscriptionState$=this.createResetEffect(reset31)}createResetEffect(resetAction){return createEffect(()=>this.actions$.pipe(ofType(...shouldResetActions),map(()=>resetAction())))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AuthStateEffects2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AuthStateEffects2,factory:AuthStateEffects2.\u0275fac,providedIn:"root"})}}return AuthStateEffects2})();var PLATFORM_ONE_APPS=["assets","admin"];function allowedPlatform(value){return["portal","one"].includes(value)}function getPlatform(){let configPlatform=inject(APP_CONFIG).platform,environmentPlatform=!environment.production&&"platform"in environment&&typeof environment.platform<"u"?environment.platform:void 0,platform=configPlatform??environmentPlatform;return allowedPlatform(platform)?platform:"portal"}var IX_PLATFORM=new InjectionToken("app.platform",{providedIn:"root",factory:getPlatform});function getOneDomainForHost(hostname){return`one.${hostname.replace(/^(portal|one|www)\./,"")}`}function getFileFromDataUrl(dataUrl,fileName="file.png"){let[header,base64]=dataUrl.split(","),mimeMatch=header.match(/:(.*?);/),mediaType=mimeMatch?mimeMatch[1]:"image/png",binary2=atob(base64),fileBits=new Uint8Array(binary2.length);for(let i=0;i<binary2.length;i++)fileBits[i]=binary2.charCodeAt(i);return new File([fileBits],fileName,{type:mediaType})}function isDataUrl(file){return file?/^data:([a-z]+\/[a-z0-9+.-]+)?(;charset=[a-z0-9-]+)?(;base64)?,/.test(file):!1}var CompanyService=(()=>{class CompanyService2{constructor(){this.api=inject(IxApiService),this.http=inject(HttpClient)}add(body){let url=this.api.url("CompanyList"),options={headers:this.api.headers};return this.http.post(url,body,options)}getAll(){return whileMoreAfter(moreAfter=>this.getList(moreAfter))}getBranding(publicId){let url=this.api.url("CompanyBranding",{publicId}),headers=this.api.headers,params=new HttpParams({fromObject:{fields:COMPANY_BRANDING_FIELDS.join(",")}}),options={headers,params};return this.http.get(url,options)}getByPublicId(publicId,fields){let url=this.api.url("Company",{publicId}),headers=this.api.headers,params=new HttpParams({fromObject:{fields:fields.join(",")}}),options={headers,params};return this.http.get(url,options)}getList(pageAfter,pageSize){let url=this.api.url("CompanyList"),headers=this.api.headers,params=new HttpParams({fromObject:__spreadValues({fields:["name","branding.fqdn","branding.logo","branding.theme.*","platform"].join(",")},getPageParams(pageAfter,pageSize))}),options={headers,params};return this.http.get(url,options)}getMe(){let url=this.api.url("MyCompany"),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,params=new HttpParams({fromObject:{fields:MY_COMPANY_FIELDS.join(",")}}),options={context:context3,headers,params};return this.http.get(url,options)}leave(publicId){let url=this.api.url("MyUserLeaveCompanyList"),body={publicId},headers=this.api.headers.set(IxApiHeaderKeys.Company,publicId),options={body,headers};return this.http.delete(url,options)}removeByPublicId(publicId){let url=this.api.url("CompanyList"),options={headers:this.api.headers,body:{publicId}};return this.http.delete(url,options)}updateMe(body){let url=this.api.url("MyCompany"),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context3,headers};return body.branding&&!body.branding.name&&(body=__spreadProps(__spreadValues({},body),{branding:__spreadProps(__spreadValues({},body.branding),{name:MY_COMPANY_DEFAULT_BRANDING_NAME})})),isDataUrl(body.branding?.logo)||isDataUrl(body.branding?.logoDark)?forkJoin([body.branding?.logo&&isDataUrl(body.branding.logo)?this.uploadLogo(body.branding.logo):of(body.branding?.logo),body.branding?.logoDark&&isDataUrl(body.branding.logoDark)?this.uploadLogo(body.branding.logoDark):of(body.branding?.logoDark)]).pipe(mergeMap(([logo,logoDark])=>(body.branding&&logo!==void 0&&(body.branding.logo=logo),body.branding&&logoDark!==void 0&&(body.branding.logoDark=logoDark),this.http.patch(url,body,options)))):this.http.patch(url,body,options)}uploadLogo(dataUrl){let file=getFileFromDataUrl(dataUrl,"logo.png"),url=this.api.url("PublicFileUpload"),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context3,headers};return this.http.post(url,file,options).pipe(map(res=>res.data.url))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||CompanyService2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:CompanyService2,factory:CompanyService2.\u0275fac,providedIn:"root"})}}return CompanyService2})();var CompanyEffects=(()=>{class CompanyEffects2{constructor(){this.actions$=inject(Actions),this.store=inject(Store),this.service=inject(CompanyService),this.snackBar=inject(MatSnackBar),this.translate=inject(TranslateService),this.add$=createEffect(()=>this.actions$.pipe(ofType(add14),switchMap(({data})=>this.service.add(data).pipe(map(respsonse=>addSuccess14({data:__spreadValues(__spreadValues({},respsonse.data),data)})),catchError(errorResponse=>of(addFailure14({errors:errorResponse.error?.data??[]}))))))),this.ensureAll$=createEffect(()=>this.actions$.pipe(ofType(ensureAll10),mergeMap(()=>combineLatest([this.store.select(selectAllLoading5),this.store.select(selectAllLoaded5)]).pipe(take(1),mergeMap(([loading,loaded])=>!loading&&!loaded?of(loadAll9()):EMPTY))))),this.leave$=createEffect(()=>this.actions$.pipe(ofType(leave),switchMap(({publicId})=>this.service.leave(publicId).pipe(map(()=>leaveSuccess({publicId})),catchError(errorResponse=>of(leaveFailure({errors:errorResponse.error?.data??[]}))))))),this.loadAll$=createEffect(()=>this.actions$.pipe(ofType(loadAll9),switchMap(()=>this.service.getAll().pipe(map(({data})=>loadAllSuccess10({data})),catchError(errorResponse=>of(loadAllFailure9({errors:errorResponse.error?.data??[]}))))))),this.loadMe$=createEffect(()=>this.actions$.pipe(ofType(loadMe),switchMap(()=>this.service.getMe().pipe(map(({data})=>loadMeSuccess({data})),catchError(errorResponse=>of(loadMeFailure({errors:errorResponse.error?.data??[]}))))))),this.remove$=createEffect(()=>this.actions$.pipe(ofType(remove14),switchMap(({publicId})=>this.service.removeByPublicId(publicId).pipe(map(()=>removeSuccess14({publicId})),catchError(errorResponse=>of(removeFailure14({errors:errorResponse.error?.data??[]}))))))),this.removeFailure$=createEffect(()=>this.actions$.pipe(ofType(removeFailure14),tap(({errors:errors2})=>{if(errors2.some(error3=>error3.message==="All agents must be removed first")){let message=this.translate.instant("__MESSAGE__.__API__.ALL_AGENTS_MUST_BE_REMOVED_FIRST");this.snackBar.open(message,void 0,{duration:3e3})}})),{dispatch:!1}),this.updateMe$=createEffect(()=>this.actions$.pipe(ofType(updateMe),switchMap(({data})=>this.service.updateMe(data).pipe(map(()=>updateMeSuccess({data})),catchError(errorResponse=>of(updateMeFailure({errors:errorResponse.error?.data??[]})))))))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||CompanyEffects2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:CompanyEffects2,factory:CompanyEffects2.\u0275fac,providedIn:"root"})}}return CompanyEffects2})();var CompanyModule=(()=>{class CompanyModule2{static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||CompanyModule2)}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:CompanyModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({providers:[provideHttpClient(withFetch(),withInterceptorsFromDi())],imports:[TranslateModule,IxApiModule,StoreModule.forFeature(feature5),EffectsModule.forFeature([CompanyEffects])]})}}return CompanyModule2})();var FQDN=new InjectionToken("fqdn"),APP_WEB_ROOT_URL=new InjectionToken("app.web.root.url");var AuthCompanyHttpCancelService=(()=>{class AuthCompanyHttpCancelService2{constructor(){this._cancel$=new Subject}cancelPendingRequests(){this._cancel$.next()}onCancelPendingRequests(){return this._cancel$.asObservable()}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AuthCompanyHttpCancelService2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AuthCompanyHttpCancelService2,factory:AuthCompanyHttpCancelService2.\u0275fac,providedIn:"root"})}}return AuthCompanyHttpCancelService2})();var COMPANY_ID_STORAGE_KEY="company";var AuthCompanyService=(()=>{class AuthCompanyService2{constructor(storage){this.storage=storage,this.companyIdSubject=new BehaviorSubject(this.storage.get(COMPANY_ID_STORAGE_KEY)??null),this.companyId=this.companyIdSubject.asObservable(),this.hasCompanyId=this.companyIdSubject.pipe(map(companyId=>!!companyId),distinctUntilChanged()),this.storage.watch(COMPANY_ID_STORAGE_KEY).subscribe(this.companyIdSubject)}remove(){this.storage.remove(COMPANY_ID_STORAGE_KEY)}set(companyId){let expiresIn=Math.floor(Date.now()/1e3)+2592e3;this.storage.set(COMPANY_ID_STORAGE_KEY,companyId,expiresIn)}getCompanyId(){return this.companyIdSubject.value}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AuthCompanyService2)(\u0275\u0275inject(StorageService))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AuthCompanyService2,factory:AuthCompanyService2.\u0275fac,providedIn:"root"})}}return AuthCompanyService2})();var setManually=createAction("[App] Set Company ID Manually",props()),setAutomatically=createAction("[Auth] Set Company ID Automatically",props()),unset=createAction("[App] Unset Company ID"),remove31=createAction("[AuthCompany] Remove Company ID"),removedByStorage=createAction("[Storage] Company ID Removed"),changedByStorage=createAction("[Storage] Company ID Changed"),redirectTo2faRequired=createAction("[AuthCompany] Redirect To 2FA Required"),redirectToMyCompanies=createAction("[AuthCompany] Redirect To My Companies"),redirectToSsoRequired=createAction("[AuthCompany] Redirect To SSO Required");var AuthCompanyEffects=(()=>{class AuthCompanyEffects2{constructor(){this.actions$=inject(Actions),this.authCompanyService=inject(AuthCompanyService),this.authService=inject(AuthService),this.companyService=inject(CompanyService),this.document=inject(DOCUMENT),this.httpCancelService=inject(AuthCompanyHttpCancelService),this.location=inject(Location),this.router=inject(Router),this.storage=inject(StorageService),this.store=inject(Store),this.fqdn$=inject(FQDN),this.platform=inject(IX_PLATFORM),this.setAutomatically$=createEffect(()=>this.actions$.pipe(ofType(logInSuccess,loadMeSuccess3),switchMap(()=>this.companyService.getAll().pipe(catchError(()=>EMPTY),map(response=>response.data.filter(company=>(company.platform??"portal")===this.platform)))),withLatestFrom(this.fqdn$,this.store.select(selectMe2).pipe(map(sector=>sector?.branding?.fqdn??null),map(fqdn=>fqdn&&this.platform==="one"?getOneDomainForHost(fqdn):fqdn))),filter(([companies,fqdn,platformFqdn])=>{if(companies.length!==1)return!1;let companyFqdn=companies[0].branding?.fqdn??null;return!(companyFqdn&&companyFqdn!==fqdn||!companyFqdn&&platformFqdn&&platformFqdn!==fqdn&&environment.production&&fqdn!=="localhost"&&!fqdn.match(/(staging|testing)\.([a-zA-Z0-9-]+)\.dev$/))}),map(([companies])=>companies[0].publicId),withLatestFrom(this.authCompanyService.companyId),filter(([companyId,storedCompanyId])=>companyId!==storedCompanyId),map(([companyId])=>setAutomatically({companyId})))),this.removeAutomatically$=createEffect(()=>this.actions$.pipe(ofType(loadMeFailure),filter(({errors:errors2})=>errors2.some(error3=>{if(error3.message.startsWith("Invalid IXapi-Company value")||error3.propertyName===IxApiHeaderKeys.Company&&error3.message==="Invalid value")return!0})),map(()=>remove31()))),this.cancelPendingRequests$=createEffect(()=>this.actions$.pipe(ofType(unset),tap(()=>this.httpCancelService.cancelPendingRequests())),{dispatch:!1}),this.companyAdditionalAuthRequired$=createEffect(()=>this.actions$.pipe(ofType(loadMeFailure),mergeMap(({errors:errors2})=>errors2.some(error3=>error3.message===IxApiRequestErrorMessages.SSO_AUTH_REQUIRED)?of(redirectToSsoRequired()):errors2.some(error3=>error3.message===IxApiRequestErrorMessages.TWO_FACTOR_AUTH_REQUIRED)?of(redirectTo2faRequired()):EMPTY))),this.userRemoved$=createEffect(()=>this.actions$.pipe(ofType(didRemove26),withLatestFrom(this.store.select(selectMyId2)),switchMap(([{publicId},myUserId])=>publicId===myUserId?of(remove31()):EMPTY))),this.redirectTo2faRequired$=createEffect(()=>this.actions$.pipe(ofType(redirectTo2faRequired),tap(()=>{this.location.path()!=="/two-factor-auth/enable"&&this.router.navigate(["/two-factor-auth-required"],{skipLocationChange:!0})})),{dispatch:!1}),this.redirectToSsoRequired$=createEffect(()=>this.actions$.pipe(ofType(redirectToSsoRequired),tap(()=>{this.router.navigate(["/sso-auth-required"],{skipLocationChange:!0})})),{dispatch:!1}),this.redirectToMyCompanies$=createEffect(()=>this.actions$.pipe(ofType(redirectToMyCompanies),tap(()=>this.router.navigate(["/my-companies"]))),{dispatch:!1}),this.reload$=createEffect(()=>this.actions$.pipe(ofType(changedByStorage),tap(()=>this.document.location.reload())),{dispatch:!1}),this.remove$=createEffect(()=>this.actions$.pipe(ofType(remove31),tap(()=>this.authCompanyService.remove()),switchMap(()=>this.authService.isAuthenticated),take(1),filter(authenticated=>authenticated),map(()=>redirectToMyCompanies()))),this.removed$=createEffect(()=>this.actions$.pipe(ofType(removedByStorage),switchMap(()=>this.authService.isAuthenticated),take(1),filter(authenticated=>authenticated),map(()=>redirectToMyCompanies()))),this.set$=createEffect(()=>this.actions$.pipe(ofType(setManually,setAutomatically),tap(({companyId,type})=>{this.authCompanyService.set(companyId),type===setManually.type&&this.router.navigate(["/"])})),{dispatch:!1}),this.storage$=createEffect(()=>this.storage.watch(COMPANY_ID_STORAGE_KEY,StorageEventContext.Others).pipe(distinctUntilChanged(),map(token=>token?changedByStorage():removedByStorage()))),this.myCompanyLoaded$=createEffect(()=>this.actions$.pipe(ofType(loadMeSuccess),tap(({data})=>{window.dispatchEvent(new CustomEvent(FeatureEventType.CompanyChanged,{detail:data.publicId}))})),{dispatch:!1})}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AuthCompanyEffects2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AuthCompanyEffects2,factory:AuthCompanyEffects2.\u0275fac,providedIn:"root"})}}return AuthCompanyEffects2})();var loadList2=createAction("[App] Load AuditLog List for Agent",props()),loadListFailure2=createAction("[IxApi] Load AuditLog List for Agent Failure",props()),loadListSuccess2=createAction("[IxApi] Load AuditLog List for Agent Success",props()),reset40=createAction("[App] Reset AgentAuditLog State");var add27=createAction("[App] Add AgentDataAlarm",props()),addFailure27=createAction("[IxApi] Add AgentDataAlarm Failure",props()),addSuccess27=createAction("[IxApi] Add AgentDataAlarm Success",props()),addList6=createAction("[App] Add AgentDataAlarm List",props()),addListFailure6=createAction("[IxApi] Add AgentDataAlarm List Failure",props()),addListSuccess6=createAction("[IxApi] Add AgentDataAlarm List Success",props()),clearSelection2=createAction("[App] Clear AgentDataAlarm Selection"),didAdd40=createAction("[ChangeNotification] AgentDataAlarm Was Added",props()),didAddList5=createAction("[ChangeNotification] AgentDataAlarm List Was Added",props()),didRemove37=createAction("[ChangeNotification] AgentDataAlarm Was Removed",props()),didRemoveList6=createAction("[ChangeNotification] AgentDataAlarm List Was Removed",props()),didUpdate36=createAction("[ChangeNotification] AgentDataAlarm Was Updated",props()),didUpdateList6=createAction("[ChangeNotification] AgentDataAlarm List Was Updated",props()),ensureAll25=createAction("[App] Ensure All AgentDataAlarms",props()),loadAll28=createAction("[App] Load All AgentDataAlarms",props()),loadAllFailure28=createAction("[IxApi] Load All AgentDataAlarms Failure",props()),loadAllSuccess29=createAction("[IxApi] Load All AgentDataAlarms Success",props()),remove32=createAction("[App] Remove AgentDataAlarm",props()),removeFailure30=createAction("[IxApi] Remove AgentDataAlarm Failure",props()),removeSuccess31=createAction("[IxApi] Remove AgentDataAlarm Success",props()),removeList7=createAction("[App] Remove AgentDataAlarm List",props()),removeListFailure6=createAction("[IxApi] Remove AgentDataAlarm List Failure",props()),removeListSuccess7=createAction("[IxApi] Remove AgentDataAlarm List Success",props()),removeSelection2=createAction("[App] Remove AgentDataAlarm Selection",props()),setSelection=createAction("[App] Set AgentDataAlarm Selection",props()),update26=createAction("[App] Update AgentDataAlarm",props()),updateFailure26=createAction("[IxApi] Update AgentDataAlarm Failure",props()),updateSuccess26=createAction("[IxApi] Update AgentDataAlarm Success",props()),invalidateTranslations6=createAction("[App] Invalidate AgentDataAlarm Translations"),reset41=createAction("[App] Reset AgentDataAlarm State");var add28=createAction("[App] Add AgentDataCondition",props()),addFailure28=createAction("[IxApi] Add AgentDataCondition Failure",props()),addSuccess28=createAction("[IxApi] Add AgentDataCondition Success",props()),addList7=createAction("[App] Add AgentDataCondition List",props()),addListFailure7=createAction("[IxApi] Add AgentDataCondition List Failure",props()),addListSuccess7=createAction("[IxApi] Add AgentDataCondition List Success",props()),clearSelection3=createAction("[App] Clear AgentDataCondition Selection"),didAdd41=createAction("[ChangeNotification] AgentDataCondition Was Added",props()),didAddList6=createAction("[ChangeNotification] AgentDataCondition List Was Added",props()),didRemove38=createAction("[ChangeNotification] AgentDataCondition Was Removed",props()),didRemoveList7=createAction("[ChangeNotification] AgentDataCondition List Was Removed",props()),didUpdate37=createAction("[ChangeNotification] AgentDataCondition Was Updated",props()),didUpdateList7=createAction("[ChangeNotification] AgentDataCondition List Was Updated",props()),ensureAll26=createAction("[App] Ensure All AgentDataConditions",props()),loadAll29=createAction("[App] Load All AgentDataConditions",props()),loadAllFailure29=createAction("[IxApi] Load All AgentDataConditions Failure",props()),loadAllSuccess30=createAction("[IxApi] Load All AgentDataConditions Success",props()),remove33=createAction("[App] Remove AgentDataCondition",props()),removeFailure31=createAction("[IxApi] Remove AgentDataCondition Failure",props()),removeSuccess32=createAction("[IxApi] Remove AgentDataCondition Success",props()),removeList8=createAction("[App] Remove AgentDataCondition List",props()),removeListFailure7=createAction("[IxApi] Remove AgentDataCondition List Failure",props()),removeListSuccess8=createAction("[IxApi] Remove AgentDataCondition List Success",props()),reset42=createAction("[App] Reset AgentDataCondition State"),removeSelection3=createAction("[App] Remove AgentDataCondition Selection",props()),setSelection2=createAction("[App] Set AgentDataCondition Selection",props()),update27=createAction("[App] Update AgentDataCondition",props()),updateFailure27=createAction("[IxApi] Update AgentDataCondition Failure",props()),updateSuccess27=createAction("[IxApi] Update AgentDataCondition Success",props());var ensureAll27=createAction("[App] Ensure All AgentDataProtocols",props()),loadAll30=createAction("[App] Load All AgentDataProtocols",props()),loadAllFailure30=createAction("[IxApi] Load All AgentDataProtocols Failure",props()),loadAllSuccess31=createAction("[IxApi] Load All AgentDataProtocols Success",props()),reset43=createAction("[App] Reset AgentDataProtocol State");var add29=createAction("[App] Add AgentDataTag",props()),addFailure29=createAction("[IxApi] Add AgentDataTag Failure",props()),addSuccess29=createAction("[IxApi] Add AgentDataTag Success",props()),addList8=createAction("[App] Add AgentDataTag List",props()),addListFailure8=createAction("[IxApi] Add AgentDataTag List Failure",props()),addListSuccess8=createAction("[IxApi] Add AgentDataTag List Success",props()),clearSelection4=createAction("[App] Clear AgentDataTag Selection"),didAdd42=createAction("[ChangeNotification] AgentDataTag Was Added",props()),didAddList7=createAction("[ChangeNotification] AgentDataTag List Was Added",props()),didRemove39=createAction("[ChangeNotification] AgentDataTag Was Removed",props()),didRemoveList8=createAction("[ChangeNotification] AgentDataTag List Was Removed",props()),didUpdate38=createAction("[ChangeNotification] AgentDataTag Was Updated",props()),didUpdateList8=createAction("[ChangeNotification] AgentDataTag List Was Updated",props()),ensureAll28=createAction("[App] Ensure All AgentDataTags",props()),loadAll31=createAction("[App] Load All AgentDataTags",props()),loadAllFailure31=createAction("[IxApi] Load All AgentDataTags Failure",props()),loadAllSuccess32=createAction("[IxApi] Load All AgentDataTags Success",props()),remove34=createAction("[App] Remove AgentDataTag",props()),removeFailure32=createAction("[IxApi] Remove AgentDataTag Failure",props()),removeSuccess33=createAction("[IxApi] Remove AgentDataTag Success",props()),removeList9=createAction("[App] Remove AgentDataTag List",props()),removeListFailure8=createAction("[IxApi] Remove AgentDataTag List Failure",props()),removeListSuccess9=createAction("[IxApi] Remove AgentDataTag List Success",props()),reset44=createAction("[App] Reset AgentDataTag State"),removeSelection4=createAction("[App] Remove AgentDataTag Selection",props()),setSelection3=createAction("[App] Set AgentDataTag Selection",props()),update28=createAction("[App] Update AgentDataTag",props()),updateFailure28=createAction("[IxApi] Update AgentDataTag Failure",props()),updateSuccess28=createAction("[IxApi] Update AgentDataTag Success",props()),updateList5=createAction("[AgentDataTag] Update List",props()),updateListSuccess5=createAction("[AgentDataTag] Update List Success",props()),updateListFailure5=createAction("[AgentDataTag] Update List Failure",props());var add30=createAction("[App] Add AgentDataVariable",props()),addFailure30=createAction("[IxApi] Add AgentDataVariable Failure",props()),addSuccess30=createAction("[IxApi] Add AgentDataVariable Success",props()),addList9=createAction("[App] Add AgentDataVariable List",props()),addListFailure9=createAction("[IxApi] Add AgentDataVariable List Failure",props()),addListSuccess9=createAction("[IxApi] Add AgentDataVariable List Success",props()),clearSelection5=createAction("[App] Clear AgentDataVariable Selection"),didAdd43=createAction("[ChangeNotification] AgentDataVariable Was Added",props()),didAddList8=createAction("[ChangeNotification] AgentDataVariable List Was Added",props()),didRemove40=createAction("[ChangeNotification] AgentDataVariable Was Removed",props()),didRemoveList9=createAction("[ChangeNotification] AgentDataVariable List Was Removed",props()),didUpdate39=createAction("[ChangeNotification] AgentDataVariable Was Updated",props()),didUpdateList9=createAction("[ChangeNotification] AgentDataVariable List Was Updated",props()),ensureAll29=createAction("[App] Ensure All AgentDataVariables",props()),loadAll32=createAction("[App] Load All AgentDataVariables",props()),loadAllFailure32=createAction("[IxApi] Load All AgentDataVariables Failure",props()),loadAllSuccess33=createAction("[IxApi] Load All AgentDataVariables Success",props()),remove35=createAction("[App] Remove AgentDataVariable",props()),removeFailure33=createAction("[IxApi] Remove AgentDataVariable Failure",props()),removeSuccess34=createAction("[IxApi] Remove AgentDataVariable Success",props()),removeList10=createAction("[App] Remove AgentDataVariable List",props()),removeListFailure9=createAction("[IxApi] Remove AgentDataVariable List Failure",props()),removeListSuccess10=createAction("[IxApi] Remove AgentDataVariable List Success",props()),reset45=createAction("[App] Reset AgentDataVariable State"),removeSelection5=createAction("[App] Remove AgentDataVariable Selection",props()),setSelection4=createAction("[App] Set AgentDataVariable Selection",props()),update29=createAction("[App] Update AgentDataVariable",props()),updateFailure29=createAction("[IxApi] Update AgentDataVariable Failure",props()),updateSuccess29=createAction("[IxApi] Update AgentDataVariable Success",props());var add31=createAction("[App] Add AgentEdgeAppInstance",props()),addFailure31=createAction("[IxApi] Add AgentEdgeAppInstance Failure",props()),addSuccess31=createAction("[IxApi] Add AgentEdgeAppInstance Success",props()),didAdd44=createAction("[ChangeNotification] AgentEdgeAppInstance Was Added",props()),didRemove41=createAction("[ChangeNotification] AgentEdgeAppInstance Was Removed",props()),didUpdate40=createAction("[ChangeNotification] AgentEdgeAppInstance Was Updated",props()),ensureAll30=createAction("[App] Ensure All AgentEdgeAppInstances",props()),loadAll33=createAction("[App] Load All AgentEdgeAppInstances",props()),loadAllFailure33=createAction("[IxApi] Load All AgentEdgeAppInstances Failure",props()),loadAllSuccess34=createAction("[IxApi] Load All AgentEdgeAppInstances Success",props()),remove36=createAction("[App] Remove AgentEdgeAppInstance",props()),removeFailure34=createAction("[IxApi] Remove AgentEdgeAppInstance Failure",props()),removeSuccess35=createAction("[IxApi] Remove AgentEdgeAppInstance Success",props()),reset46=createAction("[App] Reset AgentEdgeAppInstance State"),shouldUpdate8=createAction("[OptimisticMutation] AgentEdgeAppInstance Should Update",props()),update30=createAction("[App] Update AgentEdgeAppInstance",props()),updateFailure30=createAction("[IxApi] Update AgentEdgeAppInstance Failure",props()),updateSuccess30=createAction("[IxApi] Update AgentEdgeAppInstance Success",props()),deploy=createAction("[App] Deploy AgentEdgeAppInstance",props()),deployFailure=createAction("[IxApi] Deploy AgentEdgeAppInstance Failure",props()),deploySuccess=createAction("[IxApi] Deploy AgentEdgeAppInstance Success",props());var didAdd45=createAction("[ChangeNotification] AgentEdgeAppInstanceService Was Added",props()),didRemove42=createAction("[ChangeNotification] AgentEdgeAppInstanceService Was Removed",props()),didUpdate41=createAction("[ChangeNotification] AgentEdgeAppInstanceService Was Updated",props()),ensureAll31=createAction("[App] Ensure All AgentEdgeAppInstanceServices",props()),loadAll34=createAction("[App] Load All AgentEdgeAppInstanceServices",props()),loadAllFailure34=createAction("[IxApi] Load All AgentEdgeAppInstanceServices Failure",props()),loadAllSuccess35=createAction("[IxApi] Load All AgentEdgeAppInstanceServices Success",props()),reset47=createAction("[App] Reset AgentEdgeAppInstanceService State"),update31=createAction("[App] Update AgentEdgeAppInstanceService",props()),updateFailure31=createAction("[IxApi] Update AgentEdgeAppInstanceService Failure",props()),updateSuccess31=createAction("[IxApi] Update AgentEdgeAppInstanceService Success",props()),updateMany5=createAction("[App] Update Many AgentEdgeAppInstanceServices",props()),updateManyFailure5=createAction("[IxApi] Update Many AgentEdgeAppInstanceServices Failure",props()),updateManySuccess5=createAction("[IxApi] Update Many AgentEdgeAppInstanceServices Success",props());var add32=createAction("[App] Add AgentRegistrationProfile",props()),addFailure32=createAction("[IxApi] Add AgentRegistrationProfile Failure",props()),addSuccess32=createAction("[IxApi] Add AgentRegistrationProfile Success",props()),didAdd46=createAction("[ChangeNotification] AgentRegistrationProfile Was Added",props()),didRemove43=createAction("[ChangeNotification] AgentRegistrationProfile Was Removed",props()),didUpdate42=createAction("[ChangeNotification] AgentRegistrationProfile Was Updated",props()),ensureAll32=createAction("[App] Ensure All AgentRegistrationProfiles"),loadAll35=createAction("[App] Load All AgentRegistrationProfiles"),loadAllFailure35=createAction("[IxApi] Load All AgentRegistrationProfiles Failure",props()),loadAllSuccess36=createAction("[IxApi] Load All AgentRegistrationProfiles Success",props()),remove37=createAction("[App] Remove AgentRegistrationProfile",props()),removeFailure35=createAction("[IxApi] Remove AgentRegistrationProfile Failure",props()),removeSuccess36=createAction("[IxApi] Remove AgentRegistrationProfile Success",props()),reset48=createAction("[App] Reset AgentRegistrationProfile State"),update32=createAction("[App] Update AgentRegistrationProfile",props()),updateFailure32=createAction("[IxApi] Update AgentRegistrationProfile Failure",props()),updateSuccess32=createAction("[IxApi] Update AgentRegistrationProfile Success",props());var addList10=createAction("[App] Add AgentRegistrationProfileMembership List",props()),addListFailure10=createAction("[IxApi] Add AgentRegistrationProfileMembership List Failure",props()),addListSuccess10=createAction("[IxApi] Add AgentRegistrationProfileMembership List Success",props()),didAdd47=createAction("[ChangeNotification] AgentRegistrationProfileMembership Was Added",props()),didAddList9=createAction("[ChangeNotification] AgentRegistrationProfileMembership List Was Added",props()),didRemove44=createAction("[ChangeNotification] AgentRegistrationProfileMembership Was Removed",props()),didRemoveList10=createAction("[ChangeNotification] AgentRegistrationProfileMembership List Was Removed",props()),didUpdate43=createAction("[ChangeNotification] AgentRegistrationProfileMembership Was Updated",props()),ensureAll33=createAction("[App] Ensure All AgentRegistrationProfileMemberships",props()),loadAll36=createAction("[App] Load All AgentRegistrationProfileMemberships",props()),loadAllFailure36=createAction("[IxApi] Load All AgentRegistrationProfileMemberships Failure",props()),loadAllSuccess37=createAction("[IxApi] Load All AgentRegistrationProfileMemberships Success",props()),mutateList=createAction("[App] Mutate AgentRegistrationProfileMembership List",props()),mutateListFailure=createAction("[App] Mutate AgentRegistrationProfileMembership List Failure",props()),mutateListSuccess=createAction("[App] Mutate AgentRegistrationProfileMembership List Success",props()),removeList11=createAction("[App] Remove AgentRegistrationProfileMembership List",props()),removeListFailure10=createAction("[IxApi] Remove AgentRegistrationProfileMembership List Failure",props()),removeListSuccess11=createAction("[IxApi] Remove AgentRegistrationProfileMembership List Success",props()),reset49=createAction("[App] Reset AgentRegistrationProfileMembership State"),update33=createAction("[App] Update AgentRegistrationProfileMembership",props()),updateFailure33=createAction("[IxApi] Update AgentRegistrationProfileMembership Failure",props()),updateSuccess33=createAction("[IxApi] Update AgentRegistrationProfileMembership Success",props());var add33=createAction("[App] Add AgentRouterLanWanAccessRule",props()),addFailure33=createAction("[IxApi] Add AgentRouterLanWanAccessRule Failure",props()),addSuccess33=createAction("[IxApi] Add AgentRouterLanWanAccessRule Success",props()),didAdd48=createAction("[ChangeNotification] AgentRouterLanWanAccessRule Was Added",props()),didRemove45=createAction("[ChangeNotification] AgentRouterLanWanAccessRule Was Removed",props()),didUpdate44=createAction("[ChangeNotification] AgentRouterLanWanAccessRule Was Updated",props()),ensureAll34=createAction("[App] Ensure All AgentRouterLanWanAccessRules",props()),loadAll37=createAction("[App] Load All AgentRouterLanWanAccessRules",props()),loadAllFailure37=createAction("[IxApi] Load All AgentRouterLanWanAccessRules Failure",props()),loadAllSuccess38=createAction("[IxApi] Load All AgentRouterLanWanAccessRule Success",props()),remove38=createAction("[App] Remove AgentRouterLanWanAccessRule",props()),removeFailure36=createAction("[IxApi] Remove AgentRouterLanWanAccessRule Failure",props()),removeSuccess37=createAction("[IxApi] Remove AgentRouterLanWanAccessRule Success",props()),reset50=createAction("[App] Reset AgentRouterLanWanAccessRule State"),update34=createAction("[App] Update AgentRouterLanWanAccessRule",props()),updateFailure34=createAction("[IxApi] Update AgentRouterLanWanAccessRule Failure",props()),updateSuccess34=createAction("[IxApi] Update AgentRouterLanWanAccessRule Success",props());var didAdd49=createAction("[ChangeNotification] AgentRouterNtpServer Was Added",props()),didRemove46=createAction("[ChangeNotification] AgentRouterNtpServer Was Removed",props()),didUpdate45=createAction("[ChangeNotification] AgentRouterNtpServer Was Updated",props()),reset51=createAction("[App] Reset AgentRouterNtpServer State"),modifyList=createAction("[IxApi] Modify AgentRouterNtpServerList",props()),modifyListSuccess=createAction("[IxApi] Modify AgentRouterNtpServerList Success",props()),modifyListFailure=createAction("[IxApi] Modify AgentRouterNtpServerList Failure",props());var add34=createAction("[App] Add AgentRouterOneToOneNatRule",props()),addFailure34=createAction("[IxApi] Add AgentRouterOneToOneNatRule Failure",props()),addSuccess34=createAction("[IxApi] Add AgentRouterOneToOneNatRule Success",props()),didAdd50=createAction("[ChangeNotification] AgentRouterOneToOneNatRule Was Added",props()),didRemove47=createAction("[ChangeNotification] AgentRouterOneToOneNatRule Was Removed",props()),didUpdate46=createAction("[ChangeNotification] AgentRouterOneToOneNatRule Was Updated",props()),ensureAll35=createAction("[App] Ensure All AgentRouterOneToOneNatRules",props()),loadAll38=createAction("[App] Load All AgentRouterOneToOneNatRules",props()),loadAllFailure38=createAction("[IxApi] Load All AgentRouterOneToOneNatRules Failure",props()),loadAllSuccess39=createAction("[IxApi] Load All AgentRouterOneToOneNatRules Success",props()),remove39=createAction("[App] Remove AgentRouterOneToOneNatRule",props()),removeFailure37=createAction("[IxApi] Remove AgentRouterOneToOneNatRule Failure",props()),removeSuccess38=createAction("[IxApi] Remove AgentRouterOneToOneNatRule Success",props()),reset52=createAction("[App] Reset AgentRouterOneToOneNatRule State"),update35=createAction("[App] Update AgentRouterOneToOneNatRule",props()),updateFailure35=createAction("[IxApi] Update AgentRouterOneToOneNatRule Failure",props()),updateSuccess35=createAction("[IxApi] Update AgentRouterOneToOneNatRule Success",props());var ensureAll36=createAction("[App] Ensure All AgentTypes",props()),loadAll39=createAction("[App] Load All AgentTypes",props()),loadAllFailure39=createAction("[IxApi] All AgentTypes Failure",props()),loadAllSuccess40=createAction("[IxApi] Load All AgentTypes Success",props()),reset53=createAction("[App] Reset AgentType State");var add35=createAction("[App] Add AssetAiAssistantPrompt",props()),addFailure35=createAction("[IxApi] Add AssetAiAssistantPrompt Failure",props()),addSuccess35=createAction("[IxApi] Add AssetAiAssistantPrompt Success",props()),update36=createAction("[App] Update AssetAiAssistantPrompt",props()),updateFailure36=createAction("[IxApi] Update AssetAiAssistantPrompt Failure",props()),updateSuccess36=createAction("[IxApi] Update AssetAiAssistantPrompt Success",props()),remove40=createAction("[App] Remove AssetAiAssistantPrompt",props()),removeFailure38=createAction("[IxApi] Remove AssetAiAssistantPrompt Failure",props()),removeSuccess39=createAction("[IxApi] Remove AssetAiAssistantPrompt Success",props()),didAdd51=createAction("[ChangeNotification] AssetAiAssistantPrompt Was Added",props()),didUpdate47=createAction("[ChangeNotification] AssetAiAssistantPrompt Was Updated",props()),didRemove48=createAction("[ChangeNotification] AssetAiAssistantPrompt Was Removed",props()),reset54=createAction("[App] Reset AssetAiAssistantPrompt State");var update37=createAction("[App] Update AssetAppConfig",props()),updateFailure37=createAction("[IxApi] Update AssetAppConfig Failure",props()),updateSuccess37=createAction("[IxApi] Update AssetAppConfig Success",props()),didAdd52=createAction("[ChangeNotification] AssetAppConfig Was Added",props()),didRemove49=createAction("[ChangeNotification] AssetAppConfig Was Removed",props()),didUpdate48=createAction("[ChangeNotification] AssetAppConfig Was Updated",props()),reset55=createAction("[App] Reset AssetAppConfig State");var add36=createAction("[App] Add AssetAppConfigResource",props()),addFailure36=createAction("[IxApi] Add AssetAppConfigResource Failure",props()),addSuccess36=createAction("[IxApi] Add AssetAppConfigResource Success",props()),didAdd53=createAction("[ChangeNotification] AssetAppConfigResource Was Added",props()),didRemove50=createAction("[ChangeNotification] AssetAppConfigResource Was Removed",props()),didUpdate49=createAction("[ChangeNotification] AssetAppConfigResource Was Updated",props()),ensureAll37=createAction("[App] Ensure All AssetAppConfigResources"),loadAll40=createAction("[App] Load All AssetAppConfigResources"),loadAllFailure40=createAction("[IxApi] Load All AssetAppConfigResources Failure",props()),loadAllSuccess41=createAction("[IxApi] Load All AssetAppConfigResources Success",props()),remove41=createAction("[App] Remove AssetAppConfigResource",props()),removeFailure39=createAction("[IxApi] Remove AssetAppConfigResource Failure",props()),removeSuccess40=createAction("[IxApi] Remove AssetAppConfigResource Success",props()),reset56=createAction("[App] Reset AssetAppConfigResource State"),update38=createAction("[App] Update AssetAppConfigResource",props()),updateFailure38=createAction("[IxApi] Update AssetAppConfigResource Failure",props()),updateSuccess38=createAction("[IxApi] Update AssetAppConfigResource Success",props()),clearSelection6=createAction("[App] Clear AssetAppConfigResource Selection"),removeSelection6=createAction("[App] Remove AssetAppConfigResource Selection"),setSelection5=createAction("[App] Set AssetAppConfigResource Selection",props()),removeList12=createAction("[App] Remove AssetAppConfigResource List",props()),removeListFailure11=createAction("[IxApi] Remove AssetAppConfigResource List Failure",props()),removeListSuccess12=createAction("[IxApi] Remove AssetAppConfigResource List Success",props()),addList11=createAction("[App] Add AssetAppConfigResource List",props()),addListSuccess11=createAction("[App] Add AssetAppConfigResource List Success",props()),addListFailure11=createAction("[App] Add AssetAppConfigResource List Failure",props()),updateList6=createAction("[App] Update AssetAppConfigResource List",props()),updateListSuccess6=createAction("[App] Update AssetAppConfigResource List Success",props()),updateListFailure6=createAction("[App] Update AssetAppConfigResource List Failure",props());var add37=createAction("[App] Add AssetLibraryVersion",props()),addFailure37=createAction("[IxApi] Add AssetLibraryVersion Failure",props()),addSuccess37=createAction("[IxApi] Add AssetLibraryVersion Success",props()),didAdd54=createAction("[ChangeNotification] AssetLibraryVersion Was Added",props()),didRemove51=createAction("[ChangeNotification] AssetLibraryVersion Was Removed",props()),didUpdate50=createAction("[ChangeNotification] AssetLibraryVersion Was Updated",props()),ensureAllLatest=createAction("[App] Ensure All Latest AssetLibraryVersions"),loadAllLatest=createAction("[App] Load All Latest AssetLibraryVersions"),loadAllLatestFailure=createAction("[IxApi] Load All Latest AssetLibraryVersions Failure",props()),loadAllLatestSuccess=createAction("[IxApi] Load All Latest AssetLibraryVersions Success",props()),reset57=createAction("[App] Reset AssetLibraryVersion State");var addList12=createAction("[App] Add AssetMembership List",props()),addListFailure12=createAction("[IxApi] Add AssetMembership List Failure",props()),addListSuccess12=createAction("[IxApi] Add AssetMembership List Success",props()),didAdd55=createAction("[ChangeNotification] AssetMembership Was Added",props()),didRemove52=createAction("[ChangeNotification] AssetMembership Was Removed",props()),didUpdate51=createAction("[ChangeNotification] AssetMembership Was Updated",props()),ensureAll38=createAction("[App] Ensure All AssetMemberships"),loadAll41=createAction("[App] Load All AssetMemberships"),loadAllFailure41=createAction("[IxApi] Load All AssetMemberships Failure",props()),loadAllSuccess42=createAction("[IxApi] Load All AssetMemberships Success",props()),removeList13=createAction("[App] Remove AssetMembership List",props()),removeListFailure12=createAction("[IxApi] Remove AssetMembership List Failure",props()),removeListSuccess13=createAction("[IxApi] Remove AssetMembership List Success",props()),reset58=createAction("[App] Reset AssetMembership State"),update39=createAction("[App] Update AssetMembership",props()),updateFailure39=createAction("[IxApi] Update AssetMembership Failure",props()),updateSuccess39=createAction("[IxApi] Update AssetMembership Success",props());var add38=createAction("[App] Add AssetType",props()),addFailure38=createAction("[IxApi] Add AssetType Failure",props()),addSuccess38=createAction("[IxApi] Add AssetType Success",props()),didAdd56=createAction("[ChangeNotification] AssetType Was Added",props()),didRemove53=createAction("[ChangeNotification] AssetType Was Removed",props()),didUpdate52=createAction("[ChangeNotification] AssetType Was Updated",props()),ensureAll39=createAction("[App] Ensure All AssetTypes"),loadAll42=createAction("[App] Load All AssetTypes"),loadAllFailure42=createAction("[IxApi] Load All AssetTypes Failure",props()),loadAllSuccess43=createAction("[IxApi] Load All AssetTypes Success",props()),remove42=createAction("[App] Remove AssetType",props()),removeFailure40=createAction("[IxApi] Remove AssetType Failure",props()),removeSuccess41=createAction("[IxApi] Remove AssetType Success",props()),update40=createAction("[App] Update AssetType",props()),updateFailure40=createAction("[IxApi] Update AssetType Failure",props()),updateSuccess40=createAction("[IxApi] Update AssetType Success",props()),updateMany6=createAction("[App] Update Many AssetTypes",props()),updateManyFailure6=createAction("[IxApi] Update Many AssetTypes Failure",props()),updateManySuccess6=createAction("[IxApi] Update Many AssetTypes Success",props()),reset59=createAction("[App] Reset AssetType State");var add39=createAction("[App] Add Audience",props()),addFailure39=createAction("[IxApi] Add Audience Failure",props()),addSuccess39=createAction("[IxApi] Add Audience Success",props()),didAdd57=createAction("[ChangeNotification] Audience Was Added",props()),didRemove54=createAction("[ChangeNotification] Audience Was Removed",props()),didUpdate53=createAction("[ChangeNotification] Audience Was Updated",props()),ensureAll40=createAction("[App] Ensure All Audiences"),loadAll43=createAction("[App] Load All Audiences"),loadAllFailure43=createAction("[IxApi] Load All Audiences Failure",props()),loadAllSuccess44=createAction("[IxApi] Load All Audiences Success",props()),setDefault2=createAction("[App] Set Default Audience",props()),setDefaultFailure2=createAction("[IxApi] Set Default Audience Failure",props()),setDefaultSuccess2=createAction("[IxApi] Set Default Audience Success",props()),remove43=createAction("[App] Remove Audience",props()),removeFailure41=createAction("[IxApi] Remove Audience Failure",props()),removeSuccess42=createAction("[IxApi] Remove Audience Success",props()),reset60=createAction("[App] Reset Audience State"),unsetDefault2=createAction("[App] Unset Default Audience",props()),unsetDefaultFailure2=createAction("[IxApi] Unset Default Audience Failure",props()),unsetDefaultSuccess2=createAction("[IxApi] Unset Default Audience Success",props()),update41=createAction("[App] Update Audience",props()),updateFailure41=createAction("[IxApi] Update Audience Failure",props()),updateSuccess41=createAction("[IxApi] Update Audience Success",props());var loadList3=createAction("[App] Load AuditLog List",props()),loadListFailure3=createAction("[IxApi] Load AuditLog List Failure",props()),loadListSuccess3=createAction("[IxApi] Load AuditLog List Success",props()),reset61=createAction("[App] Reset AuditLog State");var add40=createAction("[App] Add BackendComponentTemplateShare",props()),addFailure40=createAction("[IxApi] Add BackendComponentTemplateShare Failure",props()),addSuccess40=createAction("[IxApi] Add BackendComponentTemplateShare Success",props()),didAdd58=createAction("[ChangeNotification] BackendComponentTemplateShare Was Added",props()),didRemove55=createAction("[ChangeNotification] BackendComponentTemplateShare Was Removed",props()),didUpdate54=createAction("[ChangeNotification] BackendComponentTemplateShare Was Updated",props()),ensureAll41=createAction("[App] Ensure All BackendComponentTemplateShares"),loadAll44=createAction("[App] Load All BackendComponentTemplateShares"),loadAllFailure44=createAction("[IxApi] Load All BackendComponentTemplateShares Failure",props()),loadAllSuccess45=createAction("[IxApi] Load All BackendComponentTemplateShares Success",props()),remove44=createAction("[App] Remove BackendComponentTemplateShare",props()),removeFailure42=createAction("[IxApi] Remove BackendComponentTemplateShare Failure",props()),removeSuccess43=createAction("[IxApi] Remove BackendComponentTemplateShare Success",props()),reset62=createAction("[App] Reset BackendComponentTemplateShare State"),update42=createAction("[App] Update BackendComponentTemplateShare",props()),updateFailure42=createAction("[IxApi] Update BackendComponentTemplateShare Failure",props()),updateSuccess42=createAction("[IxApi] Update BackendComponentTemplateShare Success",props());var add41=createAction("[App] Add BackendComponentTemplateVersion",props()),addFailure41=createAction("[IxApi] Add BackendComponentTemplateVersion Failure",props()),addSuccess41=createAction("[IxApi] Add BackendComponentTemplateVersion Success",props()),didAdd59=createAction("[ChangeNotification] BackendComponentTemplateVersion Was Added",props()),didRemove56=createAction("[ChangeNotification] BackendComponentTemplateVersion Was Removed",props()),didUpdate55=createAction("[ChangeNotification] BackendComponentTemplateVersion Was Updated",props()),ensureAll42=createAction("[App] Ensure All BackendComponentTemplateVersions"),loadAll45=createAction("[App] Load All BackendComponentTemplateVersions"),loadAllFailure45=createAction("[IxApi] Load All BackendComponentTemplateVersions Failure",props()),loadAllSuccess46=createAction("[IxApi] Load All BackendComponentTemplateVersions Success",props()),remove45=createAction("[App] Remove BackendComponentTemplateVersion",props()),removeFailure43=createAction("[IxApi] Remove BackendComponentTemplateVersion Failure",props()),removeSuccess44=createAction("[IxApi] Remove BackendComponentTemplateVersion Success",props()),reset63=createAction("[App] Reset BackendComponentTemplateVersion State"),update43=createAction("[App] Update BackendComponentTemplateVersion",props()),updateFailure43=createAction("[IxApi] Update BackendComponentTemplateVersion Failure",props()),updateSuccess43=createAction("[IxApi] Update BackendComponentTemplateVersion Success",props());var loadAll46=createAction("[App] Load All CompanyPrivacyStatements",props()),loadAllFailure46=createAction("[IxApi] Load All CompanyPrivacyStatements Failure",props()),loadAllSuccess47=createAction("[IxApi] Load All CompanyPrivacyStatements Success",props()),publish2=createAction("[App] Publish CompanyPrivacyStatement",props()),publishFailure2=createAction("[IxApi] Publish CompanyPrivacyStatement Failure",props()),publishSuccess2=createAction("[IxApi] Publish CompanyPrivacyStatement Success",props()),reset64=createAction("[App] Reset CompanyPrivacyStatement State");var add42=createAction("[App] Add CompanyTermsOfUsePolicyLanguage",props()),addFailure42=createAction("[IxApi] Add CompanyTermsOfUsePolicyLanguage Failure",props()),addSuccess42=createAction("[IxApi] Add CompanyTermsOfUsePolicyLanguage Success",props()),didAdd60=createAction("[ChangeNotification] TermsOfUsePolicyLanguage Was Added",props()),didUpdate56=createAction("[ChangeNotification] TermsOfUsePolicyLanguage Was Updated",props()),update44=createAction("[App] Update CompanyTermsOfUsePolicyLanguage",props()),updateFailure44=createAction("[IxApi] Update CompanyTermsOfUsePolicyLanguage Failure",props()),updateSuccess44=createAction("[IxApi] Update CompanyTermsOfUsePolicyLanguage Success",props()),reset65=createAction("[App] Reset CompanyTermsOfUsePolicyLanguage State");var accept2=createAction("[App] Accept CompanyTermsOfUsePolicy",props()),acceptFailure2=createAction("[IxApi] Accept CompanyTermsOfUsePolicy Failure",props()),acceptSuccess2=createAction("[IxApi] Accept CompanyTermsOfUsePolicy Success",props()),loadAll47=createAction("[App] Load All CompanyTermsOfUsePolicies",props()),loadAllFailure47=createAction("[IxApi] Load All CompanyTermsOfUsePolicies Failure",props()),loadAllSuccess48=createAction("[IxApi] Load All CompanyTermsOfUsePolicies Success",props()),publish3=createAction("[App] Publish CompanyTermsOfUsePolicy",props()),publishFailure3=createAction("[IxApi] Publish CompanyTermsOfUsePolicy Failure",props()),publishSuccess3=createAction("[IxApi] Publish CompanyTermsOfUsePolicy Success",props()),reset66=createAction("[App] Reset CompanyTermsOfUsePolicy State");var loadList4=createAction("[App] Load AuditLog List for ControlledDevice",props()),loadListFailure4=createAction("[IxApi] Load AuditLog List for ControlledDevice Failure",props()),loadListSuccess4=createAction("[IxApi] Load AuditLog List for ControlledDevice Success",props()),reset67=createAction("[App] Reset ControlledDeviceAuditLog State");var addList13=createAction("[App] Add ControlledDeviceMembership List",props()),addListFailure13=createAction("[IxApi] Add ControlledDeviceMembership List Failure",props()),addListSuccess13=createAction("[IxApi] Add ControlledDeviceMembership List Success",props()),didAdd61=createAction("[ChangeNotification] ControlledDeviceMembership Was Added",props()),didRemove57=createAction("[ChangeNotification] ControlledDeviceMembership Was Removed",props()),ensureAll43=createAction("[App] Ensure All ControlledDeviceMemberships"),loadAll48=createAction("[App] Load All ControlledDeviceMemberships"),loadAllFailure48=createAction("[IxApi] Load All ControlledDeviceMemberships Failure",props()),loadAllSuccess49=createAction("[IxApi] Load All ControlledDeviceMembership Success",props()),removeList14=createAction("[App] Remove ControlledDeviceMembership List",props()),removeListFailure13=createAction("[IxApi] Remove ControlledDeviceMembership List Failure",props()),removeListSuccess14=createAction("[IxApi] Remove ControlledDeviceMembership List Success",props()),reset68=createAction("[App] Reset ControlledDeviceMembership State");var didAdd62=createAction("[ChangeNotification] CustomProperty Was Added",props()),didRemove58=createAction("[ChangeNotification] CustomProperty Was Removed",props()),didUpdate57=createAction("[ChangeNotification] CustomProperty Was Updated",props()),ensureAll44=createAction("[App] Ensure All CustomProperties"),loadAll49=createAction("[App] Load All CustomProperties"),loadAllFailure49=createAction("[IxApi] Load All CustomProperties Failure",props()),loadAllSuccess50=createAction("[IxApi] Load All CustomProperties Success",props()),reset69=createAction("[App] Reset CustomProperties State");var add43=createAction("[App] Add DemoDevice",props()),addFailure43=createAction("[IxApi] Add DemoDevice Failure",props()),addSuccess43=createAction("[IxApi] Add DemoDevice Success",props()),reset70=createAction("[App] Reset DemoDevice State");var add44=createAction("[App] Add EdgeApp",props()),addFailure44=createAction("[IxApi] Add EdgeApp Failure",props()),addSuccess44=createAction("[IxApi] Add EdgeApp Success",props()),didAdd63=createAction("[ChangeNotification] EdgeApp Was Added",props()),didRemove59=createAction("[ChangeNotification] EdgeApp Was Removed",props()),didUpdate58=createAction("[ChangeNotification] EdgeApp Was Updated",props()),ensureAll45=createAction("[App] Ensure All EdgeApps"),loadAll50=createAction("[App] Load All EdgeApps"),loadAllFailure50=createAction("[IxApi] Load All EdgeApps Failure",props()),loadAllSuccess51=createAction("[IxApi] Load All EdgeApps Success",props()),remove46=createAction("[App] Remove EdgeApp",props()),removeFailure44=createAction("[IxApi] Remove EdgeApp Failure",props()),removeSuccess45=createAction("[IxApi] Remove EdgeApp Success",props()),reset71=createAction("[App] Reset EdgeApp State"),update45=createAction("[App] Update EdgeApp",props()),updateFailure45=createAction("[IxApi] Update EdgeApp Failure",props()),updateSuccess45=createAction("[IxApi] Update EdgeApp Success",props());var add45=createAction("[App] Add EdgeAppFile",props()),addFailure45=createAction("[IxApi] Add EdgeAppFile Failure",props()),addSuccess45=createAction("[IxApi] Add EdgeAppFile Success",props()),didAdd64=createAction("[ChangeNotification] EdgeAppFile Was Added",props()),didRemove60=createAction("[ChangeNotification] EdgeAppFile Was Removed",props()),didUpdate59=createAction("[ChangeNotification] EdgeAppFile Was Updated",props()),ensureAll46=createAction("[App] Ensure All EdgeAppFiles"),loadAll51=createAction("[App] Load All EdgeAppFiles"),loadAllFailure51=createAction("[IxApi] Load All EdgeAppFiles Failure",props()),loadAllSuccess52=createAction("[IxApi] Load All EdgeAppFiles Success",props()),remove47=createAction("[App] Remove EdgeAppFile",props()),removeFailure45=createAction("[IxApi] Remove EdgeAppFile Failure",props()),removeSuccess46=createAction("[IxApi] Remove EdgeAppFile Success",props()),removeList15=createAction("[App] Remove EdgeAppFile List",props()),removeListFailure14=createAction("[IxApi] Remove EdgeAppFile List Failure",props()),removeListSuccess15=createAction("[IxApi] Remove EdgeAppFile List Success",props()),reset72=createAction("[App] Reset EdgeAppFile State");var add46=createAction("[App] Add EdgeAppVersion",props()),addFailure46=createAction("[IxApi] Add EdgeAppVersion Failure",props()),addSuccess46=createAction("[IxApi] Add EdgeAppVersion Success",props()),didAdd65=createAction("[ChangeNotification] EdgeAppVersion Was Added",props()),didRemove61=createAction("[ChangeNotification] EdgeAppVersion Was Removed",props()),didUpdate60=createAction("[ChangeNotification] EdgeAppVersion Was Updated",props()),ensureAll47=createAction("[App] Ensure All EdgeAppVersions"),loadAll52=createAction("[App] Load All EdgeAppVersions"),loadAllFailure52=createAction("[IxApi] Load All EdgeAppVersions Failure",props()),loadAllSuccess53=createAction("[IxApi] Load All EdgeAppVersions Success",props()),remove48=createAction("[App] Remove EdgeAppVersion",props()),removeFailure46=createAction("[IxApi] Remove EdgeAppVersion Failure",props()),removeSuccess47=createAction("[IxApi] Remove EdgeAppVersion Success",props()),reset73=createAction("[App] Reset EdgeAppVersion State"),update46=createAction("[App] Update EdgeAppVersion",props()),updateFailure46=createAction("[IxApi] Update EdgeAppVersion Failure",props()),updateSuccess46=createAction("[IxApi] Update EdgeAppVersion Success",props());var didAdd66=createAction("[ChangeNotification] File Was Added",props()),didRemove62=createAction("[ChangeNotification] File Was Removed",props()),didUpdate61=createAction("[ChangeNotification] File Was Updated",props()),reset74=createAction("[App] Reset File State");var add47=createAction("[App] Add Licences",props()),addFailure47=createAction("[IxApi] Add Licences Failure",props()),addSuccess47=createAction("[IxApi] Add Licences Success",props()),didAdd67=createAction("[ChangeNotification] Licence Was Added",props()),didRemove63=createAction("[ChangeNotification] Licence Was Removed",props()),didUpdate62=createAction("[ChangeNotification] Licence Was Updated",props()),ensureAll48=createAction("[App] Ensure All Licences"),ensureAllUnusedDeviceActivation=createAction("[App] Ensure All Unused Device-Activation Licences"),extend=createAction("[App] Extend Licence",props()),extendFailure=createAction("[IxApi] Extend Licence Failure",props()),extendSuccess=createAction("[IxApi] Extend Licence Success"),loadAll53=createAction("[App] Load All Licences"),loadAllFailure53=createAction("[IxApi] Load All Licences Failure",props()),loadAllSuccess54=createAction("[IxApi] Load All Licences Success",props()),loadAllUnusedDeviceActivation=createAction("[App] Load All Unused Device-Activation Licences"),loadAllUnusedDeviceActivationFailure=createAction("[IxApi] Load All Unused Device-Activation Licences Failure",props()),loadAllUnusedDeviceActivationSuccess=createAction("[IxApi] Load All Unused Device-Activation Licences Success",props()),reset75=createAction("[App] Reset Licence State");var didAdd68=createAction("[ChangeNotification] LicenceBundle Was Added",props()),didRemove64=createAction("[ChangeNotification] LicenceBundle Was Removed",props()),didUpdate63=createAction("[ChangeNotification] LicenceBundle Was Updated",props()),extend2=createAction("[App] Extend LicenceBundle",props()),extendFailure2=createAction("[IxApi] Extend LicenceBundle Failure",props()),extendSuccess2=createAction("[IxApi] Extend LicenceBundle Success"),reset76=createAction("[App] Reset LicenceBundle State");var ensureAll49=createAction("[App] Ensure All LicenceTypes"),loadAll54=createAction("[App] Load All LicenceTypes"),loadAllFailure54=createAction("[IxApi] Load All LicenceTypes Failure",props()),loadAllSuccess55=createAction("[IxApi] Load All LicenceTypes Success",props()),reset77=createAction("[App] Reset LicenceType State");var add48=createAction("[App] Add MqttBroker",props()),addFailure48=createAction("[IxApi] Add MqttBroker Failure",props()),addSuccess48=createAction("[IxApi] Add MqttBroker Success",props()),didAdd69=createAction("[ChangeNotification] MqttBroker Was Added",props()),didRemove65=createAction("[ChangeNotification] MqttBroker Was Removed",props()),didUpdate64=createAction("[ChangeNotification] MqttBroker Was Updated",props()),ensureAll50=createAction("[App] Ensure All MqttBrokers"),loadAll55=createAction("[App] Load All MqttBrokers"),loadAllFailure55=createAction("[IxApi] Load All MqttBrokers Failure",props()),loadAllSuccess56=createAction("[IxApi] Load All MqttBrokers Success",props()),remove49=createAction("[App] Remove MqttBroker",props()),removeFailure47=createAction("[IxApi] Remove MqttBroker Failure",props()),removeSuccess48=createAction("[IxApi] Remove MqttBroker Success",props()),reset78=createAction("[App] Reset MqttBroker State"),update47=createAction("[App] Update MqttBroker",props()),updateFailure47=createAction("[IxApi] Update MqttBroker Failure",props()),updateSuccess47=createAction("[IxApi] Update MqttBroker Success",props());var didAdd70=createAction("[ChangeNotification] MqttBrokerClient Was Added",props()),didRemove66=createAction("[ChangeNotification] MqttBrokerClient Was Removed",props()),didUpdate65=createAction("[ChangeNotification] MqttBrokerClient Was Updated",props()),reset79=createAction("[App] Reset MqttBrokerClient State");var loadAll56=createAction("[App] Load All MyUserAccessRequests",props()),loadAllSuccess57=createAction("[IxApi] Load All MyUserAccessRequests Success",props()),loadOne6=createAction("[App] Load One MyUserAccessRequest",props()),loadOneSuccess6=createAction("[IxApi] Load One MyUserAccessRequest Success",props()),reset80=createAction("[App] Reset MyUserAccessRequest State");var add49=createAction("[App] Add OciRegistry",props()),addFailure49=createAction("[IxApi] Add OciRegistry Failure",props()),addSuccess49=createAction("[IxApi] Add OciRegistry Success",props()),didAdd71=createAction("[ChangeNotification] OciRegistry Was Added",props()),didRemove67=createAction("[ChangeNotification] OciRegistry Was Removed",props()),didUpdate66=createAction("[ChangeNotification] OciRegistry Was Updated",props()),ensureAll51=createAction("[App] Ensure All OciRegistries"),loadAll57=createAction("[App] Load All OciRegistries"),loadAllFailure56=createAction("[IxApi] Load All OciRegistries Failure",props()),loadAllSuccess58=createAction("[IxApi] Load All OciRegistries Success",props()),remove50=createAction("[App] Remove OciRegistry",props()),removeFailure48=createAction("[IxApi] Remove OciRegistry Failure",props()),removeSuccess49=createAction("[IxApi] Remove OciRegistry Success",props()),reset81=createAction("[App] Reset OciRegistry State"),update48=createAction("[App] Update OciRegistry",props()),updateFailure48=createAction("[IxApi] Update OciRegistry Failure",props()),updateSuccess48=createAction("[IxApi] Update OciRegistry Success",props());var add50=createAction("[App] Add PageComponentTemplateShare",props()),addFailure50=createAction("[IxApi] Add PageComponentTemplateShare Failure",props()),addSuccess50=createAction("[IxApi] Add PageComponentTemplateShare Success",props()),didAdd72=createAction("[ChangeNotification] PageComponentTemplateShare Was Added",props()),didRemove68=createAction("[ChangeNotification] PageComponentTemplateShare Was Removed",props()),didUpdate67=createAction("[ChangeNotification] PageComponentTemplateShare Was Updated",props()),ensureAll52=createAction("[App] Ensure All PageComponentTemplateShares"),loadAll58=createAction("[App] Load All PageComponentTemplateShares"),loadAllFailure57=createAction("[IxApi] Load All PageComponentTemplateShares Failure",props()),loadAllSuccess59=createAction("[IxApi] Load All PageComponentTemplateShares Success",props()),remove51=createAction("[App] Remove PageComponentTemplateShare",props()),removeFailure49=createAction("[IxApi] Remove PageComponentTemplateShare Failure",props()),removeSuccess50=createAction("[IxApi] Remove PageComponentTemplateShare Success",props()),reset82=createAction("[App] Reset PageComponentTemplateShare State"),update49=createAction("[App] Update PageComponentTemplateShare",props()),updateFailure49=createAction("[IxApi] Update PageComponentTemplateShare Failure",props()),updateSuccess49=createAction("[IxApi] Update PageComponentTemplateShare Success",props());var add51=createAction("[App] Add PageComponentTemplateVersion",props()),addFailure51=createAction("[IxApi] Add PageComponentTemplateVersion Failure",props()),addSuccess51=createAction("[IxApi] Add PageComponentTemplateVersion Success",props()),didAdd73=createAction("[ChangeNotification] PageComponentTemplateVersion Was Added",props()),didRemove69=createAction("[ChangeNotification] PageComponentTemplateVersion Was Removed",props()),didUpdate68=createAction("[ChangeNotification] PageComponentTemplateVersion Was Updated",props()),ensureAll53=createAction("[App] Ensure All PageComponentTemplateVersions"),loadAll59=createAction("[App] Load All PageComponentTemplateVersions"),loadAllFailure58=createAction("[IxApi] Load All PageComponentTemplateVersions Failure",props()),loadAllSuccess60=createAction("[IxApi] Load All PageComponentTemplateVersions Success",props()),remove52=createAction("[App] Remove PageComponentTemplateVersion",props()),removeFailure50=createAction("[IxApi] Remove PageComponentTemplateVersion Failure",props()),removeSuccess51=createAction("[IxApi] Remove PageComponentTemplateVersion Success",props()),reset83=createAction("[App] Reset PageComponentTemplateVersion State"),update50=createAction("[App] Update PageComponentTemplateVersion",props()),updateFailure50=createAction("[IxApi] Update PageComponentTemplateVersion Failure",props()),updateSuccess50=createAction("[IxApi] Update PageComponentTemplateVersion Success",props());var add52=createAction("[App] Add PageLinkGroup",props()),addSuccess52=createAction("[IxApi] Add PageLinkGroup Success",props()),didAdd74=createAction("[ChangeNotification] PageLinkGroup Was Added",props()),didRemove70=createAction("[ChangeNotification] PageLinkGroup Was Removed",props()),didUpdate69=createAction("[ChangeNotification] PageLinkGroup Was Updated",props()),ensureAll54=createAction("[App] Ensure All PageLinkGroups",props()),loadAll60=createAction("[App] Load All PageLinkGroups",props()),loadAllSuccess61=createAction("[IxApi] Load All PageLinkGroups Success",props()),remove53=createAction("[App] Remove PageLinkGroup",props()),removeSuccess52=createAction("[IxApi] Remove PageLinkGroup Success",props()),update51=createAction("[App] Update PageLinkGroup",props()),updateSuccess51=createAction("[IxApi] Update PageLinkGroup Success",props()),invalidateTranslations7=createAction("[App] Invalidate PageLinkGroup Translations"),reset84=createAction("[App] Reset PageLinkGroup State");var ensureAll55=createAction("[App] Ensure All Permissions"),loadAll61=createAction("[App] Load All Permissions"),loadAllFailure59=createAction("[IxApi] Load All Permissions Failure",props()),loadAllSuccess62=createAction("[IxApi] Load All Permissions Success",props()),reset85=createAction("[App] Reset Permission State");var add53=createAction("[App] Add PipelineFunction",props()),addFailure52=createAction("[IxApi] Add PipelineFunction Failure",props()),addSuccess53=createAction("[IxApi] Add PipelineFunction Success",props()),didAdd75=createAction("[ChangeNotification] PipelineFunction Was Added",props()),didRemove71=createAction("[ChangeNotification] PipelineFunction Was Removed",props()),didUpdate70=createAction("[ChangeNotification] PipelineFunction Was Updated",props()),ensureAll56=createAction("[App] Ensure All PipelineFunctions"),loadAll62=createAction("[App] Load All PipelineFunctions"),loadAllFailure60=createAction("[IxApi] Load All PipelineFunctions Failure",props()),loadAllSuccess63=createAction("[IxApi] Load All PipelineFunctions Success",props()),remove54=createAction("[App] Remove PipelineFunction",props()),removeFailure51=createAction("[IxApi] Remove PipelineFunction Failure",props()),removeSuccess53=createAction("[IxApi] Remove PipelineFunction Success",props()),reset86=createAction("[App] Reset PipelineFunction State"),update52=createAction("[App] Update PipelineFunction",props()),updateFailure51=createAction("[IxApi] Update PipelineFunction Failure",props()),updateSuccess52=createAction("[IxApi] Update PipelineFunction Success",props());var ensureAll57=createAction("[App] Ensure All PlatformServers"),loadAll63=createAction("[App] Load All PlatformServers"),loadAllFailure61=createAction("[IxApi] Load All PlatformServers Failure",props()),loadAllSuccess64=createAction("[IxApi] Load All PlatformServers Success",props()),reset87=createAction("[App] Reset PlatformServer State");var ensureAll58=createAction("[App] Ensure all ReportSchedules",props()),add54=createAction("[App] Add ReportSchedule",props()),addFailure53=createAction("[IxApi] Add ReportSchedule Failure",props()),addSuccess54=createAction("[IxApi] Add ReportSchedule Success",props()),didAdd76=createAction("[ChangeNotification] ReportSchedule Was Added",props()),didRemove72=createAction("[ChangeNotification] ReportSchedule Was Removed",props()),didUpdate71=createAction("[ChangeNotification] ReportSchedule Was Updated",props()),loadAll64=createAction("[App] Load all ReportSchedules",props()),loadAllFailure62=createAction("[IxApi] Load all ReportSchedules Failure",props()),loadAllSuccess65=createAction("[IxApi] Load all ReportSchedules Success",props()),remove55=createAction("[App] Remove ReportSchedule",props()),removeFailure52=createAction("[IxApi] Remove ReportSchedule Failure",props()),removeSuccess54=createAction("[IxApi] Remove ReportSchedule Success",props()),reset88=createAction("[App] Reset ReportSchedule State"),update53=createAction("[App] Update ReportSchedule",props()),updateFailure52=createAction("[IxApi] Update ReportSchedule Failure",props()),updateSuccess53=createAction("[IxApi] Update ReportSchedule Success",props());var didAdd77=createAction("[ChangeNotification] WebaccessSessionRecording Was Added",props()),didRemove73=createAction("[ChangeNotification] WebaccessSessionRecording Was Removed",props()),didUpdate72=createAction("[ChangeNotification] WebaccessSessionRecording Was Updated",props()),ensureAll59=createAction("[App] Ensure All WebaccessSessionRecording"),loadAll65=createAction("[App] Load All WebaccessSessionRecording"),loadAllFailure63=createAction("[IxApi] Load All WebaccessSessionRecording Failure",props()),loadAllSuccess66=createAction("[IxApi] Load All WebaccessSessionRecording Success",props()),loadOne7=createAction("[App] Load One WebaccessSessionRecording",props()),loadOneSuccess7=createAction("[IxApi] Load One WebaccessSessionRecording Success",props()),reset89=createAction("[App] Reset WebaccessSessionRecording State");var addMany=createAction("[App] Add Many Translations",props()),addManyFailure=createAction("[IxApi] Add Many Translations Failure",props()),addManySuccess=createAction("[IxApi] Add Many Translations Success",props()),didAdd78=createAction("[ChangeNotification] Translation Was Added",props()),didAddList10=createAction("[ChangeNotification] Translation List Was Added",props()),didUpdate73=createAction("[ChangeNotification] Translation Was Updated",props()),didUpdateList10=createAction("[ChangeNotification] Translation List Was Updated",props()),didRemove74=createAction("[ChangeNotification] Translation Was Removed",props()),didRemoveList11=createAction("[ChangeNotification] Translation List Was Removed",props()),ensureAll60=createAction("[App] Ensure All Translations"),loadAll66=createAction("[App] Load All Translations"),loadAllFailure64=createAction("[IxApi] Load All Translations Failure",props()),loadAllSuccess67=createAction("[IxApi] Load All Translations Success",props()),updateMany7=createAction("[App] Update Many Translations",props()),updateManyFailure7=createAction("[IxApi] Update Many Translations Failure",props()),updateManySuccess7=createAction("[IxApi] Update Many Translations Success",props()),upsertMany2=createAction("[App] Upsert Many Translations",props()),upsertManyFailure2=createAction("[IxApi] Upsert Many Translations Failure",props()),upsertManySuccess2=createAction("[IxApi] Upsert Many Translations Success",props()),remove56=createAction("[App] Remove Translation",props()),removeFailure53=createAction("[IxApi] Remove Translation Failure",props()),removeSuccess55=createAction("[IxApi] Remove Translation Success",props()),reset90=createAction("[App] Reset Translation State");var shouldResetActions2=[...shouldResetActions,setManually,setAutomatically,unset],AuthCompanyStateEffects=(()=>{class AuthCompanyStateEffects2{constructor(){this.actions$=inject(Actions),this.resetAgentState$=this.createResetEffect(reset4),this.resetAgentAuditLogState$=this.createResetEffect(reset40),this.resetAgentDataAlarmState$=this.createResetEffect(reset41),this.resetAgentDataConditionState$=this.createResetEffect(reset42),this.resetAgentDataSourceState$=this.createResetEffect(reset7),this.resetAgentDataTagState$=this.createResetEffect(reset44),this.resetAgentDataVariableState$=this.createResetEffect(reset45),this.resetAgentDeviceState$=this.createResetEffect(reset8),this.resetAgentDeviceDataProtocolState$=this.createResetEffect(reset43),this.resetAgentEdgeAppInstanceState$=this.createResetEffect(reset46),this.resetAgentEdgeAppInstanceServiceState$=this.createResetEffect(reset47),this.resetAgentMembershipState$=this.createResetEffect(reset9),this.resetAgentRegistrationProfileState$=this.createResetEffect(reset48),this.resetAgentRegistrationProfileMembershipState$=this.createResetEffect(reset49),this.resetAgentRouterAdditionalSubnetState$=this.createResetEffect(reset5),this.resetAgentRouterLanWanAccessRuleState$=this.createResetEffect(reset50),this.resetAgentRouterNtpServerState$=this.createResetEffect(reset51),this.resetAgentRouterOneToOneNatRuleState$=this.createResetEffect(reset52),this.resetAgentRouterPortForwardState$=this.createResetEffect(reset6),this.resetAgentRouterVpnAccessRuleState$=this.createResetEffect(reset10),this.resetAgentServerState$=this.createResetEffect(reset11),this.resetAgentTemplateState$=this.createResetEffect(reset15),this.resetAgentTemplateVersionState$=this.createResetEffect(reset16),this.resetAgentTypeState$=this.createResetEffect(reset53),this.resetAssetAiAssistantPromptState$=this.createResetEffect(reset54),this.resetAssetAppConfigState$=this.createResetEffect(reset55),this.resetAssetAppConfigResourceState$=this.createResetEffect(reset56),this.resetAssetLibraryVersionState$=this.createResetEffect(reset57),this.resetAssetMembershipState$=this.createResetEffect(reset58),this.resetAssetState$=this.createResetEffect(reset12),this.resetAssetTypeState$=this.createResetEffect(reset59),this.resetAudienceState$=this.createResetEffect(reset60),this.resetAuditLogState$=this.createResetEffect(reset61),this.resetBackendComponentTemplateState$=this.createResetEffect(reset17),this.resetBackendComponentTemplateConfigState$=this.createResetEffect(reset32),this.resetBackendComponentTemplateShareState$=this.createResetEffect(reset62),this.resetBackendComponentTemplateVersionState$=this.createResetEffect(reset63),this.resetCompanyPrivacyStatementLanguageState$=this.createResetEffect(reset65),this.resetCompanyPrivacyStatementState$=this.createResetEffect(reset64),this.resetCompanyTermsOfUsePolicyLanguageState$=this.createResetEffect(reset65),this.resetCompanyTermsOfUsePolicyState$=this.createResetEffect(reset66),this.resetControlledDeviceState$=this.createResetEffect(reset13),this.resetControlledDeviceAuditLogState$=this.createResetEffect(reset67),this.resetControlledDeviceMembershipState$=this.createResetEffect(reset68),this.resetCustomPropertyState$=this.createResetEffect(reset69),this.resetDeviceDeviceState$=this.createResetEffect(reset70),this.resetEdgeAppState$=this.createResetEffect(reset71),this.resetEdgeAppFileState$=this.createResetEffect(reset72),this.resetEdgeAppVersionState$=this.createResetEffect(reset73),this.resetFileState$=this.createResetEffect(reset74),this.resetGroupState$=this.createResetEffect(reset20),this.resetGroupTypeState$=this.createResetEffect(reset21),this.resetInviteState$=this.createResetEffect(reset27),this.resetLabelState$=this.createResetEffect(reset25),this.resetLicenceBundleState$=this.createResetEffect(reset76),this.resetLicenceState$=this.createResetEffect(reset75),this.resetLicenceTypeState$=this.createResetEffect(reset77),this.resetMenuItemState$=this.createResetEffect(reset22),this.resetMqttBrokerState$=this.createResetEffect(reset78),this.resetMqttBrokerClientState$=this.createResetEffect(reset79),this.resetMyCompany$=this.createResetEffect(resetMe),this.resetMyUserAccessRequestState$=this.createResetEffect(reset80),this.resetOciRegistryState$=this.createResetEffect(reset81),this.resetPageState$=this.createResetEffect(reset23),this.resetPageComponentState$=this.createResetEffect(reset2),this.resetPageComponentTemplateState$=this.createResetEffect(reset),this.resetPageComponentTemplateManifestState$=this.createResetEffect(reset3),this.resetPageComponentTemplateShareState$=this.createResetEffect(reset82),this.resetPageComponentTemplateVersionState$=this.createResetEffect(reset83),this.resetPageLinkState$=this.createResetEffect(reset14),this.resetPageLinkGroupState$=this.createResetEffect(reset84),this.resetPagePageState$=this.createResetEffect(reset29),this.resetPageVersionState$=this.createResetEffect(reset24),this.resetPermissionState$=this.createResetEffect(reset85),this.resetPipelineFunctionState$=this.createResetEffect(reset86),this.resetPlatformServerState$=this.createResetEffect(reset87),this.resetReportScheduleState$=this.createResetEffect(reset88),this.resetRoleState$=this.createResetEffect(reset19),this.resetSessionRecordingState$=this.createResetEffect(reset89),this.resetTranslations$=this.createResetEffect(reset90),this.resetUserList$=this.createResetEffect(resetList),this.resetUserMembershipState$=this.createResetEffect(reset28)}createResetEffect(resetAction){return createEffect(()=>this.actions$.pipe(ofType(...shouldResetActions2),map(()=>resetAction())))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AuthCompanyStateEffects2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AuthCompanyStateEffects2,factory:AuthCompanyStateEffects2.\u0275fac,providedIn:"root"})}}return AuthCompanyStateEffects2})();var AUTH_COMPANY_GUARD_RESOLVERS=new InjectionToken("authCompanySystem.guard-resolvers");var AuthCompanyHttpRequestInterceptor=(()=>{class AuthCompanyHttpRequestInterceptor2{constructor(){this.httpCancelService=inject(AuthCompanyHttpCancelService),this.companyId=null,inject(AuthCompanyService).companyId.subscribe(companyId=>this.companyId=companyId)}intercept(request,delegate){return request.context.get(REQUIRES_COMPANY)===!0&&this.companyId?delegate.handle(request.clone({setHeaders:{[IxApiHeaderKeys.Company]:this.companyId}})).pipe(takeUntil(this.httpCancelService.onCancelPendingRequests())):request.headers.has(IxApiHeaderKeys.Company)?delegate.handle(request).pipe(takeUntil(this.httpCancelService.onCancelPendingRequests())):delegate.handle(request)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AuthCompanyHttpRequestInterceptor2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AuthCompanyHttpRequestInterceptor2,factory:AuthCompanyHttpRequestInterceptor2.\u0275fac})}}return AuthCompanyHttpRequestInterceptor2})();var AuthAccessTokenHttpRequestInterceptor=(()=>{class AuthAccessTokenHttpRequestInterceptor2{constructor(){this.accessToken=null,inject(AuthService).token.subscribe(token=>this.accessToken=token?mapTokenToSecretId(token):null)}intercept(request,delegate){return request.context.get(REQUIRES_ACCESS_TOKEN)===!0&&this.accessToken?delegate.handle(request.clone({setHeaders:{[IxApiHeaderKeys.AccessToken]:this.accessToken}})):delegate.handle(request)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AuthAccessTokenHttpRequestInterceptor2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AuthAccessTokenHttpRequestInterceptor2,factory:AuthAccessTokenHttpRequestInterceptor2.\u0275fac})}}return AuthAccessTokenHttpRequestInterceptor2})();var AuthAuthTokenHttpRequestInterceptor=(()=>{class AuthAuthTokenHttpRequestInterceptor2{constructor(){this.authTokenService=inject(AuthTokenService),this.authService=inject(AuthService),this.authToken=null,this.authToken$=null,this.authTokenExpiryTimeout=null,this.authService.token.subscribe(token=>{token!==this.accessToken&&(this.clearCachedAuthToken(),this.accessToken=token)})}intercept(request,delegate){return request.context.get(REQUIRES_AUTH_TOKEN)==="ai-assistant"?this.authToken?delegate.handle(this.setAuthorizationHeader(request,this.authToken)):this.authToken$?this.authToken$.pipe(mergeMap(authToken=>delegate.handle(authToken?this.setAuthorizationHeader(request,authToken):request))):(this.authToken$=this.authTokenService.getForAiAssistant({expiresIn:3600}).pipe(map(response=>response.data.secretId),shareReplay(1),take(1),tap(token=>{this.authToken=token,token&&(this.authTokenExpiryTimeout=setTimeout(()=>{this.authToken=null,this.authTokenExpiryTimeout=null},33e5))}),finalize(()=>this.authToken$=null),catchError(()=>of(null))),this.authToken$.pipe(mergeMap(authToken=>delegate.handle(authToken?this.setAuthorizationHeader(request,authToken):request)))):delegate.handle(request)}clearCachedAuthToken(){this.authToken=null,this.authToken$=null,this.authTokenExpiryTimeout!==null&&(clearTimeout(this.authTokenExpiryTimeout),this.authTokenExpiryTimeout=null)}setAuthorizationHeader(req,token){return req.clone({setHeaders:{Authorization:`Bearer ${token}`}})}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AuthAuthTokenHttpRequestInterceptor2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AuthAuthTokenHttpRequestInterceptor2,factory:AuthAuthTokenHttpRequestInterceptor2.\u0275fac})}}return AuthAuthTokenHttpRequestInterceptor2})();var AuthModule=(()=>{class AuthModule2{static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AuthModule2)}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:AuthModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({providers:[{provide:APP_INITIALIZER,useFactory:function(api,authService){return function(){return authService.token.subscribe(token=>{api.headers=token?api.headers.set("Authorization",getBearerAuthHeader(token)):api.headers.delete("Authorization")}),Promise.resolve(!0)}},multi:!0,deps:[IxApiService,AuthService]},{provide:AUTH_COMPANY_GUARD_RESOLVERS,useValue:()=>of(!0),multi:!0},{provide:AUTH_LOGOUT_INITIALIZER,useFactory:()=>()=>of(!0),multi:!0},{provide:HTTP_INTERCEPTORS,useClass:AuthAccessTokenHttpRequestInterceptor,multi:!0},{provide:HTTP_INTERCEPTORS,useClass:AuthAuthTokenHttpRequestInterceptor,multi:!0},{provide:HTTP_INTERCEPTORS,useClass:AuthCompanyHttpRequestInterceptor,multi:!0},provideHttpClient(withFetch(),withInterceptorsFromDi()),LayerService,{provide:LAYER_REF_CACHE,useValue:[]}],imports:[RouterModule,MatSnackBarModule,IxApiModule,StorageModule,EffectsModule.forFeature([AuthEffects,AuthSnackBarEffects,AuthStateEffects,AuthCompanyEffects,AuthCompanyStateEffects])]})}}return AuthModule2})();var communicationLostSnackbarRetryCommunication=createAction("[VPN Communication Lost Snackbar] Retry Communication"),pageConnect=createAction("[App] Connect VPN",props()),pageConnectFailure=createAction("[App] Connect VPN Failure"),pageDisconnect=createAction("[App] Disconnect VPN"),pageDisconnectFailure=createAction("[App] Disconnect VPN Failure"),installerDialogConnect=createAction("[VPN Installer Dialog] Connect VPN",props()),installerDialogRetryCommunication=createAction("[VPN Installer Dialog] Retry Communication"),consentDialogAcceptAndConnect=createAction("[VPN Consent Dialog] Accept And Connect",props()),localNetworkAccessDialogContinueAndConnect=createAction("[VPN Local Network Access Dialog] Continue And Connect",props()),localNetworkAccessDialogGrantPermission=createAction("[VPN Local Network Access Dialog] Grant Permission"),loggedOutDisconnect=createAction("[Auth] Disconnect VPN"),lostAndFoundUpdate=createAction("[VPN Client] Communication Restored Update"),infoDialogDisconnect=createAction("[VPN Info Dialog] Disconnect VPN"),infoDialogResetConfigOpenVpn=createAction("[VPN Info Dialog] Reset Config OpenVPN",props()),showInfoDialog=createAction("[VPN Status] Show Info Dialog",props()),showStatusBar=createAction("[VPN Client] Show VPN Status Bar"),hideStatusBar=createAction("[VPN Client] Hide VPN Status Bar");var TRANSLATION_KEY_PATTERN=/^__TRANSLATION__\.[A-Z0-9_.!?]+$/;function isTranslationKey(value){return TRANSLATION_KEY_PATTERN.test(value)}function trimNamespace(value){return value.replace(/^__TRANSLATION__\./,"")}var TRANSLATION_KEY_PATTERN2=/^__TRANSLATION__\.[A-Z0-9_.!?]+$/;function parseComponentInputs(component){let inputs={};if(component.inputs)try{inputs=JSON.parse(component.inputs)}catch(error3){inputs={},console.error(error3)}return inputs}function replaceTranslationKeysFactory(translate){return function(inputs,keys){return _replace(inputs,keys)};function _replace(inputs,keys={},path=""){return isObject_default(inputs)?Object.keys(inputs).reduce((replaced,key)=>{let value=inputs[key],_path=`${path?path+".":""}${key}`;return TRANSLATION_KEY_PATTERN2.test(value)?(keys&&(keys[_path]=value),value=trimNamespace(translate.instant(value))):isObject_default(value)&&(isArray_default(value)?value=value.map((v,i)=>_replace(v,keys,`${_path}[${i}]`)):value=_replace(value,keys,_path)),__spreadProps(__spreadValues({},replaced),{[key]:value})},{}):inputs}}function hasVpnAccess(agent,myUser,agentAudiences,canManageAgents){return!agent||!myUser||!agentAudiences?!1:myUser.support||canManageAgents||agent.vpnAccessRules?.length?!0:agent.vpnAudience?agentAudiences.map(audience=>audience.publicId).includes(agent.vpnAudience.publicId):!1}var FEATURE_NAME16="assetMembership";var adapter14=createResourceAdapter(),initialState15=adapter14.getInitialState(),reducer12=createReducer(initialState15,on(reset58,()=>__spreadValues({},initialState15)),on(didAdd55,(state,{data})=>adapter14.upsertOne(data,state)),on(addListSuccess12,(state,{data})=>adapter14.upsertMany(data,state)),on(loadAll41,state=>__spreadProps(__spreadValues({},state),{allLoading:!0})),on(loadAllFailure41,state=>__spreadProps(__spreadValues({},state),{allLoading:!1})),on(loadAllSuccess42,(state,{data})=>adapter14.setAll(data,__spreadProps(__spreadValues({},state),{allLoading:!1,allLoaded:!0}))),on(didRemove52,(state,{publicId})=>adapter14.removeOne(publicId,state)),on(removeListSuccess13,(state,{publicIdList})=>adapter14.removeMany(publicIdList,state)),on(updateSuccess39,didUpdate51,(state,{data,publicId})=>adapter14.updateOne({id:publicId,changes:data},state)),on(didAdd12,loadOneSuccess2,(state,{data})=>data?adapter14.upsertMany(mapAssetToAssetMembershipList(data),state):state),on(didAddList4,(state,{data})=>data?adapter14.upsertMany(flatMap_default(data.map(mapAssetToAssetMembershipList)),state):state),on(loadAllSuccess6,loadAllEnabledSuccess,loadAllForRootSuccess,loadAllRootsSuccess,(state,{data})=>adapter14.upsertMany(flatMap_default(data.map(mapAssetToAssetMembershipList)),state)),on(removeSuccess9,didRemove12,(state,{publicId})=>{let publicIdList=Object.keys(state.entities).reduce((ids,id)=>state.entities[id]?.asset?.publicId===publicId?[...ids,id]:ids,[]);return publicIdList.length?adapter14.removeMany(publicIdList,state):state}),on(didRemoveList5,(state,{publicIdList})=>{let membershipPublicIds=Object.keys(state.entities).reduce((ids,id)=>{let assetPublicId=state.entities[id]?.asset?.publicId;return assetPublicId&&publicIdList.includes(assetPublicId)?[...ids,id]:ids},[]);return membershipPublicIds.length?adapter14.removeMany(membershipPublicIds,state):state})),feature12=createFeature({name:FEATURE_NAME16,reducer:reducer12});function mapAssetToAssetMembershipList(asset){return mapResourceToSubResourceList(asset,"memberships","asset","Asset")}var selectAll15=createSelector(feature12.selectAssetMembershipState,adapter14.getSelectors().selectAll),{selectAllLoading:selectAllLoading12,selectAllLoaded:selectAllLoaded12,selectEntities:selectEntities15}=feature12;var GroupService=(()=>{class GroupService2{constructor(){this.api=inject(IxApiService),this.http=inject(HttpClient)}add(body){let url=this.api.url("GroupList"),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context3,headers};return this.http.post(url,body,options)}addMachineGroups(body){let url=this.api.url("MachineGroupList"),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context3,headers};return this.http.post(url,body,options)}getAll(){return whileMoreAfter(moreAfter=>this.getList(moreAfter))}getList(pageAfter,pageSize){let url=this.api.url("GroupList"),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,params=new HttpParams({fromObject:__spreadValues({fields:"*,parent(*),parent.type(*),agent,asset,type(*)"},getPageParams(pageAfter,pageSize))}),options={context:context3,headers,params};return this.http.get(url,options)}removeByPublicId(publicId){let url=this.api.url("Group",{publicId}),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context3,headers};return this.http.delete(url,options)}updateByPublicId(publicId,body){let url=this.api.url("Group",{publicId}),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context3,headers};return this.http.patch(url,body,options)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||GroupService2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:GroupService2,factory:GroupService2.\u0275fac,providedIn:"root"})}}return GroupService2})();var GroupEffects=(()=>{class GroupEffects2{constructor(){this.actions$=inject(Actions),this.store=inject(Store),this.service=inject(GroupService),this.snackBar=inject(MatSnackBar),this.translate=inject(TranslateService),this.add$=createEffect(()=>this.actions$.pipe(ofType(add16),mergeMap(({data})=>this.service.add(data).pipe(map(response=>addSuccess16({data:__spreadValues(__spreadValues({},response.data),data)})),catchError(errorResponse=>of(addFailure16({errors:errorResponse.error?.data??[]}))))))),this.addMachineGroups$=createEffect(()=>this.actions$.pipe(ofType(addMachineGroups),mergeMap(({data})=>this.service.addMachineGroups(data).pipe(map(response=>addMachineGroupsSuccess({data:response.data.map((_data,i)=>__spreadValues(__spreadValues({},_data),data[i]))})),catchError(errorResponse=>of(addMachineGroupsFailure({errors:errorResponse.error?.data??[]}))))))),this.addFailure$=createEffect(()=>this.actions$.pipe(ofType(addFailure16),tap(error3=>{let errorMessage=error3.errors.map(e=>e.message).join(", "),message=this.translate.instant("ADDING_FAILED");this.snackBar.open(errorMessage?`${message}: ${errorMessage}`:message,void 0,{duration:3e3})})),{dispatch:!1}),this.ensureAll$=createEffect(()=>this.actions$.pipe(ofType(ensureAll12),mergeMap(()=>combineLatest([this.store.select(selectAllLoading7),this.store.select(selectAllLoaded7)]).pipe(take(1),mergeMap(([loading,loaded])=>!loading&&!loaded?of(loadAll11()):EMPTY))))),this.loadAll$=createEffect(()=>this.actions$.pipe(ofType(loadAll11),switchMap(()=>this.service.getAll().pipe(map(({data})=>loadAllSuccess12({data})),catchError(errorResponse=>of(loadAllFailure11({errors:errorResponse.error?.data??[]}))))))),this.remove$=createEffect(()=>this.actions$.pipe(ofType(remove17),mergeMap(({publicId})=>this.service.removeByPublicId(publicId).pipe(map(()=>removeSuccess17({publicId})),catchError(errorResponse=>of(removeFailure17({errors:errorResponse.error?.data??[]}))))))),this.removeFailure$=createEffect(()=>this.actions$.pipe(ofType(removeFailure17),tap(({errors:errors2})=>{errors2[0].message&&this.snackBar.open(errors2[0].message,void 0,{duration:3e3})})),{dispatch:!1}),this.update$=createEffect(()=>this.actions$.pipe(ofType(update15),mergeMap(({data,publicId})=>this.service.updateByPublicId(publicId,data).pipe(map(()=>updateSuccess15({data:__spreadProps(__spreadValues({},data),{publicId}),publicId})),catchError(errorResponse=>of(updateFailure15({errors:errorResponse.error?.data??[]}))))))),this.didUpdateParent$=createEffect(()=>this.actions$.pipe(ofType(didUpdate19),withLatestFrom(this.store.select(selectEntities9)),switchMap(([{data},groupEntities])=>data.parent&&groupEntities[data.parent.publicId]?of(loadAll11()):EMPTY)))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||GroupEffects2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:GroupEffects2,factory:GroupEffects2.\u0275fac,providedIn:"root"})}}return GroupEffects2})();var GroupModule=(()=>{class GroupModule2{static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||GroupModule2)}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:GroupModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({providers:[{provide:REDUCER_TOKEN,deps:[TranslateService],useFactory:reducerFactory},provideHttpClient(withFetch(),withInterceptorsFromDi())],imports:[TranslateModule,MatSnackBarModule,IxApiModule,StoreModule.forFeature(FEATURE_NAME8,REDUCER_TOKEN),EffectsModule.forFeature([GroupEffects])]})}}return GroupModule2})();var selectUserGroups=createSelector(selectMyUserId,selectAll11,selectAll8,(myUserId,userMemberships,groups)=>{let membershipGroups=(myUserId?userMemberships.filter(membership=>membership.user?.publicId===myUserId):[]).map(membership=>membership.group);return groups.filter(group=>membershipGroups.map(ug=>ug?.publicId).includes(group.publicId))}),selectMyUserCompanyWideMemberships=createSelector(selectUserGroups,selectMyUserMemberships,(userGroups,userMemberShips)=>{let groupIds=userGroups.filter(group=>!group.agent&&!group.asset&&group.isCompanyGroup).map(g=>g.publicId);return userMemberShips.filter(um=>um.group&&groupIds.includes(um.group?.publicId))}),selectMyUserGroupSpecificMemberships=publicId=>createSelector(selectUserGroups,selectFeatureState2,selectMyUserMemberships,selectAll3,selectAll15,(userGroups,groupState,userMemberShips,agentMemberships,assetMemberships)=>{let agentGroups=[...agentMemberships.filter(m=>m.agent?.publicId===publicId),...assetMemberships.filter(m=>m.asset?.publicId===publicId)].map(m=>m.group?.publicId).filter(g=>!!g),groupIds=userGroups.filter(group=>!group.isCompanyGroup).map(g=>g?.publicId);return userMemberShips.filter(um=>um.group?.publicId&&groupIds.includes(um.group.publicId)?getGroupTree(um.group,groupState).map(group=>group.publicId).some(groupId=>agentGroups.includes(groupId)):!1)}),membershipToAudienceProjector=(membership,roles)=>{let membershipRoleIds=membership.map(m=>m.role).filter(r=>!!r).map(role=>role?.publicId),audiences=roles.filter(role=>membershipRoleIds.includes(role.publicId)).map(role=>role.audiences);return flatten_default(audiences).filter(audience=>!!audience)},selectMyUserCompanyWideAudiences=createSelector(selectMyUserCompanyWideMemberships,selectAll7,membershipToAudienceProjector),selectMyUserGroupSpecificAudiences=publicId=>createSelector(selectMyUserGroupSpecificMemberships(publicId),selectAll7,membershipToAudienceProjector);function getUserAgentAudiences(store,agentOrAssetId){let myUserCompanyWideAudiences=store.select(selectMyUserCompanyWideAudiences),myUserGroupSpecificAudiences=store.select(selectMyUserGroupSpecificAudiences(agentOrAssetId));return combineLatest([myUserCompanyWideAudiences,myUserGroupSpecificAudiences]).pipe(map(([companyWide,groupSpecific])=>[...companyWide,...groupSpecific]))}function concatLatestFrom(observablesFactory){return concatMap(value=>{let observables=observablesFactory(value),observablesAsArray=Array.isArray(observables)?observables:[observables];return of(value).pipe(withLatestFrom(...observablesAsArray))})}var start=createAction("[ChangeNotifications] Start"),startFailure=createAction("[ChangeNotifications] Start Failure"),startSuccess=createAction("[ChangeNotifications] Start Success",props()),stop=createAction("[ChangeNotifications] Stop"),generateAuthToken=createAction("[ChangeNotifications] Generate AuthToken"),generateAuthTokenSuccess=createAction("[ChangeNotifications] Generate AuthToken Success",props()),setAuthorization=createAction("[ChangeNotifications] Set Authorization",props()),renewAuthorization=createAction("[ChangeNotifications] Renew Authorization"),unsetAuthorization=createAction("[ChangeNotifications] Unset Authorization"),setCompany=createAction("[ChangeNotifications] Set Company",props()),unsetCompany=createAction("[ChangeNotifications] Unset Company"),connectionLost=createAction("[ChangeNotifications] Connection Lost"),shouldReloadAppState=createAction("[ChangeNotifications] Should Reload App State"),reloadAppState=createAction("[ChangeNotifications] Reload App State");var initialState16={active:!1,authToken:null,authorizedOn:null,company:null},reducer13=createReducer(initialState16,on(setAuthorization,(state,{token})=>__spreadProps(__spreadValues({},state),{authToken:token,authorizedOn:new Date().getTime()})),on(unsetAuthorization,state=>__spreadProps(__spreadValues({},state),{authToken:null,authorizedOn:null,company:null})),on(setCompany,(state,{companyId})=>__spreadProps(__spreadValues({},state),{company:companyId})),on(unsetCompany,state=>__spreadProps(__spreadValues({},state),{company:null})),on(startSuccess,state=>__spreadProps(__spreadValues({},state),{active:!0})),on(stop,()=>__spreadValues({},initialState16))),feature13=createFeature({name:FEATURE_NAME15,reducer:reducer13});var selectIsActive=feature13.selectActive,{selectAuthorizedOn,selectAuthToken,selectCompany}=feature13;var AuthUserGuard=(()=>{class AuthUserGuard2{constructor(store,authGuard){this.store=store,this.authGuard=authGuard}canActivate(){return this.authGuard.canActivate().pipe(switchMap(()=>this.store.select(selectMyUser)),mergeMap(user=>this.hasRequiredUserFields(user)?of(!0):(this.store.dispatch(loadMe3()),EMPTY)),take(1))}hasRequiredUserFields(user){return user?hasFields(user,["publicId"]):!1}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AuthUserGuard2)(\u0275\u0275inject(Store),\u0275\u0275inject(AuthGuard))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AuthUserGuard2,factory:AuthUserGuard2.\u0275fac,providedIn:"root"})}}return AuthUserGuard2})();var APP_NAME=new InjectionToken("AppName",{providedIn:"root",factory:()=>environment.appName});var FEATURE_NAME17="agentAccessRequest";var AgentAccessRequestService=(()=>{class AgentAccessRequestService2{constructor(){this.api=inject(IxApiService),this.http=inject(HttpClient)}add(agentId,body){let url=this.api.url("AgentAccessRequestList",{agentId}),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context3,headers};return this.http.post(url,body,options)}approveByToken(token){let url=this.api.url("AgentAccessRequestApprove"),options={headers:this.api.headers.set("Authorization",`AccessRequest ${token}`)};return this.http.post(url,null,options)}getAll(agentId,fields,filters){return whileMoreAfter(moreAfter=>this.getList(agentId,fields,filters,moreAfter))}getInfoByToken(token){let url=this.api.url("AgentAccessRequestInfo"),options={headers:this.api.headers.set("Authorization",`AccessRequest ${token}`)};return this.http.get(url,options)}getList(agentId,fields,filters,pageAfter,pageSize){let url=this.api.url("AgentAccessRequestList",{agentId}),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,params=new HttpParams({fromObject:__spreadValues(__spreadValues({fields:fields.join(",")},filters?{filters}:{}),getPageParams(pageAfter,pageSize))}),options={context:context3,headers,params};return this.http.get(url,options)}rejectByToken(token){let url=this.api.url("AgentAccessRequestReject"),options={headers:this.api.headers.set("Authorization",`AccessRequest ${token}`)};return this.http.post(url,null,options)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AgentAccessRequestService2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AgentAccessRequestService2,factory:AgentAccessRequestService2.\u0275fac,providedIn:"root"})}}return AgentAccessRequestService2})();var AgentAccessRequestEffects=(()=>{class AgentAccessRequestEffects2{constructor(){this.actions$=inject(Actions),this.service=inject(AgentAccessRequestService),this.snackbar=inject(MatSnackBar),this.store=inject(Store),this.add$=createEffect(()=>this.actions$.pipe(ofType(add2),mergeMap(({agentId,data})=>this.service.add(agentId,data).pipe(map(({data:data2})=>addSuccess2({data:data2})),catchError(errorResponse=>of(addFailure2({errors:errorResponse.error?.data??[]}))))))),this.addFailure$=createEffect(()=>this.actions$.pipe(ofType(addFailure2),tap(error3=>{this.snackbar.open(error3.errors.map(e=>e.message).join(", "),void 0,{duration:4e3})})),{dispatch:!1})}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AgentAccessRequestEffects2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AgentAccessRequestEffects2,factory:AgentAccessRequestEffects2.\u0275fac,providedIn:"root"})}}return AgentAccessRequestEffects2})();function mapAgentToAgentAccessRequestList(agent){return mapResourceToSubResourceList(agent,"scheduledAccessRequests","agent","Agent")}var adapter15=createResourceAdapter(),initialState17=adapter15.getInitialState(),reducer14=createReducer(initialState17,on(didAdd2,addSuccess2,(state,{data})=>data?adapter15.upsertOne(data,state):state),on(didUpdate2,(state,{data,publicId})=>adapter15.updateOne({id:publicId,changes:data},state)),on(didRemove2,(state,{publicId})=>adapter15.removeOne(publicId,state)),on(didRemoveList2,(state,{publicIdList})=>adapter15.removeMany(publicIdList,state)),on(loadOneSuccess,(state,{data})=>data?.scheduledAccessRequests?adapter15.upsertMany(mapAgentToAgentAccessRequestList(data),state):state),on(loadAllSuccess2,loadAllActiveSuccess,(state,{data})=>data[0]?.scheduledAccessRequests?adapter15.upsertMany(flatMap_default(data.map(mapAgentToAgentAccessRequestList)),state):state),on(removeSuccess2,didRemove3,(state,{publicId})=>{let publicIdList=Object.keys(state.entities).reduce((ids,id)=>state.entities[id]?.agent?.publicId===publicId?[...ids,id]:ids,[]);return publicIdList.length?adapter15.removeMany(publicIdList,state):state})),feature14=createFeature({name:FEATURE_NAME17,reducer:reducer14});var AgentAccessRequestModule=(()=>{class AgentAccessRequestModule2{static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AgentAccessRequestModule2)}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:AgentAccessRequestModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({providers:[provideHttpClient(withFetch(),withInterceptorsFromDi())],imports:[IxApiModule,StoreModule.forFeature(feature14),EffectsModule.forFeature([AgentAccessRequestEffects])]})}}return AgentAccessRequestModule2})();var selectAll16=createSelector(feature14.selectAgentAccessRequestState,adapter15.getSelectors().selectAll);var{selectEntities:selectEntities16}=feature14;var FEATURE_NAME18="agentServer";var FEATURE_NAME19="agentDevice";var AgentDeviceService=(()=>{class AgentDeviceService2{constructor(){this.api=inject(IxApiService),this.http=inject(HttpClient)}add(agentId,body){let url=this.api.url("AgentDeviceList",{agentId}),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context3,headers};return this.http.post(url,body,options)}addList(agentId,body){let url=this.api.url("AgentDeviceList",{agentId}),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context3,headers};return this.http.post(url,body,options)}getAll(agentId,fields){return whileMoreAfter(moreAfter=>this.getList(agentId,fields,moreAfter))}getList(agentId,fields,pageAfter,pageSize){let url=this.api.url("AgentDeviceList",{agentId}),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,params=new HttpParams({fromObject:__spreadValues({fields:fields.join(",")},getPageParams(pageAfter,pageSize))}),options={context:context3,headers,params};return this.http.get(url,options)}getOrAddByAddress(agentId,targetAddress){return this.getAll(agentId,["customAddress","ipAddress","publicId"]).pipe(map(response=>response.data),map(devices=>devices.find(device=>targetAddress.type==="ipAddress"?device.ipAddress===targetAddress.value&&device.customAddress===null:targetAddress.type==="customAddress"?device.customAddress===targetAddress.value&&device.ipAddress===null:!1)),mergeMap(data=>{if(data)return of({data,status:"success",type:"AgentDevice"});{let address=targetAddress.type==="ipAddress"?{ipAddress:targetAddress.value}:{customAddress:targetAddress.value};return this.add(agentId,address).pipe(map(response=>({data:__spreadValues(__spreadValues({},response.data),address),status:"success",type:"AgentDevice"})))}}))}removeByPublicId(agentId,publicId){let url=this.api.url("AgentDevice",{agentId,publicId}),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context3,headers};return this.http.delete(url,options)}removeByPublicIdList(agentId,publicIdList){let url=this.api.url("AgentDeviceList",{agentId}),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,body=publicIdList.map(publicId=>({publicId})),options={context:context3,headers,body};return this.http.delete(url,options)}updateByPublicId(agentId,publicId,body){let url=this.api.url("AgentDevice",{agentId,publicId}),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context3,headers};return this.http.patch(url,body,options)}updateList(agentId,body){let url=this.api.url("AgentDeviceList",{agentId}),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context3,headers};return this.http.patch(url,body,options)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AgentDeviceService2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AgentDeviceService2,factory:AgentDeviceService2.\u0275fac,providedIn:"root"})}}return AgentDeviceService2})();function DialogAddMultipleErrorComponent_For_11_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"pre"),\u0275\u0275text(1),\u0275\u0275elementEnd()),rf&2){let error_r1=ctx.$implicit;\u0275\u0275advance(),\u0275\u0275textInterpolate3("row ",error_r1.listIndex,": ",error_r1.propertyName,": ",error_r1.message)}}var DialogAddMultipleErrorComponent=(()=>{class DialogAddMultipleErrorComponent3{constructor(){this.data=inject(MAT_DIALOG_DATA)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||DialogAddMultipleErrorComponent3)}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:DialogAddMultipleErrorComponent3,selectors:[["ix-dialog-add-multiple-error"]],standalone:!1,decls:12,vars:3,consts:[[1,"ix-dialog__header"],["mat-dialog-title","","translate",""],["fxFlex",""],["mat-icon-button","","mat-dialog-close","",3,"matTooltip"],["mat-dialog-content",""]],template:function(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"div",0)(1,"mat-toolbar")(2,"h1",1),\u0275\u0275text(3,"ERROR_DETECTED"),\u0275\u0275elementEnd(),\u0275\u0275element(4,"span",2),\u0275\u0275elementStart(5,"button",3),\u0275\u0275pipe(6,"translate"),\u0275\u0275elementStart(7,"mat-icon"),\u0275\u0275text(8,"close"),\u0275\u0275elementEnd()()()(),\u0275\u0275elementStart(9,"div",4),\u0275\u0275repeaterCreate(10,DialogAddMultipleErrorComponent_For_11_Template,2,3,"pre",null,\u0275\u0275repeaterTrackByIdentity),\u0275\u0275elementEnd()),rf&2&&(\u0275\u0275advance(5),\u0275\u0275property("matTooltip",\u0275\u0275pipeBind1(6,1,"CLOSE")),\u0275\u0275advance(5),\u0275\u0275repeater(ctx.data==null?null:ctx.data.errors))},dependencies:[DefaultFlexDirective,TranslateDirective,MatIconButton,MatDialogClose,MatDialogTitle,MatDialogContent,MatIcon,MatToolbar,MatTooltip,TranslatePipe],styles:["[_nghost-%COMP%]{width:100dvw;height:100dvh;display:flex;flex-direction:column;flex:1}@media(min-width:960px){[_nghost-%COMP%]{height:auto;width:auto;min-width:908px!important;max-width:908px!important}}[_nghost-%COMP%] .ix-dialog__header[_ngcontent-%COMP%]{padding:calc(env(safe-area-inset-top,0) + 16px) 24px 16px}[_nghost-%COMP%] .ix-dialog__header[_ngcontent-%COMP%] .mat-toolbar[_ngcontent-%COMP%]{height:48px;padding-left:0;padding-right:0}[_nghost-%COMP%] .ix-dialog__header[_ngcontent-%COMP%] .mat-toolbar[_ngcontent-%COMP%] .mdc-dialog__title[_ngcontent-%COMP%]{--mat-dialog-headline-padding: 0;color:inherit}[_nghost-%COMP%] .ix-dialog__header[_ngcontent-%COMP%] .mat-toolbar[_ngcontent-%COMP%] .mdc-dialog__title[_ngcontent-%COMP%]:before{display:none}[_nghost-%COMP%] .ix-dialog__header[_ngcontent-%COMP%] + .ix-dialog__content[_ngcontent-%COMP%], [_nghost-%COMP%] .ix-dialog__header[_ngcontent-%COMP%] + .mdc-dialog__content[_ngcontent-%COMP%]{padding-top:0}[_nghost-%COMP%] .mdc-dialog__title[_ngcontent-%COMP%]:before{height:calc(env(safe-area-inset-top,0) + 40px)}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%]{padding:20px 24px}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%], [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%]{flex-direction:column;box-sizing:border-box;display:flex;place-content:stretch flex-start;align-items:stretch;flex:1 1 auto;max-height:none;overflow:auto;-webkit-overflow-scrolling:touch}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%] > .ix-list[_ngcontent-%COMP%], [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%] > .ix-list[_ngcontent-%COMP%]{margin-left:-24px;margin-right:-24px}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%] > .mat-mdc-subheader[_ngcontent-%COMP%], [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%] > .mat-mdc-subheader[_ngcontent-%COMP%]{margin-left:0;margin-right:0}@media(min-width:960px){[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%], [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%]{max-height:calc(90dvh - 140px)}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%]:has(+.mdc-dialog__actions), [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%]:has(+.mdc-dialog__actions){padding-bottom:0}}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%] .mat-stepper-vertical[_ngcontent-%COMP%], [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%] .mat-stepper-vertical[_ngcontent-%COMP%]{--mat-stepper-header-height: 56px;margin-left:-16px;margin-right:-16px}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%] .mat-stepper-vertical[_ngcontent-%COMP%] .mat-vertical-content-container.mat-vertical-content-container-active, [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%] .mat-stepper-vertical[_ngcontent-%COMP%] .mat-vertical-content-container.mat-vertical-content-container-active{padding-top:16px}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%] .mat-stepper-vertical[_ngcontent-%COMP%] mat-step-header:focus, [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%] .mat-stepper-vertical[_ngcontent-%COMP%] mat-step-header:focus{background-color:transparent}@media(max-width:959.9px){[_nghost-%COMP%] .mdc-dialog__actions[_ngcontent-%COMP%]{border-top:1px solid rgba(0,0,0,.12);padding-bottom:calc(16px + env(safe-area-inset-bottom,0))}}[_nghost-%COMP%] form[_ngcontent-%COMP%]{flex-direction:column;box-sizing:border-box;display:flex;flex:1 1 auto;height:inherit}[_nghost-%COMP%] form[_ngcontent-%COMP%] .mat-mdc-form-field[_ngcontent-%COMP%]{margin-bottom:1rem}[_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%]{height:inherit}"]})}}return DialogAddMultipleErrorComponent3})();var DialogAddMultipleErrorModule=(()=>{class DialogAddMultipleErrorModule2{static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||DialogAddMultipleErrorModule2)}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:DialogAddMultipleErrorModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({imports:[SharedModule]})}}return DialogAddMultipleErrorModule2})();function mapAgentToAgentDeviceList(agentLike){return mapResourceToSubResourceList(agentLike,"devices","agent","AgentLike")}var adapter16=createEntityAdapter({selectId:device=>device.publicId,sortComparer:sortByNameAndPublicIdComparer}),initialState18=adapter16.getInitialState(),reducer15=createReducer(initialState18,on(reset8,()=>__spreadValues({},initialState18)),on(addSuccess6,didAdd8,(state,{data})=>adapter16.upsertOne(data,state)),on(addListSuccess2,didAddList3,(state,{data})=>adapter16.upsertMany(data,state)),on(updateSuccess5,didUpdate7,(state,{data,publicId})=>adapter16.updateOne({id:publicId,changes:data},state)),on(updateListSuccess,didUpdateList3,(state,{data})=>adapter16.updateMany(data.map(device=>({id:device.publicId,changes:device})),state)),on(removeSuccess6,didRemove8,(state,{publicId})=>adapter16.removeOne(publicId,state)),on(removeListSuccess2,didRemoveList4,(state,{publicIdList})=>adapter16.removeMany(publicIdList,state)),on(loadOneSuccess,loadOneSuccess3,(state,{data})=>data.devices?adapter16.upsertMany(mapAgentToAgentDeviceList(data),state):state),on(loadAllSuccess2,loadAllActiveSuccess,loadAllSuccess8,(state,{data})=>data[0]?.devices?adapter16.upsertMany(uniqBy_default(flatMap_default(data.map(mapAgentToAgentDeviceList)),device=>device.publicId),state):state),on(didRemove3,removeSuccess2,didRemove15,removeSuccess12,(state,{publicId})=>{let publicIdList=Object.keys(state.entities).reduce((ids,id)=>state.entities[id]?.agent?.publicId===publicId?[...ids,id]:ids,[]);return publicIdList.length?adapter16.removeMany(publicIdList,state):state}),on(addSuccess5,updateSuccess4,(state,{device})=>adapter16.upsertOne(device,state)),on(addSuccess8,updateSuccess8,(state,{device})=>adapter16.upsertOne(device,state))),feature15=createFeature({name:FEATURE_NAME19,reducer:reducer15});function mapAgentToAgentServerList(agentLike){return mapResourceToSubResourceList(agentLike,"servers","agent","AgentLike")}var REDUCER_TOKEN4=new InjectionToken("agentServerReducer"),adapter17=createResourceAdapter({sortComparer:sortByNameAndPublicIdComparer,translationPaths:["name","serviceGroup"]}),initialState19=adapter17.getInitialState({nameTranslationKeys:{},serviceGroupTranslationKeys:{}});function reducerFactory4(translate){return adapter17.useTranslateService(translate),createReducer(initialState19,on(addSuccess8,didAdd11,(state,{data})=>data?adapter17.upsertOne(data,state):state),on(updateSuccess8,didUpdate10,updateWithoutDeviceSuccess,(state,{data,publicId})=>data?adapter17.updateOne({id:publicId,changes:data},state):state),on(shouldRemove2,removeSuccess8,didRemove11,(state,{publicId})=>adapter17.removeOne(publicId,state)),on(invalidateTranslations,state=>adapter17.retranslate(state)),on(reset11,()=>__spreadValues({},initialState19)),on(didAdd3,loadOneSuccess,loadOneSuccess3,(state,{data})=>data?.servers?adapter17.upsertMany(mapAgentToAgentServerList(data),state):state),on(loadAllSuccess2,loadAllActiveSuccess,loadAllSuccess8,(state,{data})=>data[0]?.servers?adapter17.upsertMany(flatMap_default(data.map(mapAgentToAgentServerList)),state):state),on(removeSuccess2,didRemove3,removeSuccess12,didRemove15,(state,{publicId})=>{let publicIdList=Object.keys(state.entities).reduce((ids,id)=>state.entities[id]?.agent?.publicId===publicId?[...ids,id]:ids,[]);return publicIdList.length?adapter17.removeMany(publicIdList,state):state}))}var selectFeatureState5=createFeatureSelector(FEATURE_NAME18),selectors5=adapter17.getSelectors(),selectAll17=createSelector(selectFeatureState5,selectors5.selectAll),selectEntities17=createSelector(selectFeatureState5,selectors5.selectEntities),selectEntity8=publicId=>createSelector(selectEntities17,entities=>entities?.[publicId]||null);var AgentServerService=(()=>{class AgentServerService2{constructor(){this.api=inject(IxApiService),this.http=inject(HttpClient)}add(agentId,body){let url=this.api.url("AgentServerList",{agentId}),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context3,headers};return this.http.post(url,body,options)}getAll(agentId,fields){return whileMoreAfter(moreAfter=>this.getList(agentId,fields,moreAfter))}getByPublicId(agentId,publicId,fields){let url=this.api.url("AgentServer",{agentId,publicId}),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,params=new HttpParams({fromObject:{fields:fields.join(",")}}),options={context:context3,headers,params};return this.http.get(url,options)}getList(agentId,fields,pageAfter,pageSize){let url=this.api.url("AgentServerList",{agentId}),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,params=new HttpParams({fromObject:__spreadValues({fields:fields.join(",")},getPageParams(pageAfter,pageSize))}),options={context:context3,headers,params};return this.http.get(url,options)}removeByPublicId(agentId,publicId){let url=this.api.url("AgentServer",{agentId,publicId}),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context3,headers};return this.http.delete(url,options)}updateByPublicId(agentId,publicId,body){let url=this.api.url("AgentServer",{agentId,publicId}),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context3,headers};return this.http.patch(url,body,options)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AgentServerService2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AgentServerService2,factory:AgentServerService2.\u0275fac,providedIn:"root"})}}return AgentServerService2})();var AgentServerEffects=(()=>{class AgentServerEffects2{constructor(){this.actions$=inject(Actions),this.store=inject(Store),this.snackBar=inject(MatSnackBar),this.translate=inject(TranslateService),this.service=inject(AgentServerService),this.agentDeviceService=inject(AgentDeviceService),this.add$=createEffect(()=>this.actions$.pipe(ofType(add8),mergeMap(({agentId,address,data})=>this.agentDeviceService.getOrAddByAddress(agentId,address).pipe(mergeMap(response=>{let device=__spreadValues(__spreadValues({},address.type==="ipAddress"?{ipAddress:address.value}:{customAddress:address.value}),response.data);return this.service.add(agentId,__spreadProps(__spreadValues({},data),{device:{publicId:device.publicId}})).pipe(map(_response=>[device,_response.data]))}),map(([device,server])=>addSuccess8({agentId,data:__spreadValues(__spreadProps(__spreadValues({},data),{agent:{publicId:agentId,reference:{name:"AgentLike"}},device:{publicId:device.publicId,reference:{name:"AgentDevice"}}}),server),device,publicId:server.publicId})),catchError(errorResponse=>of(addFailure8({errors:errorResponse.error?.data??[]}))))))),this.addFailure$=createEffect(()=>this.actions$.pipe(ofType(addFailure8),tap(({errors:errors2})=>{if(errors2.some(error3=>error3.message==="A LAN configuration is required")){let message=this.translate.instant("__MESSAGE__.LAN_CONFIGURATION_REQUIRED");this.snackBar.open(message,void 0,{duration:4e3})}})),{dispatch:!1}),this.remove$=createEffect(()=>this.actions$.pipe(ofType(remove8),concatLatestFrom(({publicId})=>this.store.select(selectEntity8(publicId))),mergeMap(([{agentId,publicId},server])=>this.service.removeByPublicId(agentId,publicId).pipe(map(()=>removeSuccess8(__spreadValues({agentId,publicId},server?.name?{name:server.name}:{}))),catchError(errorResponse=>of(removeFailure8({errors:errorResponse.error?.data??[]}))))))),this.update$=createEffect(()=>this.actions$.pipe(ofType(update8),mergeMap(({agentId,publicId,address,data})=>this.agentDeviceService.getOrAddByAddress(agentId,address).pipe(mergeMap(response=>{let device=__spreadValues(__spreadValues({},address.type==="ipAddress"?{ipAddress:address.value}:{customAddress:address.value}),response.data);return this.service.updateByPublicId(agentId,publicId,__spreadProps(__spreadValues({},data),{device:{publicId:device.publicId}})).pipe(map(()=>device))}),map(device=>updateSuccess8({data:__spreadProps(__spreadValues({},data),{agent:{publicId:agentId,reference:{name:"AgentLike"}},device:{publicId:device.publicId,reference:{name:"AgentDevice"}},publicId}),device,publicId})),catchError(errorResponse=>of(updateFailure8({errors:errorResponse.error?.data??[]}))))))),this.updateWithoutDevice$=createEffect(()=>this.actions$.pipe(ofType(updateWithoutDevice),mergeMap(({agentId,publicId,data})=>this.service.updateByPublicId(agentId,publicId,data).pipe(map(()=>updateWithoutDeviceSuccess({data:__spreadProps(__spreadValues({},data),{agent:{publicId:agentId,reference:{name:"AgentLike"}},publicId}),publicId})),catchError(errorResponse=>of(updateWithoutDeviceFailure({errors:errorResponse.error?.data??[]})))))))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AgentServerEffects2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AgentServerEffects2,factory:AgentServerEffects2.\u0275fac,providedIn:"root"})}}return AgentServerEffects2})();var AgentServerModule=(()=>{class AgentServerModule2{static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AgentServerModule2)}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:AgentServerModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({providers:[{provide:REDUCER_TOKEN4,useFactory:reducerFactory4,deps:[TranslateService]},provideHttpClient(withFetch(),withInterceptorsFromDi())],imports:[TranslateModule,IxApiModule,StoreModule.forFeature(FEATURE_NAME18,REDUCER_TOKEN4),EffectsModule.forFeature([AgentServerEffects])]})}}return AgentServerModule2})();var FEATURE_NAME20="asset",ASSET_FIELDS=buildFields(`
|
|
263
264
|
{
|
|
264
265
|
agent { publicId reference { name } }
|
|
265
266
|
appConfigs {
|
|
@@ -359,7 +360,7 @@ list should be an Array.`),e3.length===0)return new f(0);if(e3.length===1)return
|
|
|
359
360
|
`,"Instead, pass the .innerHTML of the element, or use a function that","returns a cloned version of the element instead.",`
|
|
360
361
|
|
|
361
362
|
`,`1) content: element.innerHTML
|
|
362
|
-
`,"2) content: () => element.cloneNode(true)"].join(" "));var instances=elements.reduce(function(acc,reference3){var instance=reference3&&createTippy(reference3,passedProps);return instance&&acc.push(instance),acc},[]);return isElement2(targets)?instances[0]:instances}tippy.defaultProps=defaultProps;tippy.setDefaultProps=setDefaultProps;tippy.currentInput=currentInput;var applyStylesModifier=Object.assign({},applyStyles_default,{effect:function(_ref){var state=_ref.state,initialStyles={popper:{position:state.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(state.elements.popper.style,initialStyles.popper),state.styles=initialStyles,state.elements.arrow&&Object.assign(state.elements.arrow.style,initialStyles.arrow)}});tippy.setDefaultProps({render:render3});var tippy_esm_default=tippy;function mapOptionsToTippyProps(options,gtSm){let config4={animation:"scale-subtle",arrow:!1,content:options.message,delay:[null,null],hideOnClick:!gtSm,ignoreAttributes:!0,placement:"bottom",trigger:"mouseenter",onCreate:instance=>{instance.popper.classList.add("ix-tippy-root")}};return options.position&&(config4.placement=options.position),options.showDelay&&config4.delay&&(config4.delay[0]=options.showDelay),options.hideDelay&&config4.delay&&(config4.delay[1]=options.hideDelay),config4}var TooltipService=(()=>{class TooltipService2{constructor(window2,breakpointObserver){this.breakpointObserver=breakpointObserver,this.destroy=inject(DestroyRef),this.gtSm=window2.innerWidth>=960,this.breakpointObserver.observe("(min-width: 960px)").pipe(takeUntilDestroyed(this.destroy)).subscribe(state=>{this.gtSm=state.matches})}attach(target,options){return new Tooltip(tippy_esm_default(target,mapOptionsToTippyProps(options,this.gtSm)))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||TooltipService2)(\u0275\u0275inject(WINDOW),\u0275\u0275inject(BreakpointObserver))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:TooltipService2,factory:TooltipService2.\u0275fac,providedIn:"root"})}}return TooltipService2})();var FormatConstantCaseDirective=(()=>{class FormatConstantCaseDirective2{constructor(formControl){this.formControl=formControl,this.destroy=inject(DestroyRef)}ngOnInit(){this.formControl.control?.valueChanges.pipe(takeUntilDestroyed(this.destroy)).subscribe(value=>{let formattedValue=value?.toUpperCase().replace(/ /g,"_");this.formControl?.control&&formattedValue!==value&&this.formControl.control.patchValue(formattedValue,{emitEvent:!1})})}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||FormatConstantCaseDirective2)(\u0275\u0275directiveInject(NgControl))}}static{this.\u0275dir=\u0275\u0275defineDirective({type:FormatConstantCaseDirective2,selectors:[["","ixFormatConstantCase",""]]})}}return FormatConstantCaseDirective2})();var _forTrack03=($index,$item)=>$item.code;function TranslationFieldsetComponent_Conditional_5_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",2),\u0275\u0275text(1,"__MESSAGE__.REQUIRED"),\u0275\u0275elementEnd())}function TranslationFieldsetComponent_Conditional_6_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",2),\u0275\u0275text(1,"__MESSAGE__.INVALID_TRANSLATION_KEY"),\u0275\u0275elementEnd())}function TranslationFieldsetComponent_Conditional_7_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",2),\u0275\u0275text(1,"__MESSAGE__.TRANSLATION_KEY_ALREADY_IN_USE"),\u0275\u0275elementEnd())}function TranslationFieldsetComponent_For_9_Conditional_1_Conditional_4_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",2),\u0275\u0275text(1,"__MESSAGE__.REQUIRED"),\u0275\u0275elementEnd())}function TranslationFieldsetComponent_For_9_Conditional_1_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"mat-form-field",1)(1,"mat-label"),\u0275\u0275text(2),\u0275\u0275elementEnd(),\u0275\u0275element(3,"textarea",4),\u0275\u0275conditionalCreate(4,TranslationFieldsetComponent_For_9_Conditional_1_Conditional_4_Template,2,0,"mat-error",2),\u0275\u0275elementEnd()),rf&2){let languageControl_r1=ctx,language_r2=\u0275\u0275nextContext().$implicit;\u0275\u0275advance(2),\u0275\u0275textInterpolate(language_r2.native),\u0275\u0275advance(),\u0275\u0275property("formControl",languageControl_r1),\u0275\u0275advance(),\u0275\u0275conditional(languageControl_r1.hasError("required")?4:-1)}}function TranslationFieldsetComponent_For_9_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"div"),\u0275\u0275conditionalCreate(1,TranslationFieldsetComponent_For_9_Conditional_1_Template,5,3,"mat-form-field",1),\u0275\u0275elementEnd()),rf&2){let tmp_10_0,language_r2=ctx.$implicit,ctx_r2=\u0275\u0275nextContext();\u0275\u0275advance(),\u0275\u0275conditional((tmp_10_0=ctx_r2.form.controls.languages.controls[language_r2.code])?1:-1,tmp_10_0)}}var TranslationFieldsetComponent=(()=>{class TranslationFieldsetComponent2{static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||TranslationFieldsetComponent2)}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:TranslationFieldsetComponent2,selectors:[["ix-translation-fieldset"]],inputs:{form:"form",languages:"languages"},decls:10,vars:4,consts:[["fxLayout","column","fxLayoutGap","16px"],["floatLabel","always","fxFlex","","appearance","fill"],["translate",""],["matInput","","cdkFocusInitial","","data-lpignore","true","ixFormatConstantCase","",3,"formControl"],["matInput","","data-lpignore","true","cdkTextareaAutosize","true","cdkAutosizeMinRows","1","cdkAutosizeMaxRows","15",3,"formControl"]],template:function(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"div",0)(1,"mat-form-field",1)(2,"mat-label",2),\u0275\u0275text(3,"TRANSLATION_KEY"),\u0275\u0275elementEnd(),\u0275\u0275element(4,"input",3),\u0275\u0275conditionalCreate(5,TranslationFieldsetComponent_Conditional_5_Template,2,0,"mat-error",2),\u0275\u0275conditionalCreate(6,TranslationFieldsetComponent_Conditional_6_Template,2,0,"mat-error",2),\u0275\u0275conditionalCreate(7,TranslationFieldsetComponent_Conditional_7_Template,2,0,"mat-error",2),\u0275\u0275elementEnd(),\u0275\u0275repeaterCreate(8,TranslationFieldsetComponent_For_9_Template,2,1,"div",null,_forTrack03),\u0275\u0275elementEnd()),rf&2&&(\u0275\u0275advance(4),\u0275\u0275property("formControl",ctx.form.controls.key),\u0275\u0275advance(),\u0275\u0275conditional(ctx.form.controls.key.hasError("required")?5:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx.form.controls.key.hasError("pattern")?6:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx.form.controls.key.hasError("keyInUse")?7:-1),\u0275\u0275advance(),\u0275\u0275repeater(ctx.languages))},dependencies:[A11yModule,FlexModule,DefaultLayoutDirective,DefaultLayoutGapDirective,DefaultFlexDirective,FormatConstantCaseDirective,MatFormFieldModule,MatFormField,MatLabel,MatError,MatInputModule,MatInput,CdkTextareaAutosize,ReactiveFormsModule,DefaultValueAccessor,NgControlStatus,FormControlDirective,TranslateModule,TranslateDirective],encapsulation:2,changeDetection:0})}}return TranslationFieldsetComponent2})();function translationKeyInUseValidator(control){return this.data.usedTranslationKeys?.includes(control.value)?{keyInUse:!0}:null}var AddTranslationDialogComponent=(()=>{class AddTranslationDialogComponent2{constructor(){this.dialogRef=inject(MatDialogRef),this.fb=inject(FormBuilder),this.data=inject(MAT_DIALOG_DATA),this.form=this.fb.nonNullable.group({key:["",[Validators.pattern(/^[A-Z0-9_?.!]+$/),Validators.required,translationKeyInUseValidator.bind(this)]],languages:this.fb.nonNullable.group(this.data.languages.reduce((controls,language)=>__spreadProps(__spreadValues({},controls),{[language.code]:["",language.code==="en"?[Validators.required]:[]]}),{}))})}submit(){this.dialogRef.close(__spreadProps(__spreadValues({},this.form.value),{languages:omitBy_default(this.form.value.languages,isEmpty_default)}))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AddTranslationDialogComponent2)}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:AddTranslationDialogComponent2,selectors:[["ix-add-translation-dialog"]],decls:13,vars:4,consts:[["autocomplete","off",3,"ngSubmit","formGroup"],["mat-dialog-title","","translate",""],[3,"form","languages"],["fxFlex",""],["mat-button","","mat-dialog-close",""],["translate",""],["type","submit","mat-button","","color","primary",3,"disabled"]],template:function(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"form",0),\u0275\u0275listener("ngSubmit",function(){return ctx.submit()}),\u0275\u0275elementStart(1,"h1",1),\u0275\u0275text(2,"ADD_NEW_TRANSLATION"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(3,"mat-dialog-content"),\u0275\u0275element(4,"ix-translation-fieldset",2),\u0275\u0275elementEnd(),\u0275\u0275elementStart(5,"mat-dialog-actions"),\u0275\u0275element(6,"span",3),\u0275\u0275elementStart(7,"button",4)(8,"span",5),\u0275\u0275text(9,"CANCEL"),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(10,"button",6)(11,"span",5),\u0275\u0275text(12,"ADD"),\u0275\u0275elementEnd()()()()),rf&2&&(\u0275\u0275property("formGroup",ctx.form),\u0275\u0275advance(4),\u0275\u0275property("form",ctx.form)("languages",ctx.data.languages),\u0275\u0275advance(6),\u0275\u0275property("disabled",ctx.form.pristine||ctx.form.invalid))},dependencies:[ReactiveFormsModule,\u0275NgNoValidate,NgControlStatusGroup,FormGroupDirective,MatButtonModule,MatButton,MatDialogModule,MatDialogClose,MatDialogTitle,MatDialogActions,MatDialogContent,FlexModule,DefaultFlexDirective,TranslateModule,TranslateDirective,TranslationFieldsetComponent],styles:["[_nghost-%COMP%]{width:100dvw;height:100dvh;display:flex;flex-direction:column;flex:1}@media(min-width:960px){[_nghost-%COMP%]{height:auto;width:auto;min-width:528px;max-width:528px}}[_nghost-%COMP%] .ix-dialog__header[_ngcontent-%COMP%]{padding:calc(env(safe-area-inset-top,0) + 16px) 24px 16px}[_nghost-%COMP%] .ix-dialog__header[_ngcontent-%COMP%] .mat-toolbar[_ngcontent-%COMP%]{height:48px;padding-left:0;padding-right:0}[_nghost-%COMP%] .ix-dialog__header[_ngcontent-%COMP%] .mat-toolbar[_ngcontent-%COMP%] .mdc-dialog__title[_ngcontent-%COMP%]{--mat-dialog-headline-padding: 0;color:inherit}[_nghost-%COMP%] .ix-dialog__header[_ngcontent-%COMP%] .mat-toolbar[_ngcontent-%COMP%] .mdc-dialog__title[_ngcontent-%COMP%]:before{display:none}[_nghost-%COMP%] .ix-dialog__header[_ngcontent-%COMP%] + .ix-dialog__content[_ngcontent-%COMP%], [_nghost-%COMP%] .ix-dialog__header[_ngcontent-%COMP%] + .mdc-dialog__content[_ngcontent-%COMP%]{padding-top:0}[_nghost-%COMP%] .mdc-dialog__title[_ngcontent-%COMP%]:before{height:calc(env(safe-area-inset-top,0) + 40px)}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%]{padding:20px 24px}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%], [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%]{flex-direction:column;box-sizing:border-box;display:flex;place-content:stretch flex-start;align-items:stretch;flex:1 1 auto;max-height:none;overflow:auto;-webkit-overflow-scrolling:touch}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%] > .ix-list[_ngcontent-%COMP%], [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%] > .ix-list[_ngcontent-%COMP%]{margin-left:-24px;margin-right:-24px}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%] > .mat-mdc-subheader[_ngcontent-%COMP%], [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%] > .mat-mdc-subheader[_ngcontent-%COMP%]{margin-left:0;margin-right:0}@media(min-width:960px){[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%], [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%]{max-height:calc(90dvh - 140px)}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%]:has(+.mdc-dialog__actions), [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%]:has(+.mdc-dialog__actions){padding-bottom:0}}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%] .mat-stepper-vertical[_ngcontent-%COMP%], [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%] .mat-stepper-vertical[_ngcontent-%COMP%]{--mat-stepper-header-height: 56px;margin-left:-16px;margin-right:-16px}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%] .mat-stepper-vertical[_ngcontent-%COMP%] .mat-vertical-content-container.mat-vertical-content-container-active, [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%] .mat-stepper-vertical[_ngcontent-%COMP%] .mat-vertical-content-container.mat-vertical-content-container-active{padding-top:16px}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%] .mat-stepper-vertical[_ngcontent-%COMP%] mat-step-header:focus, [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%] .mat-stepper-vertical[_ngcontent-%COMP%] mat-step-header:focus{background-color:transparent}@media(max-width:959.9px){[_nghost-%COMP%] .mdc-dialog__actions[_ngcontent-%COMP%]{border-top:1px solid rgba(0,0,0,.12);padding-bottom:calc(16px + env(safe-area-inset-bottom,0))}}[_nghost-%COMP%] form[_ngcontent-%COMP%]{flex-direction:column;box-sizing:border-box;display:flex;flex:1 1 auto;height:inherit}[_nghost-%COMP%] form[_ngcontent-%COMP%] .mat-mdc-form-field[_ngcontent-%COMP%]{margin-bottom:1rem}"],changeDetection:0})}}return AddTranslationDialogComponent2})();var EditTranslationDialogComponent=(()=>{class EditTranslationDialogComponent2{constructor(){this.fb=inject(FormBuilder),this.dialogRef=inject(MatDialogRef),this.data=inject(MAT_DIALOG_DATA),this.form=this.fb.nonNullable.group({key:[{value:this.data.translation.key??"",disabled:!0},[Validators.required]],languages:this.fb.nonNullable.group(this.data.languages.reduce((controls,language)=>__spreadProps(__spreadValues({},controls),{[language.code]:[this.data.translation.languages?.[language.code]||"",language.code==="en"?[Validators.required]:[]]}),{}))})}submit(){this.dialogRef.close(__spreadProps(__spreadValues({},this.data.translation),{languages:omitBy_default(this.form.controls.languages.value,isEmpty_default)}))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||EditTranslationDialogComponent2)}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:EditTranslationDialogComponent2,selectors:[["ix-edit-translation-dialog"]],decls:13,vars:4,consts:[["autocomplete","off",3,"ngSubmit","formGroup"],["mat-dialog-title","","translate",""],[3,"form","languages"],["fxFlex",""],["mat-button","","mat-dialog-close",""],["translate",""],["type","submit","mat-button","","color","primary",3,"disabled"]],template:function(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"form",0),\u0275\u0275listener("ngSubmit",function(){return ctx.submit()}),\u0275\u0275elementStart(1,"h1",1),\u0275\u0275text(2,"EDIT_TRANSLATION"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(3,"mat-dialog-content"),\u0275\u0275element(4,"ix-translation-fieldset",2),\u0275\u0275elementEnd(),\u0275\u0275elementStart(5,"mat-dialog-actions"),\u0275\u0275element(6,"span",3),\u0275\u0275elementStart(7,"button",4)(8,"span",5),\u0275\u0275text(9,"CANCEL"),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(10,"button",6)(11,"span",5),\u0275\u0275text(12,"SAVE"),\u0275\u0275elementEnd()()()()),rf&2&&(\u0275\u0275property("formGroup",ctx.form),\u0275\u0275advance(4),\u0275\u0275property("form",ctx.form)("languages",ctx.data.languages),\u0275\u0275advance(6),\u0275\u0275property("disabled",ctx.form.pristine||ctx.form.invalid))},dependencies:[ReactiveFormsModule,\u0275NgNoValidate,NgControlStatusGroup,FormGroupDirective,MatButtonModule,MatButton,MatDialogModule,MatDialogClose,MatDialogTitle,MatDialogActions,MatDialogContent,FlexModule,DefaultFlexDirective,TranslateModule,TranslateDirective,TranslationFieldsetComponent],styles:["[_nghost-%COMP%]{width:100dvw;height:100dvh;display:flex;flex-direction:column;flex:1}@media(min-width:960px){[_nghost-%COMP%]{height:auto;width:auto;min-width:528px;max-width:528px}}[_nghost-%COMP%] .ix-dialog__header[_ngcontent-%COMP%]{padding:calc(env(safe-area-inset-top,0) + 16px) 24px 16px}[_nghost-%COMP%] .ix-dialog__header[_ngcontent-%COMP%] .mat-toolbar[_ngcontent-%COMP%]{height:48px;padding-left:0;padding-right:0}[_nghost-%COMP%] .ix-dialog__header[_ngcontent-%COMP%] .mat-toolbar[_ngcontent-%COMP%] .mdc-dialog__title[_ngcontent-%COMP%]{--mat-dialog-headline-padding: 0;color:inherit}[_nghost-%COMP%] .ix-dialog__header[_ngcontent-%COMP%] .mat-toolbar[_ngcontent-%COMP%] .mdc-dialog__title[_ngcontent-%COMP%]:before{display:none}[_nghost-%COMP%] .ix-dialog__header[_ngcontent-%COMP%] + .ix-dialog__content[_ngcontent-%COMP%], [_nghost-%COMP%] .ix-dialog__header[_ngcontent-%COMP%] + .mdc-dialog__content[_ngcontent-%COMP%]{padding-top:0}[_nghost-%COMP%] .mdc-dialog__title[_ngcontent-%COMP%]:before{height:calc(env(safe-area-inset-top,0) + 40px)}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%]{padding:20px 24px}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%], [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%]{flex-direction:column;box-sizing:border-box;display:flex;place-content:stretch flex-start;align-items:stretch;flex:1 1 auto;max-height:none;overflow:auto;-webkit-overflow-scrolling:touch}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%] > .ix-list[_ngcontent-%COMP%], [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%] > .ix-list[_ngcontent-%COMP%]{margin-left:-24px;margin-right:-24px}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%] > .mat-mdc-subheader[_ngcontent-%COMP%], [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%] > .mat-mdc-subheader[_ngcontent-%COMP%]{margin-left:0;margin-right:0}@media(min-width:960px){[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%], [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%]{max-height:calc(90dvh - 140px)}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%]:has(+.mdc-dialog__actions), [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%]:has(+.mdc-dialog__actions){padding-bottom:0}}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%] .mat-stepper-vertical[_ngcontent-%COMP%], [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%] .mat-stepper-vertical[_ngcontent-%COMP%]{--mat-stepper-header-height: 56px;margin-left:-16px;margin-right:-16px}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%] .mat-stepper-vertical[_ngcontent-%COMP%] .mat-vertical-content-container.mat-vertical-content-container-active, [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%] .mat-stepper-vertical[_ngcontent-%COMP%] .mat-vertical-content-container.mat-vertical-content-container-active{padding-top:16px}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%] .mat-stepper-vertical[_ngcontent-%COMP%] mat-step-header:focus, [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%] .mat-stepper-vertical[_ngcontent-%COMP%] mat-step-header:focus{background-color:transparent}@media(max-width:959.9px){[_nghost-%COMP%] .mdc-dialog__actions[_ngcontent-%COMP%]{border-top:1px solid rgba(0,0,0,.12);padding-bottom:calc(16px + env(safe-area-inset-bottom,0))}}[_nghost-%COMP%] form[_ngcontent-%COMP%]{flex-direction:column;box-sizing:border-box;display:flex;flex:1 1 auto;height:inherit}[_nghost-%COMP%] form[_ngcontent-%COMP%] .mat-mdc-form-field[_ngcontent-%COMP%]{margin-bottom:1rem}"],changeDetection:0})}}return EditTranslationDialogComponent2})();function highlightText(value,query){return _parseText(value,query).map(escape_default).reduce((acc,curr,i)=>i%2===1?`${acc}<strong>${curr}</strong>`:`${acc}${curr}`,"")}function showHighLightedTextInContent(highlightedText,contentWidth){let index=highlightedText.indexOf("<strong>"),highlightedWidth=highlightedText.indexOf("</strong>")-(index+8);if(contentWidth.indexOf("ch")){let visibleCharacters=parseInt(contentWidth.replace("ch",""));if(index+highlightedWidth>visibleCharacters){if(highlightedWidth>=visibleCharacters)return"..."+highlightedText.substring(index);let indexOfSpace=highlightedText.indexOf(" ",index-(visibleCharacters-highlightedWidth)/2);return indexOfSpace<index&&indexOfSpace>-1?"..."+highlightedText.substring(indexOfSpace+1):"..."+highlightedText.substring(index)}}return highlightedText}function _escapeSpecialCharacters(text2){return text2?.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}function _parseText(value,query){let val=String(value);if(query&&query.trim()!==""){let regex=new RegExp(`(${_escapeSpecialCharacters(query)})`,"gi");if(regex.test(val))return val.split(regex);let deburredVal=deburr_default(val);if(deburredVal.length===val.length){let q=deburr_default(query).trim(),matches=deburredVal.match(new RegExp(`(${_escapeSpecialCharacters(q)})`,"gi"));if(matches?.length){let chars=val.split(""),firstMatch=matches[0],startIdx=deburredVal.indexOf(firstMatch),size=firstMatch.length;if(startIdx!==-1)return[chars.slice(0,startIdx).join(""),[...chars].splice(startIdx,size,...val.slice(startIdx,size).split("")).join(""),chars.slice(startIdx+size).join("")]}}}return[val]}var HighlightTextPipe=(()=>{class HighlightTextPipe2{constructor(){this.sanitizer=inject(DomSanitizer)}transform(value,query,contentWidth="auto"){let highlightedText=highlightText(value,query),result=contentWidth!=="auto"&&query?showHighLightedTextInContent(highlightedText,contentWidth):highlightedText;return this.sanitizer.sanitize(SecurityContext.HTML,result)??""}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||HighlightTextPipe2)}}static{this.\u0275pipe=\u0275\u0275definePipe({name:"highlightText",type:HighlightTextPipe2,pure:!0})}}return HighlightTextPipe2})();var LOADER_PATH=new InjectionToken("systems.translation.loader-path"),TranslationLoaderService=(()=>{class TranslationLoaderService2{constructor(loaderPath,http){this.loaderPath=loaderPath,this.http=http}getTranslation(lang){return this.http.get(`${this.loaderPath}${lang}.json`).pipe(catchError(()=>of({})))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||TranslationLoaderService2)(\u0275\u0275inject(LOADER_PATH),\u0275\u0275inject(HttpClient))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:TranslationLoaderService2,factory:TranslationLoaderService2.\u0275fac,providedIn:"root"})}}return TranslationLoaderService2})();var setLanguage=createAction("[Translation] Set Language",props());var LANG_STORAGE_KEY="lang",LANGUAGES=[{code:"de",name:"German",native:"Deutsch"},{code:"en",name:"English",native:"English"},{code:"es",name:"Spanish",native:"Espa\xF1ol"},{code:"fr",name:"French",native:"Fran\xE7ais"},{code:"it",name:"Italian",native:"Italiano"},{code:"nl",name:"Dutch",native:"Nederlands"},{code:"pl",name:"Polish",native:"Polski"}],LANGUAGES_ENGLISH_FIRST=[...LANGUAGES].sort((a,b)=>a.code==="en"?-1:b.code==="en"?1:0);var TranslationEffects=(()=>{class TranslationEffects3{constructor(actions$,storage,translate){this.actions$=actions$,this.storage=storage,this.translate=translate,this.setLanguage$=createEffect(()=>this.actions$.pipe(ofType(setLanguage),tap(({lang})=>this.translate.use(lang))),{dispatch:!1}),this.remember$=createEffect(()=>this.translate.onLangChange.pipe(tap(()=>this.storage.set(LANG_STORAGE_KEY,this.translate.currentLang))),{dispatch:!1}),this.userPreference$=createEffect(()=>this.actions$.pipe(ofType(logInSuccess,loadMeSuccess3,didUpdateMe2),map(({data})=>get_default(data,"language",get_default(data,"user.language",void 0))),filter(lang=>lang!==void 0),distinctUntilChanged(),map(lang=>setLanguage({lang}))))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||TranslationEffects3)(\u0275\u0275inject(Actions),\u0275\u0275inject(StorageService),\u0275\u0275inject(TranslateService))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:TranslationEffects3,factory:TranslationEffects3.\u0275fac})}}return TranslationEffects3})();function initializerFactory(location2,translate,storage){return()=>{let queryString=location2.path().split("?").pop(),queryParams=new URLSearchParams(queryString),queryLang=validate(queryParams.get("lang"));queryLang&&storage.set(LANG_STORAGE_KEY,queryLang);let defaultLang=validate(navigator.language)||"en";return translate.setDefaultLang("en"),translate.use(storage.get(LANG_STORAGE_KEY,defaultLang))};function validate(lang){if(lang){lang=lang.slice(0,2);let found=LANGUAGES.find(language=>language.code===lang);if(found)return found.code}return null}}function loaderFactory(capacitorPlatform){let isWeb=capacitorPlatform==="web",isSimulator=environment.appName==="Simulator";return environment.production&&environment.build!=="production"&&isWeb&&!isSimulator?`../i18n/${environment.build}/`:"../i18n/local/"}var TranslationRootModule=(()=>{class TranslationRootModule2{static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||TranslationRootModule2)}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:TranslationRootModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({providers:[{provide:APP_INITIALIZER,multi:!0,useFactory:initializerFactory,deps:[Location,TranslateService,StorageService]},{provide:LOADER_PATH,useFactory:loaderFactory,deps:[CAPACITOR_PLATFORM]}],imports:[SharedModule,EffectsModule.forFeature([TranslationEffects]),TranslateModule.forRoot({loader:{provide:TranslateLoader,useClass:TranslationLoaderService}})]})}}return TranslationRootModule2})(),TranslationModule=(()=>{class TranslationModule3{static forRoot(){return{ngModule:TranslationRootModule,providers:[]}}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||TranslationModule3)}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:TranslationModule3})}static{this.\u0275inj=\u0275\u0275defineInjector({imports:[SharedModule,TranslateModule]})}}return TranslationModule3})();var FEATURE_NAME22="translation",TRANSLATION_KEY_PATTERN3=/^[A-Z0-9_.!?]+$/;function sortByKey(a,b){return a.key&&b.key?a.key.localeCompare(b.key):0}var adapter20=createResourceAdapter({sortComparer:sortByKey}),initialState22=adapter20.getInitialState(),reducer18=createReducer(initialState22,on(didAdd78,(state,{data})=>adapter20.upsertOne(data,state)),on(didUpdate73,(state,{data,publicId})=>adapter20.updateOne({id:publicId,changes:data},state)),on(loadAll66,state=>__spreadProps(__spreadValues({},state),{allLoading:!0})),on(loadAllFailure64,state=>__spreadProps(__spreadValues({},state),{allLoading:!1})),on(loadAllSuccess67,(state,{data})=>adapter20.setAll(data,__spreadProps(__spreadValues({},state),{allLoading:!1,allLoaded:!0}))),on(addManySuccess,upsertManySuccess2,didAddList10,(state,{data})=>adapter20.upsertMany(data,state)),on(updateManySuccess7,didUpdateList10,(state,{data})=>adapter20.updateMany(data.map(translation=>({id:translation.publicId,changes:translation})),state)),on(removeSuccess55,didRemove74,(state,{publicId})=>adapter20.removeOne(publicId,state)),on(didRemoveList11,(state,{publicIdList})=>adapter20.removeMany(publicIdList,state)),on(reset90,()=>__spreadValues({},initialState22))),feature18=createFeature({name:FEATURE_NAME22,reducer:reducer18});var selectAll20=createSelector(feature18.selectTranslationState,adapter20.getSelectors().selectAll),{selectAllLoading:selectAllLoading14,selectAllLoaded:selectAllLoaded14}=feature18;var LinkTranslationDialogFacadeBase=class{constructor(){this.store=inject(Store),this.languages$=of(LANGUAGES_ENGLISH_FIRST),this.translations$=this.store.select(selectAll20)}};var LinkTranslationDialogFacade=(()=>{class LinkTranslationDialogFacade2 extends LinkTranslationDialogFacadeBase{addTranslation(translation){this.store.dispatch(addMany({data:[translation]}))}editTranslation(translation){this.store.dispatch(updateMany7({data:[translation]}))}static{this.\u0275fac=(()=>{let \u0275LinkTranslationDialogFacade_BaseFactory;return function(__ngFactoryType__){return(\u0275LinkTranslationDialogFacade_BaseFactory||(\u0275LinkTranslationDialogFacade_BaseFactory=\u0275\u0275getInheritedFactory(LinkTranslationDialogFacade2)))(__ngFactoryType__||LinkTranslationDialogFacade2)}})()}static{this.\u0275prov=\u0275\u0275defineInjectable({token:LinkTranslationDialogFacade2,factory:LinkTranslationDialogFacade2.\u0275fac,providedIn:"root"})}}return LinkTranslationDialogFacade2})();function getUserMembershipRoles(userMemberships,roles){return compact_default(uniq_default(compact_default(userMemberships.map(membership=>membership.role?.publicId))).map(roleId=>roles.find(role=>role.publicId===roleId)))}function hasRoleWithPermissions(permissions,state,options){let{userMemberships,groupState,roles}=state,{excludeDeviceSpecific,excludeGroupSpecific,excludeTemporary}=options||{},filteredUserMemberships=excludeDeviceSpecific||excludeGroupSpecific||excludeTemporary?userMemberships.filter(m=>(!excludeDeviceSpecific||m.group&&groupState.entities[m.group.publicId]?.agent===null&&groupState.entities[m.group.publicId]?.asset===null)&&(!excludeGroupSpecific||m.group&&groupState.entities[m.group.publicId]?.type===null)&&(!excludeTemporary||m.expiresOn===null)):userMemberships;return getUserMembershipRoles(filteredUserMemberships,roles).some(isRoleWithPermissions(...permissions))}function hasLicenceOfType(usageType,state){return!!state.licences.find(licence=>licence.type?.usageType===usageType)}function hasLicenceOfTypeAndScope(usageType,scope,state){return!!state.licences.find(licence=>licence.type?.usageType===usageType&&licence.type?.scope===scope)}function hasLicenceOfTypeForAgent(usageType,agentId,state){return!!state.licences.find(licence=>licence.type?.usageType===usageType&&licence.type?.scope==="agent"&&licence.agent?.publicId===agentId)}function hasLegacyLicenceModel(state){return state.company?.licenceModel==="legacy"}function isCompanyAdmin(state,options={excludeTemporary:!1}){return hasRoleWithPermissions(["COMPANY_ADMIN"],state,options)}function isSupportUser(state){return!!state.user?.support}var getManageAgentRights=memoize_default((roles,groupState,userMemberships,licences)=>_getGroupsGivingPermission(roles,groupState,userMemberships,licences,"MANAGE_AGENT"),(roles,groupState,userMemberships,licences)=>{let hasSubgroupsLicence=licences.some(licence=>licence.type?.usageType==="subgroups");return JSON.stringify({roles,groupState,userMemberships,hasSubgroupsLicence})}),getManageAgentTemplateRights=memoize_default((roles,groupState,userMemberships,licences)=>_getGroupsGivingPermission(roles,groupState,userMemberships,licences,"MANAGE_AGENT_TEMPLATE"),(roles,groupState,userMemberships,licences)=>{let hasSubgroupsLicence=licences.some(licence=>licence.type?.usageType==="subgroups");return JSON.stringify({roles,groupState,userMemberships,hasSubgroupsLicence})}),getManageEdgeAppRights=memoize_default((roles,groupState,userMemberships,licences)=>_getGroupsGivingPermission(roles,groupState,userMemberships,licences,"MANAGE_EDGE_APP"),(roles,groupState,userMemberships,licences)=>{let hasSubgroupsLicence=licences.some(licence=>licence.type?.usageType==="subgroups");return JSON.stringify({roles,groupState,userMemberships,hasSubgroupsLicence})}),getManageGroupRights=memoize_default((roles,groupState,userMemberships,licences)=>_getGroupsGivingPermission(roles,groupState,userMemberships,licences,"MANAGE_GROUP",!0),(roles,groupState,userMemberships,licences)=>{let hasSubgroupsLicence=licences.some(licence=>licence.type?.usageType==="subgroups");return JSON.stringify({roles,groupState,userMemberships,hasSubgroupsLicence})}),getApproveAccessRequestsRights=memoize_default((roles,groupState,userMemberships,licences)=>_getGroupsGivingPermission(roles,groupState,userMemberships,licences,"APPROVE_ACCESS_REQUESTS"),(roles,groupState,userMemberships,licences)=>{let hasSubgroupsLicence=licences.some(licence=>licence.type?.usageType==="subgroups");return JSON.stringify({roles,groupState,userMemberships,hasSubgroupsLicence})}),getManagePageRights=memoize_default((roles,groupState,userMemberships,licences)=>_getGroupsGivingPermission(roles,groupState,userMemberships,licences,"MANAGE_PAGE",!0),(roles,groupState,userMemberships,licences)=>{let hasSubgroupsLicence=licences.some(licence=>licence.type?.usageType==="subgroups");return JSON.stringify({roles,groupState,userMemberships,hasSubgroupsLicence})});function _getGroupsGivingPermission(roles,groupState,userMemberships,licences,permission,excludeDeviceSpecific=!1){let groupIds=new Set,hasSubgroupsLicence=licences.some(licence=>licence.type?.usageType==="subgroups");return userMemberships.filter(membership=>roles.some(role=>role.publicId===membership.role?.publicId&&role.permissions?.some(p=>p.publicId===permission))).forEach(membership=>{if(membership.group){let group=groupState.entities[membership.group.publicId];if(group){let groups=[group];hasSubgroupsLicence&&(groups=getGroupTree(group,groupState)),groups.forEach(g=>{(!g.agent&&!g.asset||!excludeDeviceSpecific)&&groupIds.add(g.publicId)})}}}),Array.from(groupIds)}function hasPermissionForAgentOrAsset(groupsGivingPermissionIds,groupEntities,agentOrAsset){return groupsGivingPermissionIds?!!((agentOrAsset?.memberships??[]).some(agentMembership=>agentMembership&&groupsGivingPermissionIds.some(groupId=>agentMembership.group&&agentMembership.group.publicId===groupId))||agentOrAsset?.publicId&&groupsGivingPermissionIds.some(groupId=>groupEntities[groupId]?.agent?.publicId===agentOrAsset.publicId||groupEntities[groupId]?.asset?.publicId===agentOrAsset.publicId)):!1}var AccessRequestsGuard=(()=>{class AccessRequestsGuard2{canUse(state){return hasLicenceOfType("request-access",state)}canManage(state,params){if(!this.canUse(state))return!1;if(params?.agentOrAsset){let{agentOrAsset}=params;if(!hasRoleWithPermissions(["APPROVE_ACCESS_REQUESTS"],state))return!1;if("assets"in agentOrAsset&&agentOrAsset.assets?.length){let{publicId}=agentOrAsset.assets[0];agentOrAsset={publicId,memberships:state.assetMemberships.filter(m=>m.asset?.publicId===publicId)}}return hasPermissionForAgentOrAsset(state.rbac.groupsWithApproveAccessRequests,state.groupState.entities,agentOrAsset)}return hasRoleWithPermissions(["APPROVE_ACCESS_REQUESTS"],state)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AccessRequestsGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AccessRequestsGuard2,factory:AccessRequestsGuard2.\u0275fac,providedIn:"root"})}}return AccessRequestsGuard2})();var AgentMembershipsGuard=(()=>{class AgentMembershipsGuard2{constructor(){this.store=inject(Store)}canManage(state,params){if(!params?.agent)return!1;if(isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(["COMPANY_WIDE_ROLE","MANAGE_AGENT"],state))return!0;if(hasLicenceOfType("subgroups",state)){if("assets"in params.agent&¶ms.agent.assets?.length){let publicId=params.agent.assets[0].publicId,hasManageGroupPermission=!1;return this.store.select(selectEntityWithFields4(publicId)(["publicId","memberships.group"])).pipe(map(assetEntity=>hasPermissionForAgentOrAsset(state.rbac.groupsWithManageGroup,state.groupState.entities,assetEntity)),take(1)).subscribe(hasManageGroupPermissionForAgent=>hasManageGroupPermission=hasManageGroupPermissionForAgent),hasManageGroupPermission}return hasPermissionForAgentOrAsset(state.rbac.groupsWithManageGroup,state.groupState.entities,params.agent)}return!1}canDelete(state,params){if(isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(["COMPANY_WIDE_ROLE","MANAGE_AGENT"],state)||hasRoleWithPermissions(["COMPANY_WIDE_ROLE","MANAGE_GROUP"],state))return!0;if(!params?.membership)return!1;let agentGroups=state.agentMemberships.filter(membership=>membership.agent?.publicId===params.membership?.agent?.publicId&&membership.group).map(m=>m.group?.publicId),membershipRoles=getUserMembershipRoles(state.userMemberships,state.roles);return state.userMemberships.some(m=>{let groupId=m.group?.publicId,rootGroup=groupId?state.groupState.entities[groupId]:null;return!rootGroup||!membershipRoles.some(r=>r.publicId===m.role?.publicId&&isRoleWithPermissions("MANAGE_GROUP")(r))?!1:getGroupTree(rootGroup,state.groupState).some(group=>params?.membership?.group?.publicId!==group?.publicId&&!group.agent&&!group.asset&&agentGroups.includes(group.publicId))})}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AgentMembershipsGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AgentMembershipsGuard2,factory:AgentMembershipsGuard2.\u0275fac,providedIn:"root"})}}return AgentMembershipsGuard2})();var AgentRegistrationProfileGuard=(()=>{class AgentRegistrationProfileGuard2{canUse(state){return hasLicenceOfType("agent-registration-profile",state)?isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(["MANAGE_AGENT"],state,{excludeDeviceSpecific:!0}):!1}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AgentRegistrationProfileGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AgentRegistrationProfileGuard2,factory:AgentRegistrationProfileGuard2.\u0275fac,providedIn:"root"})}}return AgentRegistrationProfileGuard2})();var AgentTemplatesGuard=(()=>{class AgentTemplatesGuard2{canUse(state){return features.hasFeature("agent-template-versions")?hasLicenceOfType("agent-templates",state):!0}canManage(state,params){if(!this.canUse(state))return!1;if(isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(["COMPANY_WIDE_ROLE","MANAGE_AGENT_TEMPLATE"],state))return!0;if(params?.agentTemplate){if(!params.agentTemplate.group)return!1;let groupsGivingPermissionIds=state.rbac.groupsWithManageAgentTemplate;return groupsGivingPermissionIds&&groupsGivingPermissionIds.includes(params.agentTemplate.group.publicId)||!1}return hasRoleWithPermissions(["MANAGE_AGENT_TEMPLATE"],state,{excludeDeviceSpecific:!0})}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AgentTemplatesGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AgentTemplatesGuard2,factory:AgentTemplatesGuard2.\u0275fac,providedIn:"root"})}}return AgentTemplatesGuard2})();var GroupsGuard=(()=>{class GroupsGuard2{canManage(state,params){let permissions=["MANAGE_GROUP"];return params?.companyWide&&permissions.push("COMPANY_WIDE_ROLE"),isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(permissions,state,{excludeDeviceSpecific:!0,excludeGroupSpecific:!hasLicenceOfType("subgroups",state)})}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||GroupsGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:GroupsGuard2,factory:GroupsGuard2.\u0275fac,providedIn:"root"})}}return GroupsGuard2})();var SubgroupsGuard=(()=>{class SubgroupsGuard2 extends GroupsGuard{canUse(state){return hasLicenceOfType("subgroups",state)}canManage(state){return this.canUse(state)&&super.canManage(state)}canManageGroup(state,params){return params?.group?isCompanyAdmin(state)||isSupportUser(state)||this.canManageAllGroups(state)?!0:state.rbac.groupsWithManageGroup.includes(params.group.publicId):!1}canManageAllGroups(state){return isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(["COMPANY_WIDE_ROLE","MANAGE_GROUP"],state)}static{this.\u0275fac=(()=>{let \u0275SubgroupsGuard_BaseFactory;return function(__ngFactoryType__){return(\u0275SubgroupsGuard_BaseFactory||(\u0275SubgroupsGuard_BaseFactory=\u0275\u0275getInheritedFactory(SubgroupsGuard2)))(__ngFactoryType__||SubgroupsGuard2)}})()}static{this.\u0275prov=\u0275\u0275defineInjectable({token:SubgroupsGuard2,factory:SubgroupsGuard2.\u0275fac,providedIn:"root"})}}return SubgroupsGuard2})();var AgentsGuard=(()=>{class AgentsGuard2{constructor(){this.store=inject(Store),this.subgroupsGuard=inject(SubgroupsGuard),this.agentTemplatesGuard=inject(AgentTemplatesGuard)}canManage(state,params){if(isCompanyAdmin(state)||isSupportUser(state))return!0;if(params?.agent){if(params?.agent?.assets?.length){let publicId=params.agent.assets[0].publicId,hasManageAgentPermission=!1;return this.store.select(selectEntityWithFields4(publicId)(["publicId","agent","memberships.group"])).pipe(map(assetEntity=>hasPermissionForAgentOrAsset(state.rbac.groupsWithManageAgent,state.groupState.entities,assetEntity)),take(1)).subscribe(hasManageAgentPermissionForAgent=>hasManageAgentPermission=hasManageAgentPermissionForAgent),hasManageAgentPermission}return hasPermissionForAgentOrAsset(state.rbac.groupsWithManageAgent,state.groupState.entities,params.agent)}return hasRoleWithPermissions(["MANAGE_AGENT"],state)}canApplyTemplate(state,params){return this.agentTemplatesGuard.canUse(state)?this.canManage(state,params):!1}canCreate(state){return isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(["COMPANY_WIDE_ROLE","MANAGE_AGENT"],state)}canRegister(state,params){return isCompanyAdmin(state)||isSupportUser(state)?!0:params?.agent?hasPermissionForAgentOrAsset(state.rbac.groupsWithManageAgent,state.groupState.entities,params.agent):hasRoleWithPermissions(["COMPANY_WIDE_ROLE","MANAGE_AGENT"],state)}canRemove(state){return isCompanyAdmin(state)||isSupportUser(state)?!0:hasRoleWithPermissions(["COMPANY_WIDE_ROLE","MANAGE_AGENT"],state)}canTransfer(state,params){return this.canManage(state,params)||this.subgroupsGuard.canManage(state)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AgentsGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AgentsGuard2,factory:AgentsGuard2.\u0275fac,providedIn:"root"})}}return AgentsGuard2})();var AiAssistantGuard=(()=>{class AiAssistantGuard2{constructor(){this.SUPPORTED_APP_IDS=new Set(["KnbId36EFm7V","tzGYZaJPmMeB","xQSQxYS0kpUZ","9pcGTRKiMNFh","u1s7SRIHn6CA"])}canUse(state,level="asset"){return level==="fleet"?features.hasFeature("fleet-level-ai-assistant"):state.appsEnabled.some(id=>this.SUPPORTED_APP_IDS.has(id))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AiAssistantGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AiAssistantGuard2,factory:AiAssistantGuard2.\u0275fac,providedIn:"root"})}}return AiAssistantGuard2})();var AlarmingGuard=(()=>{class AlarmingGuard2{canUse(state,params){return hasLegacyLicenceModel(state)||hasLicenceOfTypeAndScope("alarming","company",state)||!!params?.agentId&&(params.isAgentTemplate===!1?hasLicenceOfTypeForAgent("alarming",params.agentId,state):hasLicenceOfTypeAndScope("alarming","agent",state))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AlarmingGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AlarmingGuard2,factory:AlarmingGuard2.\u0275fac,providedIn:"root"})}}return AlarmingGuard2})();var IXONOneGuard=(()=>{class IXONOneGuard2{canUse(state){return hasLicenceOfType("ixon-one",state)}canManage(state){return this.canUse(state)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||IXONOneGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:IXONOneGuard2,factory:IXONOneGuard2.\u0275fac,providedIn:"root"})}}return IXONOneGuard2})();var IXON_ONE_APPS=["Assets","Admin"],AppGuard=(()=>{class AppGuard3{constructor(){this.appName=inject(APP_NAME),this.ixonOneGuard=inject(IXONOneGuard)}canUse(state,params){let appName=params?.appName||this.appName;return hasLicenceOfType("ixon-one",state)?this.canUseIXONOneApps(appName,state):this.canUsePortalApps(appName,state)}canUseAdminApp(state){return["MANAGE_APP","MANAGE_BRANDING","MANAGE_COMPANY","MANAGE_LICENCE","MANAGE_USER","VIEW_AUDIT_LOGS"].some(permissionId=>hasRoleWithPermissions([permissionId],state))||hasRoleWithPermissions(["COMPANY_WIDE_ROLE","MANAGE_PAGE"],state,{excludeDeviceSpecific:!0})||hasRoleWithPermissions(["MANAGE_GROUP"],state,{excludeDeviceSpecific:!0,excludeGroupSpecific:!hasLicenceOfType("subgroups",state)})}canUseIXONOneApps(appName,state){if(IXON_ONE_APPS.includes(appName)&&(isSupportUser(state)||isCompanyAdmin(state)))return!0;switch(appName){case"Admin":return this.canUseAdminApp(state);case"Assets":return this.ixonOneGuard.canUse(state);default:return!1}}canUsePortalApps(appName,state){if(appName==="Assets")return!1;if(isSupportUser(state)||isCompanyAdmin(state))return!0;switch(appName){case"Admin":return this.canUseAdminApp(state);case"Fleet Manager":return hasRoleWithPermissions(["MANAGE_AGENT"],state)||hasRoleWithPermissions(["MANAGE_GROUP"],state,{excludeDeviceSpecific:!0,excludeGroupSpecific:!1})&&hasLicenceOfType("subgroups",state);case"Studio":return hasRoleWithPermissions(["DEVELOP_APP"],state)||hasRoleWithPermissions(["MANAGE_PAGE"],state,{excludeDeviceSpecific:!0});default:return!0}}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AppGuard3)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AppGuard3,factory:AppGuard3.\u0275fac,providedIn:"root"})}}return AppGuard3})();var AppsGuard=(()=>{class AppsGuard2{canManage(state){return isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(["MANAGE_APP"],state)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AppsGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AppsGuard2,factory:AppsGuard2.\u0275fac,providedIn:"root"})}}return AppsGuard2})();var AssetLibraryGuard=(()=>{class AssetLibraryGuard2{canManage(state){return(isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(["MANAGE_ASSET_LIBRARY"],state))&&hasLicenceOfType("asset-management",state)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AssetLibraryGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AssetLibraryGuard2,factory:AssetLibraryGuard2.\u0275fac,providedIn:"root"})}}return AssetLibraryGuard2})();var AssetMembershipsGuard=(()=>{class AssetMembershipsGuard2{constructor(){this.store=inject(Store)}canManage(state,params){return params?.asset?isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(["COMPANY_WIDE_ROLE","MANAGE_AGENT"],state)?!0:hasLicenceOfType("subgroups",state)?hasPermissionForAgentOrAsset(state.rbac.groupsWithManageGroup,state.groupState.entities,params.asset):!1:!1}canDelete(state,params){if(isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(["COMPANY_WIDE_ROLE","MANAGE_AGENT"],state)||hasRoleWithPermissions(["COMPANY_WIDE_ROLE","MANAGE_GROUP"],state))return!0;if(!params?.membership)return!1;let assetGroups=state.assetMemberships.filter(membership=>membership.asset?.publicId===params.membership?.asset?.publicId&&membership.group).map(m=>m.group?.publicId),membershipRoles=getUserMembershipRoles(state.userMemberships,state.roles);return state.userMemberships.some(m=>{let groupId=m.group?.publicId,rootGroup=groupId?state.groupState.entities[groupId]:null;return!rootGroup||!membershipRoles.some(r=>r.publicId===m.role?.publicId&&isRoleWithPermissions("MANAGE_GROUP")(r))?!1:getGroupTree(rootGroup,state.groupState).some(group=>params?.membership?.group?.publicId!==group?.publicId&&!group.agent&&!group.asset&&assetGroups.includes(group.publicId))})}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AssetMembershipsGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AssetMembershipsGuard2,factory:AssetMembershipsGuard2.\u0275fac,providedIn:"root"})}}return AssetMembershipsGuard2})();var AssetTypesGuard=(()=>{class AssetTypesGuard2{canManage(state){return(isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(["MANAGE_COMPANY"],state))&&hasLicenceOfType("asset-management",state)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AssetTypesGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AssetTypesGuard2,factory:AssetTypesGuard2.\u0275fac,providedIn:"root"})}}return AssetTypesGuard2})();var AssetsGuard=(()=>{class AssetsGuard2{canUse(state){return hasLicenceOfType("asset-management",state)}canManage(state,params){if(isCompanyAdmin(state)||isSupportUser(state))return this.canUse(state);if(params?.asset){if(hasPermissionForAgentOrAsset(state.rbac.groupsWithManageAgent,state.groupState.entities,params.asset))return this.canUse(state)}else if(hasRoleWithPermissions(["MANAGE_AGENT"],state))return this.canUse(state);return!1}canLinkAgent(state){return isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(["COMPANY_WIDE_ROLE","MANAGE_AGENT"],state)}canCreate(state){return isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(["COMPANY_WIDE_ROLE","MANAGE_AGENT"],state)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AssetsGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AssetsGuard2,factory:AssetsGuard2.\u0275fac,providedIn:"root"})}}return AssetsGuard2})();var AuditLogsGuard=(()=>{class AuditLogsGuard2{canUse(state){return isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(["VIEW_AUDIT_LOGS"],state)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AuditLogsGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AuditLogsGuard2,factory:AuditLogsGuard2.\u0275fac,providedIn:"root"})}}return AuditLogsGuard2})();var FEATURE_NAME23="agentType";var adapter21=createResourceAdapter({sortComparer:sortByNameAndPublicIdComparer}),initialState23=adapter21.getInitialState(),reducer19=createReducer(initialState23,on(reset53,()=>__spreadValues({},initialState23)),on(loadAll39,state=>__spreadProps(__spreadValues({},state),{allLoading:!0})),on(loadAllFailure39,state=>__spreadProps(__spreadValues({},state),{allLoading:!1})),on(loadAllSuccess40,(state,{data,fields})=>{let allLoadedFields=mergeFields(state.allLoadedFields,fields);return adapter21.setAll(data,__spreadProps(__spreadValues({},state),{allLoadedFields,allLoading:!1,allLoaded:!0}))}),on(didAdd3,loadOneSuccess,loadOneSuccess3,(state,{data})=>data?.type?adapter21.upsertOne(data.type,state):state),on(loadAllSuccess2,loadAllActiveSuccess,loadAllSuccess8,(state,{data})=>{if(data[0]?.type){let types=uniqBy_default(data.map(agent=>agent.type).filter(type=>!!type),type=>type.publicId);return adapter21.upsertMany(types,state)}return state})),feature19=createFeature({name:FEATURE_NAME23,reducer:reducer19});var AgentTypeService=(()=>{class AgentTypeService2{constructor(){this.api=inject(IxApiService),this.http=inject(HttpClient)}getAll(fields){return whileMoreAfter(moreAfter=>this.getList(fields,moreAfter))}getList(fields,pageAfter,pageSize){let url=this.api.url("AgentTypeList"),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,params=new HttpParams({fromObject:__spreadValues({fields:fields.join(",")},getPageParams(pageAfter,pageSize))}),options={context:context3,headers,params};return this.http.get(url,options)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AgentTypeService2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AgentTypeService2,factory:AgentTypeService2.\u0275fac,providedIn:"root"})}}return AgentTypeService2})();var selectAll21=createSelector(feature19.selectAgentTypeState,adapter21.getSelectors().selectAll);var{selectAllLoading:selectAllLoading15,selectAllLoaded:selectAllLoaded15,selectAllLoadedFields:selectAllLoadedFields4,selectEntities:selectEntities20}=feature19;var AgentTypeEffects=(()=>{class AgentTypeEffects2{constructor(){this.actions$=inject(Actions),this.store=inject(Store),this.service=inject(AgentTypeService),this.ensureAll$=createEffect(()=>this.actions$.pipe(ofType(ensureAll36),mergeMap(({fields})=>this.store.select(selectAllLoadedFields4).pipe(take(1),mergeMap(loadedFields=>fields.every(field=>loadedFields.includes(field))?EMPTY:of(loadAll39({fields}))))))),this.loadAll$=createEffect(()=>this.actions$.pipe(ofType(loadAll39),switchMap(({fields})=>this.service.getAll(fields).pipe(map(({data})=>loadAllSuccess40({data,fields})),catchError(errorResponse=>of(loadAllFailure39({errors:errorResponse.error?.data??[]})))))))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AgentTypeEffects2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AgentTypeEffects2,factory:AgentTypeEffects2.\u0275fac,providedIn:"root"})}}return AgentTypeEffects2})();var AgentTypeModule=(()=>{class AgentTypeModule2{static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AgentTypeModule2)}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:AgentTypeModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({providers:[provideHttpClient(withFetch(),withInterceptorsFromDi())],imports:[IxApiModule,StoreModule.forFeature(feature19),EffectsModule.forFeature([AgentTypeEffects])]})}}return AgentTypeModule2})();function isIXrouter3Compatible(type){if(!type)return!1;let publicId=typeof type=="string"?type:type.publicId;return["sHHQvHLDJ6Dk","C2yrb4dg8pxE","U9oB9E1iKzGb","fXv8K5Vc6Ex5","7hwBM1TfVDXD","QcoWzc13sC3N"].includes(publicId)}function isSecureEdgeCompatible(type){if(!type)return!1;let publicId=typeof type=="string"?type:type.publicId;return["RIDDtZTznZ2K"].includes(publicId)}function isSecureEdgeProCompatible(type){if(!type)return!1;let publicId=typeof type=="string"?type:type.publicId;return["jbDmUoYIAeKc","LAFPxk3MiH19"].includes(publicId)}function compareVersions(version1,version2){let v1parts=getVersionBits(version1),v2parts=getVersionBits(version2),v2,v1;for(let i=0;i<Math.max(v1parts.length,v2parts.length);++i){if(v1=v1parts[i]||0,v2=v2parts[i]||0,v2>v1)return 1;if(v1>v2)return-1}return 0}function getVersionBits(version2){version2=version2.replace(/(\d+)([^\d.]+)/,"$1.$2"),version2=version2.replace(/([^\d.]+)(\d+)/,"$1.$2");let parts=version2.split("."),rmap={rc:-1,pre:-2,beta:-3,b:-3,alpha:-4,a:-4},bits=[];for(let v of parts){let n2=parseInt(v,10);isNaN(n2)&&(n2=rmap[v]||-1),bits.push(n2)}return bits}var PlatformFeatureCheckerRef=(()=>{class PlatformFeatureCheckerRef2{constructor(){this._deferred$=new BehaviorSubject(new Set),this._subject$=new Subject}featureKey(feature44){return Array.isArray(feature44)?JSON.stringify(feature44):feature44}deferChecks(feature44){let key=this.featureKey(feature44);this._deferred$.next(new Set(this._deferred$.value).add(key)),this.listen(feature44).pipe(take(1)).subscribe(()=>{let deferred=new Set(this._deferred$.value);deferred.delete(key),this._deferred$.next(deferred)})}listen(feature44){let key=this.featureKey(feature44);return this._subject$.asObservable().pipe(filter(value=>value===key),map(()=>{}))}runChecks(feature44){this._subject$.next(this.featureKey(feature44))}whenStable(feature44){let key=this.featureKey(feature44);return this._deferred$.value.has(key)?this._deferred$.asObservable().pipe(filter(value=>!value.has(key)),take(1),map(()=>{})):of(void 0)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||PlatformFeatureCheckerRef2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:PlatformFeatureCheckerRef2,factory:PlatformFeatureCheckerRef2.\u0275fac,providedIn:"root"})}}return PlatformFeatureCheckerRef2})();var BaseAgentCompatibilityGuard=class{constructor(){this.checkerRef=inject(PlatformFeatureCheckerRef),this.store=inject(Store),this.results=new Map,this.subscriptions=new Map}checkAgentCompatibility(type,agentId,checkAgent,checkAgentTemplate){return this.ensureCompatibilityCheck(type,agentId,checkAgent,checkAgentTemplate),this.results.get(type)?.get(agentId)??!1}ensureCompatibilityCheck(type,agentId,checkAgent,checkAgentTemplate){let checkSubscriptions=this.getOrCreateMap(this.subscriptions,type);if(checkSubscriptions.has(agentId))return;let subscription=combineLatest([this.store.select(selectAll4).pipe(map(templateList=>templateList.some(template=>template.publicId===agentId))),this.store.select(selectAgentLikeEntity(agentId))]).pipe(map(([isAgentTemplate,agentLike])=>{if(!agentLike)return!1;if(isAgentTemplate)return checkAgentTemplate(agentLike);let agent=agentLike,userAgent=agent&&"lastSeenAgentUserAgent"in agent?agent.lastSeenAgentUserAgent:null;return checkAgent(agentLike,userAgent?.firmwareVersion)}),distinctUntilChanged()).subscribe(canUse=>{this.getOrCreateMap(this.results,type).set(agentId,canUse),this.checkerRef.runChecks(this.feature)});checkSubscriptions.set(agentId,subscription)}getOrCreateMap(map4,key){let value=map4.get(key);return value||(value=new Map,map4.set(key,value)),value}};var BacnetIpGuard=(()=>{class BacnetIpGuard2 extends BaseAgentCompatibilityGuard{constructor(){super(...arguments),this.feature=["device","bacnet-ip"]}canManage(state,{agentId}){return this.checkAgentCompatibility("manage",agentId,(agent,firmwareVersion)=>!firmwareVersion||!isSecureEdgeCompatible(agent.type)&&!isSecureEdgeProCompatible(agent.type)?!0:compareVersions("2026.05",firmwareVersion)>=0,()=>!0)}canManageDeviceId(state,{agentId}){return this.checkAgentCompatibility("manageDeviceId",agentId,(agent,firmwareVersion)=>firmwareVersion?firmwareVersion.startsWith("3.")&&compareVersions("3.29",firmwareVersion)>=0||compareVersions("2026.05",firmwareVersion)>=0:isIXrouter3Compatible(agent.type)||isSecureEdgeCompatible(agent.type)||isSecureEdgeProCompatible(agent.type),()=>!0)}static{this.\u0275fac=(()=>{let \u0275BacnetIpGuard_BaseFactory;return function(__ngFactoryType__){return(\u0275BacnetIpGuard_BaseFactory||(\u0275BacnetIpGuard_BaseFactory=\u0275\u0275getInheritedFactory(BacnetIpGuard2)))(__ngFactoryType__||BacnetIpGuard2)}})()}static{this.\u0275prov=\u0275\u0275defineInjectable({token:BacnetIpGuard2,factory:BacnetIpGuard2.\u0275fac,providedIn:"root"})}}return BacnetIpGuard2})();var BrandingGuard=(()=>{class BrandingGuard2{canManage(state){return isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(["MANAGE_BRANDING"],state)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||BrandingGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:BrandingGuard2,factory:BrandingGuard2.\u0275fac,providedIn:"root"})}}return BrandingGuard2})();var CardsGuard=(()=>{class CardsGuard2{canUse(state){return hasLegacyLicenceModel(state)||hasLicenceOfType("card-view",state)}canManage(state){return isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(["MANAGE_PAGE"],state,{excludeDeviceSpecific:!0})?this.canUse(state):!1}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||CardsGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:CardsGuard2,factory:CardsGuard2.\u0275fac,providedIn:"root"})}}return CardsGuard2})();var CloudFunctionDevelopmentGuard=(()=>{class CloudFunctionDevelopmentGuard2{canUse(state){return hasLicenceOfType("app-engine-level-2",state)}canManage(state){return hasLicenceOfType("app-engine-level-2",state)&&(isSupportUser(state)||isCompanyAdmin(state)||hasRoleWithPermissions(["DEVELOP_APP"],state))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||CloudFunctionDevelopmentGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:CloudFunctionDevelopmentGuard2,factory:CloudFunctionDevelopmentGuard2.\u0275fac,providedIn:"root"})}}return CloudFunctionDevelopmentGuard2})();var ConnectionMonitoringGuard=(()=>{class ConnectionMonitoringGuard2{canUse(state,params){return hasLegacyLicenceModel(state)||hasLicenceOfTypeAndScope("connection-monitoring","company",state)||!!params?.agentId&&(params.isAgentTemplate===!0?hasLicenceOfTypeAndScope("connection-monitoring","agent",state):hasLicenceOfTypeForAgent("connection-monitoring",params.agentId,state))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||ConnectionMonitoringGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:ConnectionMonitoringGuard2,factory:ConnectionMonitoringGuard2.\u0275fac,providedIn:"root"})}}return ConnectionMonitoringGuard2})();var ControlledDevicesGuard=(()=>{class ControlledDevicesGuard2{canUse(state){return hasLicenceOfType("controlled-devices",state)?isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(["COMPANY_WIDE_ROLE","MANAGE_AGENT"],state):!1}canCreate(state){return this.canUse(state)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||ControlledDevicesGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:ControlledDevicesGuard2,factory:ControlledDevicesGuard2.\u0275fac,providedIn:"root"})}}return ControlledDevicesGuard2})();var AgentService=(()=>{class AgentService2{constructor(){this.api=inject(IxApiService),this.http=inject(HttpClient)}addShellAgentList(body){let url=this.api.url("ShellAgentList"),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context3,headers};return this.http.post(url,body,options)}getAll(fields,filters){return whileMoreAfter(moreAfter=>this.getList(fields,filters,moreAfter))}getAllActive(fields){return this.getAll(fields,'eq(activeStatus,"active")')}getAllActiveAndInactive(fields){return forkJoin([this.getAll(fields,'eq(activeStatus,"active")'),this.getAll(fields.filter(field=>INACTIVE_AGENT_FIELDS.includes(field)),'eq(activeStatus,"inactive")')]).pipe(map(([active,inactive])=>({type:active.type,data:[...active.data,...inactive.data],moreAfter:null})))}getByPublicId(publicId,fields){let url=this.api.url("Agent",{publicId}),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,params=new HttpParams({fromObject:{fields:compactFields(fields)}}),options={context:context3,headers,params};return this.http.get(url,options)}getList(fields,filters,pageAfter,pageSize){let url=this.api.url("AgentList"),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,params=new HttpParams({fromObject:__spreadValues(__spreadValues({fields:fields.join(",")},filters?{filters}:{}),getPageParams(pageAfter,pageSize))}),options={context:context3,headers,params};return this.http.get(url,options)}getByPublicIdList(publicIdList,fields){let url=this.api.url("AgentList"),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,params=new HttpParams({fromObject:{fields:fields.join(","),filters:`in(publicId,"${publicIdList.join('","')}")`}}),options={context:context3,headers,params};return this.http.get(url,options)}removeByPublicId(publicId){let url=this.api.url("Agent",{publicId}),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context3,headers};return this.http.delete(url,options)}update(body){let url=this.api.url("AgentList"),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context3,headers};return this.http.patch(url,body,options)}updateByPublicId(publicId,body){let url=this.api.url("Agent",{publicId}),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context3,headers};return this.http.patch(url,body,options)}updateFromTemplate(publicId,body){let url=this.api.url("AgentFromTemplate",{publicId}),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context3,headers};return this.http.patch(url,body,options)}updateManyFromTemplate(body){let url=this.api.url("AgentListFromTemplate"),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context3,headers};return this.http.patch(url,body,options)}activateAgents(body){let url=this.api.url("AgentListActivate"),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context3,headers};return this.http.post(url,body,options)}reboot(publicId){let url=this.api.url("AgentReboot",{agentId:publicId}),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context3,headers};return this.http.post(url,null,options)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AgentService2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AgentService2,factory:AgentService2.\u0275fac,providedIn:"root"})}}return AgentService2})();var AgentEffects=(()=>{class AgentEffects2{constructor(){this.actions$=inject(Actions),this.store=inject(Store),this.snackBar=inject(MatSnackBar),this.service=inject(AgentService),this.activate$=createEffect(()=>this.actions$.pipe(ofType(activate),mergeMap(({data})=>this.service.activateAgents(data).pipe(map(()=>activateSuccess({data})),catchError(errorResponse=>of(activateFailure({errors:errorResponse.error?.data??[]}))))))),this.addShellAgentList$=createEffect(()=>this.actions$.pipe(ofType(addShellAgentList),mergeMap(({data})=>this.service.addShellAgentList(data).pipe(map(response=>addShellAgentListSuccess({data:response.data.map(shellAgent=>({publicId:shellAgent.publicId}))})),catchError(errorResponse=>of(addShellAgentListFailure({errors:errorResponse.error?.data??[]}))))))),this.ensureAll$=createEffect(()=>this.actions$.pipe(ofType(ensureAll2),mergeMap(({fields})=>combineLatest([this.store.select(selectAllLoadingFields),this.store.select(selectAllLoadedFields)]).pipe(take(1),mergeMap(([loadingFields,loadedFields])=>fields.every(field=>loadingFields.includes(field)||loadedFields.includes(field))?EMPTY:of(loadAll({fields}))))))),this.ensureAllActive$=createEffect(()=>this.actions$.pipe(ofType(ensureAllActive),mergeMap(({fields})=>combineLatest([this.store.select(selectAllActiveLoadingFields),this.store.select(selectAllActiveLoadedFields)]).pipe(take(1),mergeMap(([loadingFields,loadedFields])=>fields.every(field=>loadingFields.includes(field)||loadedFields.includes(field))?EMPTY:of(loadAllActive({fields}))))))),this.loadOne$=createEffect(()=>this.actions$.pipe(ofType(loadOne),mergeMap(({publicId,fields})=>this.service.getByPublicId(publicId,fields).pipe(map(({data})=>loadOneSuccess({data,fields,publicId})),catchError(errorResponse=>of(loadOneFailure({errors:errorResponse.error?.data??[],publicId}))))))),this.loadAll$=createEffect(()=>this.actions$.pipe(ofType(loadAll),omitLoadedFields({memberships:this.store.select(selectAllLoaded2)}),mergeMap(({fields,originalFields})=>this.service.getAllActiveAndInactive(fields).pipe(map(({data})=>loadAllSuccess2({data,fields:originalFields})),catchError(errorResponse=>of(loadAllFailure({errors:errorResponse.error?.data??[]}))))))),this.loadAllActive$=createEffect(()=>this.actions$.pipe(ofType(loadAllActive),omitLoadedFields({memberships:this.store.select(selectAllLoaded2)}),switchMap(({fields,originalFields})=>this.service.getAllActive(fields).pipe(map(({data})=>loadAllActiveSuccess({data,fields:originalFields})),catchError(errorResponse=>of(loadAllActiveFailure({errors:errorResponse.error?.data??[]}))))))),this.remove$=createEffect(()=>this.actions$.pipe(ofType(remove2),mergeMap(({publicId})=>this.service.removeByPublicId(publicId).pipe(map(()=>removeSuccess2({publicId})),catchError(errorResponse=>of(removeFailure2({errors:errorResponse.error?.data??[]}))))))),this.update$=createEffect(()=>this.actions$.pipe(ofType(update2),mergeMap(({publicId,data})=>this.service.updateByPublicId(publicId,data).pipe(map(()=>updateSuccess2({data:__spreadProps(__spreadValues({},data),{publicId}),publicId})),catchError(errorResponse=>of(updateFailure2({errors:errorResponse.error?.data??[]}))))))),this.updateMany$=createEffect(()=>this.actions$.pipe(ofType(updateMany2),mergeMap(({data})=>this.service.update(data).pipe(map(()=>updateManySuccess2({data})),catchError(errorResponse=>of(updateManyFailure2({errors:errorResponse.error?.data??[]}))))))),this.updateFromTemplate$=createEffect(()=>this.actions$.pipe(ofType(updateFromTemplate),mergeMap(({publicId,data})=>this.service.updateFromTemplate(publicId,data).pipe(map(()=>updateFromTemplateSuccess({publicId})),catchError(errorResponse=>of(updateFromTemplateFailure({errors:errorResponse.error?.data??[]}))))))),this.updateFromTemplateFailure$=createEffect(()=>this.actions$.pipe(ofType(updateFromTemplateFailure),tap(({errors:errors2})=>{errors2[0].message&&this.snackBar.open(errors2[0].message,void 0,{duration:3e3})})),{dispatch:!1}),this.updateManyFromTemplate$=createEffect(()=>this.actions$.pipe(ofType(updateManyFromTemplate),mergeMap(({data})=>this.service.updateManyFromTemplate(data).pipe(map(()=>updateManyFromTemplateSuccess({data})),catchError(errorResponse=>of(updateManyFromTemplateFailure({errors:errorResponse.error?.data??[]}))))))),this.updateManyFromTemplateFailure$=createEffect(()=>this.actions$.pipe(ofType(updateManyFromTemplateFailure),tap(({errors:errors2})=>{errors2[0].message&&this.snackBar.open(errors2[0].message,void 0,{duration:3e3})})),{dispatch:!1})}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AgentEffects2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AgentEffects2,factory:AgentEffects2.\u0275fac,providedIn:"root"})}}return AgentEffects2})();var AgentModule=(()=>{class AgentModule2{static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AgentModule2)}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:AgentModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({providers:[provideHttpClient(withFetch(),withInterceptorsFromDi())],imports:[MatSnackBarModule,IxApiModule,StoreModule.forFeature(feature),EffectsModule.forFeature([AgentEffects])]})}}return AgentModule2})();var FEATURE_NAME24="ssoIdentityProvider",SUBRESOURCE_PATH_TO_FEATURE_NAME10=new Map([["companies[]","company"]]),SUBRESOURCE_PATHS10=[...SUBRESOURCE_PATH_TO_FEATURE_NAME10.keys()];var adapter22=createResourceAdapter({sortComparer:sortByNameAndPublicIdComparer,subresourcePaths:SUBRESOURCE_PATHS}),initialState24=adapter22.getInitialState(),reducer20=createReducer(initialState24,on(reset35,()=>__spreadValues({},initialState24)),on(loadAll23,state=>__spreadProps(__spreadValues({},state),{allLoading:!0})),on(loadAllFailure23,state=>__spreadProps(__spreadValues({},state),{allLoading:!1})),on(loadAllSuccess24,(state,{data})=>adapter22.upsertMany(data,__spreadProps(__spreadValues({},state),{allLoading:!1,allLoaded:!0})))),feature20=createFeature({name:FEATURE_NAME24,reducer:reducer20});var selectAll22=createSelector(feature20.selectSsoIdentityProviderState,adapter22.getSelectors().selectAll);var{selectAllLoading:selectAllLoading16,selectAllLoaded:selectAllLoaded16,selectEntities:selectEntities21}=feature20;var FEATURE_NAME25="brandingSystem";var setCompanyBranding=createAction("[Branding] Set Company Branding",props()),setHostBranding=createAction("[Branding] Set Host Branding",props()),setSectorBranding=createAction("[Branding] Set Sector Branding",props()),removeCompanyBranding=createAction("[Branding] Remove Company Branding");var initialState25={active:"sector",company:null,host:null,sector:null,hostLoaded:!1,sectorLoaded:!1},reducer21=createReducer(initialState25,on(setCompanyBranding,(state,{branding})=>__spreadProps(__spreadValues({},state),{active:"company",company:branding})),on(setHostBranding,(state,{branding})=>__spreadProps(__spreadValues({},state),{active:"host",host:branding,hostLoaded:!0})),on(setSectorBranding,(state,{branding})=>__spreadProps(__spreadValues({},state),{active:state.host?"host":"sector",sector:branding,sectorLoaded:!0})),on(removeCompanyBranding,state=>__spreadProps(__spreadValues({},state),{active:state.host?"host":"sector",company:null})),on(loadHostFailure,state=>__spreadProps(__spreadValues({},state),{hostLoaded:!0})),on(loadMeFailure2,state=>__spreadProps(__spreadValues({},state),{sectorLoaded:!0}))),feature21=createFeature({name:FEATURE_NAME25,reducer:reducer21});var selectSectorAndHostLoaded=createSelector(feature21.selectBrandingSystemState,state=>state.sectorLoaded&&state.hostLoaded),selectActiveBranding=createSelector(feature21.selectBrandingSystemState,state=>state[state.active]),selectActiveBrandingType=feature21.selectActive,selectActiveFqdn=createSelector(feature21.selectBrandingSystemState,state=>state.host?.fqdn||state.sector?.fqdn),selectSiteTitle=createSelector(feature21.selectBrandingSystemState,state=>state.company?.custom?.glbBrowserTitle||state.host?.custom?.glbBrowserTitle||state.sector?.custom?.glbBrowserTitle);var CustomAuthenticationGuard=(()=>{class CustomAuthenticationGuard2{constructor(store,checkerRef){this.canUseCustomAuthentication=!1,this.canManageCustomAuthentication=!1,combineLatest([store.select(selectAll22),store.select(selectActiveBrandingType)]).subscribe(([providers,brandingType])=>{this.canUseCustomAuthentication=brandingType==="host"&&providers.length>0,this.canManageCustomAuthentication=brandingType=="company"&&!!providers?.some(provider=>!!provider?.companies?.length),checkerRef.runChecks("custom-authentication")})}canUse(){return this.canUseCustomAuthentication}canManage(){return this.canManageCustomAuthentication}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||CustomAuthenticationGuard2)(\u0275\u0275inject(Store),\u0275\u0275inject(PlatformFeatureCheckerRef))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:CustomAuthenticationGuard2,factory:CustomAuthenticationGuard2.\u0275fac,providedIn:"root"})}}return CustomAuthenticationGuard2})();var CustomBrandingGuard=(()=>{class CustomBrandingGuard2{canManage(state){return hasLegacyLicenceModel(state)||hasLicenceOfType("custom-branding",state)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||CustomBrandingGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:CustomBrandingGuard2,factory:CustomBrandingGuard2.\u0275fac,providedIn:"root"})}}return CustomBrandingGuard2})();var CustomDomainGuard=(()=>{class CustomDomainGuard2{canManage(state){return hasLegacyLicenceModel(state)||hasLicenceOfType("custom-domain",state)}canUse(state){return hasLicenceOfType("custom-domain",state)}canEdit(state){return hasLicenceOfType("custom-domain",state)&&state.company?.premiumLicenceStatus!=="pending"}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||CustomDomainGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:CustomDomainGuard2,factory:CustomDomainGuard2.\u0275fac,providedIn:"root"})}}return CustomDomainGuard2})();var CustomFieldsGuard=(()=>{class CustomFieldsGuard2{canManage(state){return isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(["MANAGE_COMPANY"],state)?this.canUse(state):!1}canUse(state){return hasLegacyLicenceModel(state)?!0:hasLicenceOfType("custom-fields",state)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||CustomFieldsGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:CustomFieldsGuard2,factory:CustomFieldsGuard2.\u0275fac,providedIn:"root"})}}return CustomFieldsGuard2})();var CustomPrivacyStatementGuard=(()=>{class CustomPrivacyStatementGuard2{canManage(state){return hasLegacyLicenceModel(state)||hasLicenceOfType("custom-legal-legacy",state)?!!state.sector?.allowCustomPrivacyStatement&&(isCompanyAdmin(state)||isSupportUser(state)):!1}canAuthor(state){return this.canManage(state)&&hasLicenceOfType("custom-legal",state)}canEdit(state){return this.canManage(state)&&hasLicenceOfType("custom-legal-legacy",state)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||CustomPrivacyStatementGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:CustomPrivacyStatementGuard2,factory:CustomPrivacyStatementGuard2.\u0275fac,providedIn:"root"})}}return CustomPrivacyStatementGuard2})();var CustomTermsOfUseGuard=(()=>{class CustomTermsOfUseGuard2{canManage(state){return hasLegacyLicenceModel(state)||hasLicenceOfType("custom-legal-legacy",state)?!!state.sector?.allowCustomTermsOfUse&&(isCompanyAdmin(state)||isSupportUser(state)):!1}canAuthor(state){return this.canManage(state)&&hasLicenceOfType("custom-legal",state)}canEdit(state){return this.canManage(state)&&hasLicenceOfType("custom-legal-legacy",state)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||CustomTermsOfUseGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:CustomTermsOfUseGuard2,factory:CustomTermsOfUseGuard2.\u0275fac,providedIn:"root"})}}return CustomTermsOfUseGuard2})();var DataUsageGuard=(()=>{class DataUsageGuard2{canUse(state){return isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(["MANAGE_COMPANY"],state)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||DataUsageGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:DataUsageGuard2,factory:DataUsageGuard2.\u0275fac,providedIn:"root"})}}return DataUsageGuard2})();function isVariableValidJsonString(variable){try{JSON.parse(variable)}catch(e){return!1}return!0}var DeviceListViewGuard=(()=>{class DeviceListViewGuard2{canUse(state){let glbPrtDeviceViewSettings=state.company?.custom?.glbPrtDeviceViewSettings;return glbPrtDeviceViewSettings&&isVariableValidJsonString(glbPrtDeviceViewSettings)?!JSON.parse(glbPrtDeviceViewSettings)?.hideList:!0}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||DeviceListViewGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:DeviceListViewGuard2,factory:DeviceListViewGuard2.\u0275fac,providedIn:"root"})}}return DeviceListViewGuard2})();var DevicePagesGuard=(()=>{class DevicePagesGuard2{canManage(state,params){if(isCompanyAdmin(state)||isSupportUser(state))return!0;if(params?.companyWide)return hasRoleWithPermissions(["COMPANY_WIDE_ROLE","MANAGE_PAGE"],state);if(params?.page){if(hasRoleWithPermissions(["COMPANY_WIDE_ROLE","MANAGE_PAGE"],state))return!0;let groupsGivingPermissionIds=state.rbac.groupsWithManagePage,page=params.page;return groupsGivingPermissionIds?!!(page.group&&this.canManage(state)&&groupsGivingPermissionIds.includes(page.group.publicId)):!1}return hasRoleWithPermissions(["MANAGE_PAGE"],state,{excludeDeviceSpecific:!0})}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||DevicePagesGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:DevicePagesGuard2,factory:DevicePagesGuard2.\u0275fac,providedIn:"root"})}}return DevicePagesGuard2})();var EdgeAppDevelopmentGuard=(()=>{class EdgeAppDevelopmentGuard2{canManage(state){return hasLicenceOfType("edge-app-management",state)&&(isSupportUser(state)||isCompanyAdmin(state)||hasRoleWithPermissions(["DEVELOP_APP"],state))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||EdgeAppDevelopmentGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:EdgeAppDevelopmentGuard2,factory:EdgeAppDevelopmentGuard2.\u0275fac,providedIn:"root"})}}return EdgeAppDevelopmentGuard2})();var EdgeAppsGuard=(()=>{class EdgeAppsGuard2{canUse(state){return hasLicenceOfType("edge-app-management",state)}canManage(state){return(isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(["MANAGE_APP"],state))&&hasLicenceOfType("edge-app-management",state)}canManageOnDevice(state,params){if(!hasLicenceOfType("edge-app-management",state)||params.agent&&!isSecureEdgeProCompatible(params.agent.type?.publicId))return!1;if(isCompanyAdmin(state)||isSupportUser(state))return!0;if(params.agent.assets?.length){let publicId=params.agent.assets[0].publicId,asset={publicId,agent:{publicId:params.agent.publicId},memberships:state.assetMemberships.filter(m=>m.asset?.publicId===publicId)};return hasPermissionForAgentOrAsset(state.rbac.groupsWithManageEdgeApp,state.groupState.entities,asset)}return hasPermissionForAgentOrAsset(state.rbac.groupsWithManageEdgeApp,state.groupState.entities,params.agent)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||EdgeAppsGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:EdgeAppsGuard2,factory:EdgeAppsGuard2.\u0275fac,providedIn:"root"})}}return EdgeAppsGuard2})();var GroupTypesGuard=(()=>{class GroupTypesGuard2{canManage(state){return isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(["MANAGE_GROUP","COMPANY_WIDE_ROLE"],state)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||GroupTypesGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:GroupTypesGuard2,factory:GroupTypesGuard2.\u0275fac,providedIn:"root"})}}return GroupTypesGuard2})();var HelpCenterGuard=(()=>{class HelpCenterGuard2{constructor(){this.appConfig=inject(APP_CONFIG)}canUse(state){return this.appConfig.userpilot?.resourceCenterContentId?isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(["COMPANY_WIDE_ROLE"],state):!1}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||HelpCenterGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:HelpCenterGuard2,factory:HelpCenterGuard2.\u0275fac,providedIn:"root"})}}return HelpCenterGuard2})();var HistoricalDataGuard=(()=>{class HistoricalDataGuard2{constructor(){this.appName=inject(APP_NAME)}canUse(state,params){return this.appName==="Fleet Manager"?hasLegacyLicenceModel(state)||hasLicenceOfTypeAndScope("logging","company",state)?!0:!!params?.agentId&&(params.isAgentTemplate===!1?hasLicenceOfTypeForAgent("logging",params.agentId,state):hasLicenceOfTypeAndScope("logging","agent",state)):hasLicenceOfTypeAndScope("logging","company",state)||!!params?.agentId&&hasLicenceOfTypeForAgent("logging",params.agentId,state)}canInput(state){return hasLegacyLicenceModel(state)||hasLicenceOfType("logging",state)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||HistoricalDataGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:HistoricalDataGuard2,factory:HistoricalDataGuard2.\u0275fac,providedIn:"root"})}}return HistoricalDataGuard2})();var LandingPageGuard=(()=>{class LandingPageGuard2{canUse(state){return hasLicenceOfType("landing-page",state)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||LandingPageGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:LandingPageGuard2,factory:LandingPageGuard2.\u0275fac,providedIn:"root"})}}return LandingPageGuard2})();var LicencesGuard=(()=>{class LicencesGuard2{canManage(state){return isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(["MANAGE_LICENCE"],state)}canActivate(state){return hasLegacyLicenceModel(state)||state.sector?.publicId==="wYWd69AiJakk"}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||LicencesGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:LicencesGuard2,factory:LicencesGuard2.\u0275fac,providedIn:"root"})}}return LicencesGuard2})();var LimitedAccessGuard=(()=>{class LimitedAccessGuard2 extends BaseAgentCompatibilityGuard{constructor(){super(...arguments),this.feature=["device","limited-access"]}canSupportSourceIpCidr(state,{agentId}){return this.checkAgentCompatibility("supportSourceIpCidr",agentId,(agent,firmwareVersion)=>firmwareVersion?compareVersions("2026.05",firmwareVersion)>=0:isSecureEdgeCompatible(agent.type)||isSecureEdgeProCompatible(agent.type),template=>isSecureEdgeCompatible(template.type)||isSecureEdgeProCompatible(template.type))}canSupportDestinationIp(state,{agentId}){return this.checkAgentCompatibility("supportDestinationIp",agentId,(agent,firmwareVersion)=>firmwareVersion?firmwareVersion.startsWith("3.")&&compareVersions("3.28",firmwareVersion)>=0||compareVersions("2026.05",firmwareVersion)>=0:isIXrouter3Compatible(agent.type)||isSecureEdgeCompatible(agent.type)||isSecureEdgeProCompatible(agent.type),template=>isIXrouter3Compatible(template.type)||isSecureEdgeCompatible(template.type)||isSecureEdgeProCompatible(template.type))}static{this.\u0275fac=(()=>{let \u0275LimitedAccessGuard_BaseFactory;return function(__ngFactoryType__){return(\u0275LimitedAccessGuard_BaseFactory||(\u0275LimitedAccessGuard_BaseFactory=\u0275\u0275getInheritedFactory(LimitedAccessGuard2)))(__ngFactoryType__||LimitedAccessGuard2)}})()}static{this.\u0275prov=\u0275\u0275defineInjectable({token:LimitedAccessGuard2,factory:LimitedAccessGuard2.\u0275fac,providedIn:"root"})}}return LimitedAccessGuard2})();var LiveDataGuard=(()=>{class LiveDataGuard2{constructor(){this.appName=inject(APP_NAME)}canUse(state,params){return this.appName==="Fleet Manager"?hasLegacyLicenceModel(state)||hasLicenceOfTypeAndScope("live-data","company",state)?!0:!!params?.agentId&&(params.isAgentTemplate===!1?hasLicenceOfTypeForAgent("live-data",params.agentId,state):hasLicenceOfTypeAndScope("live-data","agent",state)):hasLegacyLicenceModel(state)&&hasLicenceOfTypeAndScope("alarming","agent",state)?!0:hasLicenceOfTypeAndScope("live-data","company",state)||!!params?.agentId&&hasLicenceOfTypeForAgent("live-data",params.agentId,state)}canInput(state){return hasLegacyLicenceModel(state)||hasLicenceOfType("live-data",state)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||LiveDataGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:LiveDataGuard2,factory:LiveDataGuard2.\u0275fac,providedIn:"root"})}}return LiveDataGuard2})();var MainPagesGuard=(()=>{class MainPagesGuard2{canUse(state){return hasLegacyLicenceModel(state)||hasLicenceOfType("main-pages",state)}canManage(state){return isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(["COMPANY_WIDE_ROLE","MANAGE_PAGE"],state)?this.canUse(state):!1}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||MainPagesGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:MainPagesGuard2,factory:MainPagesGuard2.\u0275fac,providedIn:"root"})}}return MainPagesGuard2})();var MobileAppGuard=(()=>{class MobileAppGuard2{canUse(state){return hasLegacyLicenceModel(state)||hasLicenceOfType("mobile-app",state)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||MobileAppGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:MobileAppGuard2,factory:MobileAppGuard2.\u0275fac,providedIn:"root"})}}return MobileAppGuard2})();var FEATURE_NAME26="mqttBroker",FIELDS2=buildFields(`
|
|
363
|
+
`,"2) content: () => element.cloneNode(true)"].join(" "));var instances=elements.reduce(function(acc,reference3){var instance=reference3&&createTippy(reference3,passedProps);return instance&&acc.push(instance),acc},[]);return isElement2(targets)?instances[0]:instances}tippy.defaultProps=defaultProps;tippy.setDefaultProps=setDefaultProps;tippy.currentInput=currentInput;var applyStylesModifier=Object.assign({},applyStyles_default,{effect:function(_ref){var state=_ref.state,initialStyles={popper:{position:state.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(state.elements.popper.style,initialStyles.popper),state.styles=initialStyles,state.elements.arrow&&Object.assign(state.elements.arrow.style,initialStyles.arrow)}});tippy.setDefaultProps({render:render3});var tippy_esm_default=tippy;function mapOptionsToTippyProps(options,gtSm){let config4={animation:"scale-subtle",arrow:!1,content:options.message,delay:[null,null],hideOnClick:!gtSm,ignoreAttributes:!0,placement:"bottom",trigger:"mouseenter",onCreate:instance=>{instance.popper.classList.add("ix-tippy-root")}};return options.position&&(config4.placement=options.position),options.showDelay&&config4.delay&&(config4.delay[0]=options.showDelay),options.hideDelay&&config4.delay&&(config4.delay[1]=options.hideDelay),config4}var TooltipService=(()=>{class TooltipService2{constructor(window2,breakpointObserver){this.breakpointObserver=breakpointObserver,this.destroy=inject(DestroyRef),this.gtSm=window2.innerWidth>=960,this.breakpointObserver.observe("(min-width: 960px)").pipe(takeUntilDestroyed(this.destroy)).subscribe(state=>{this.gtSm=state.matches})}attach(target,options){return new Tooltip(tippy_esm_default(target,mapOptionsToTippyProps(options,this.gtSm)))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||TooltipService2)(\u0275\u0275inject(WINDOW),\u0275\u0275inject(BreakpointObserver))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:TooltipService2,factory:TooltipService2.\u0275fac,providedIn:"root"})}}return TooltipService2})();var FormatConstantCaseDirective=(()=>{class FormatConstantCaseDirective2{constructor(formControl){this.formControl=formControl,this.destroy=inject(DestroyRef)}ngOnInit(){this.formControl.control?.valueChanges.pipe(takeUntilDestroyed(this.destroy)).subscribe(value=>{let formattedValue=value?.toUpperCase().replace(/ /g,"_");this.formControl?.control&&formattedValue!==value&&this.formControl.control.patchValue(formattedValue,{emitEvent:!1})})}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||FormatConstantCaseDirective2)(\u0275\u0275directiveInject(NgControl))}}static{this.\u0275dir=\u0275\u0275defineDirective({type:FormatConstantCaseDirective2,selectors:[["","ixFormatConstantCase",""]]})}}return FormatConstantCaseDirective2})();var _forTrack03=($index,$item)=>$item.code;function TranslationFieldsetComponent_Conditional_5_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",2),\u0275\u0275text(1,"__MESSAGE__.REQUIRED"),\u0275\u0275elementEnd())}function TranslationFieldsetComponent_Conditional_6_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",2),\u0275\u0275text(1,"__MESSAGE__.INVALID_TRANSLATION_KEY"),\u0275\u0275elementEnd())}function TranslationFieldsetComponent_Conditional_7_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",2),\u0275\u0275text(1,"__MESSAGE__.TRANSLATION_KEY_ALREADY_IN_USE"),\u0275\u0275elementEnd())}function TranslationFieldsetComponent_For_9_Conditional_1_Conditional_4_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",2),\u0275\u0275text(1,"__MESSAGE__.REQUIRED"),\u0275\u0275elementEnd())}function TranslationFieldsetComponent_For_9_Conditional_1_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"mat-form-field",1)(1,"mat-label"),\u0275\u0275text(2),\u0275\u0275elementEnd(),\u0275\u0275element(3,"textarea",4),\u0275\u0275conditionalCreate(4,TranslationFieldsetComponent_For_9_Conditional_1_Conditional_4_Template,2,0,"mat-error",2),\u0275\u0275elementEnd()),rf&2){let languageControl_r1=ctx,language_r2=\u0275\u0275nextContext().$implicit;\u0275\u0275advance(2),\u0275\u0275textInterpolate(language_r2.native),\u0275\u0275advance(),\u0275\u0275property("formControl",languageControl_r1),\u0275\u0275advance(),\u0275\u0275conditional(languageControl_r1.hasError("required")?4:-1)}}function TranslationFieldsetComponent_For_9_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"div"),\u0275\u0275conditionalCreate(1,TranslationFieldsetComponent_For_9_Conditional_1_Template,5,3,"mat-form-field",1),\u0275\u0275elementEnd()),rf&2){let tmp_10_0,language_r2=ctx.$implicit,ctx_r2=\u0275\u0275nextContext();\u0275\u0275advance(),\u0275\u0275conditional((tmp_10_0=ctx_r2.form.controls.languages.controls[language_r2.code])?1:-1,tmp_10_0)}}var TranslationFieldsetComponent=(()=>{class TranslationFieldsetComponent2{static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||TranslationFieldsetComponent2)}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:TranslationFieldsetComponent2,selectors:[["ix-translation-fieldset"]],inputs:{form:"form",languages:"languages"},decls:10,vars:4,consts:[["fxLayout","column","fxLayoutGap","16px"],["floatLabel","always","fxFlex","","appearance","fill"],["translate",""],["matInput","","cdkFocusInitial","","data-lpignore","true","ixFormatConstantCase","",3,"formControl"],["matInput","","data-lpignore","true","cdkTextareaAutosize","true","cdkAutosizeMinRows","1","cdkAutosizeMaxRows","15",3,"formControl"]],template:function(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"div",0)(1,"mat-form-field",1)(2,"mat-label",2),\u0275\u0275text(3,"TRANSLATION_KEY"),\u0275\u0275elementEnd(),\u0275\u0275element(4,"input",3),\u0275\u0275conditionalCreate(5,TranslationFieldsetComponent_Conditional_5_Template,2,0,"mat-error",2),\u0275\u0275conditionalCreate(6,TranslationFieldsetComponent_Conditional_6_Template,2,0,"mat-error",2),\u0275\u0275conditionalCreate(7,TranslationFieldsetComponent_Conditional_7_Template,2,0,"mat-error",2),\u0275\u0275elementEnd(),\u0275\u0275repeaterCreate(8,TranslationFieldsetComponent_For_9_Template,2,1,"div",null,_forTrack03),\u0275\u0275elementEnd()),rf&2&&(\u0275\u0275advance(4),\u0275\u0275property("formControl",ctx.form.controls.key),\u0275\u0275advance(),\u0275\u0275conditional(ctx.form.controls.key.hasError("required")?5:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx.form.controls.key.hasError("pattern")?6:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx.form.controls.key.hasError("keyInUse")?7:-1),\u0275\u0275advance(),\u0275\u0275repeater(ctx.languages))},dependencies:[A11yModule,FlexModule,DefaultLayoutDirective,DefaultLayoutGapDirective,DefaultFlexDirective,FormatConstantCaseDirective,MatFormFieldModule,MatFormField,MatLabel,MatError,MatInputModule,MatInput,CdkTextareaAutosize,ReactiveFormsModule,DefaultValueAccessor,NgControlStatus,FormControlDirective,TranslateModule,TranslateDirective],encapsulation:2,changeDetection:0})}}return TranslationFieldsetComponent2})();function translationKeyInUseValidator(control){return this.data.usedTranslationKeys?.includes(control.value)?{keyInUse:!0}:null}var AddTranslationDialogComponent=(()=>{class AddTranslationDialogComponent2{constructor(){this.dialogRef=inject(MatDialogRef),this.fb=inject(FormBuilder),this.data=inject(MAT_DIALOG_DATA),this.form=this.fb.nonNullable.group({key:["",[Validators.pattern(/^[A-Z0-9_?.!]+$/),Validators.required,translationKeyInUseValidator.bind(this)]],languages:this.fb.nonNullable.group(this.data.languages.reduce((controls,language)=>__spreadProps(__spreadValues({},controls),{[language.code]:["",language.code==="en"?[Validators.required]:[]]}),{}))})}submit(){this.dialogRef.close(__spreadProps(__spreadValues({},this.form.value),{languages:omitBy_default(this.form.value.languages,isEmpty_default)}))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AddTranslationDialogComponent2)}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:AddTranslationDialogComponent2,selectors:[["ix-add-translation-dialog"]],decls:13,vars:4,consts:[["autocomplete","off",3,"ngSubmit","formGroup"],["mat-dialog-title","","translate",""],[3,"form","languages"],["fxFlex",""],["mat-button","","mat-dialog-close",""],["translate",""],["type","submit","mat-button","","color","primary",3,"disabled"]],template:function(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"form",0),\u0275\u0275listener("ngSubmit",function(){return ctx.submit()}),\u0275\u0275elementStart(1,"h1",1),\u0275\u0275text(2,"ADD_NEW_TRANSLATION"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(3,"mat-dialog-content"),\u0275\u0275element(4,"ix-translation-fieldset",2),\u0275\u0275elementEnd(),\u0275\u0275elementStart(5,"mat-dialog-actions"),\u0275\u0275element(6,"span",3),\u0275\u0275elementStart(7,"button",4)(8,"span",5),\u0275\u0275text(9,"CANCEL"),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(10,"button",6)(11,"span",5),\u0275\u0275text(12,"ADD"),\u0275\u0275elementEnd()()()()),rf&2&&(\u0275\u0275property("formGroup",ctx.form),\u0275\u0275advance(4),\u0275\u0275property("form",ctx.form)("languages",ctx.data.languages),\u0275\u0275advance(6),\u0275\u0275property("disabled",ctx.form.pristine||ctx.form.invalid))},dependencies:[ReactiveFormsModule,\u0275NgNoValidate,NgControlStatusGroup,FormGroupDirective,MatButtonModule,MatButton,MatDialogModule,MatDialogClose,MatDialogTitle,MatDialogActions,MatDialogContent,FlexModule,DefaultFlexDirective,TranslateModule,TranslateDirective,TranslationFieldsetComponent],styles:["[_nghost-%COMP%]{width:100dvw;height:100dvh;display:flex;flex-direction:column;flex:1}@media(min-width:960px){[_nghost-%COMP%]{height:auto;width:auto;min-width:528px;max-width:528px}}[_nghost-%COMP%] .ix-dialog__header[_ngcontent-%COMP%]{padding:calc(env(safe-area-inset-top,0) + 16px) 24px 16px}[_nghost-%COMP%] .ix-dialog__header[_ngcontent-%COMP%] .mat-toolbar[_ngcontent-%COMP%]{height:48px;padding-left:0;padding-right:0}[_nghost-%COMP%] .ix-dialog__header[_ngcontent-%COMP%] .mat-toolbar[_ngcontent-%COMP%] .mdc-dialog__title[_ngcontent-%COMP%]{--mat-dialog-headline-padding: 0;color:inherit}[_nghost-%COMP%] .ix-dialog__header[_ngcontent-%COMP%] .mat-toolbar[_ngcontent-%COMP%] .mdc-dialog__title[_ngcontent-%COMP%]:before{display:none}[_nghost-%COMP%] .ix-dialog__header[_ngcontent-%COMP%] + .ix-dialog__content[_ngcontent-%COMP%], [_nghost-%COMP%] .ix-dialog__header[_ngcontent-%COMP%] + .mdc-dialog__content[_ngcontent-%COMP%]{padding-top:0}[_nghost-%COMP%] .mdc-dialog__title[_ngcontent-%COMP%]:before{height:calc(env(safe-area-inset-top,0) + 40px)}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%]{padding:20px 24px}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%], [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%]{flex-direction:column;box-sizing:border-box;display:flex;place-content:stretch flex-start;align-items:stretch;flex:1 1 auto;max-height:none;overflow:auto;-webkit-overflow-scrolling:touch}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%] > .ix-list[_ngcontent-%COMP%], [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%] > .ix-list[_ngcontent-%COMP%]{margin-left:-24px;margin-right:-24px}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%] > .mat-mdc-subheader[_ngcontent-%COMP%], [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%] > .mat-mdc-subheader[_ngcontent-%COMP%]{margin-left:0;margin-right:0}@media(min-width:960px){[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%], [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%]{max-height:calc(90dvh - 140px)}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%]:has(+.mdc-dialog__actions), [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%]:has(+.mdc-dialog__actions){padding-bottom:0}}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%] .mat-stepper-vertical[_ngcontent-%COMP%], [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%] .mat-stepper-vertical[_ngcontent-%COMP%]{--mat-stepper-header-height: 56px;margin-left:-16px;margin-right:-16px}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%] .mat-stepper-vertical[_ngcontent-%COMP%] .mat-vertical-content-container.mat-vertical-content-container-active, [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%] .mat-stepper-vertical[_ngcontent-%COMP%] .mat-vertical-content-container.mat-vertical-content-container-active{padding-top:16px}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%] .mat-stepper-vertical[_ngcontent-%COMP%] mat-step-header:focus, [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%] .mat-stepper-vertical[_ngcontent-%COMP%] mat-step-header:focus{background-color:transparent}@media(max-width:959.9px){[_nghost-%COMP%] .mdc-dialog__actions[_ngcontent-%COMP%]{border-top:1px solid rgba(0,0,0,.12);padding-bottom:calc(16px + env(safe-area-inset-bottom,0))}}[_nghost-%COMP%] form[_ngcontent-%COMP%]{flex-direction:column;box-sizing:border-box;display:flex;flex:1 1 auto;height:inherit}[_nghost-%COMP%] form[_ngcontent-%COMP%] .mat-mdc-form-field[_ngcontent-%COMP%]{margin-bottom:1rem}"],changeDetection:0})}}return AddTranslationDialogComponent2})();var EditTranslationDialogComponent=(()=>{class EditTranslationDialogComponent2{constructor(){this.fb=inject(FormBuilder),this.dialogRef=inject(MatDialogRef),this.data=inject(MAT_DIALOG_DATA),this.form=this.fb.nonNullable.group({key:[{value:this.data.translation.key??"",disabled:!0},[Validators.required]],languages:this.fb.nonNullable.group(this.data.languages.reduce((controls,language)=>__spreadProps(__spreadValues({},controls),{[language.code]:[this.data.translation.languages?.[language.code]||"",language.code==="en"?[Validators.required]:[]]}),{}))})}submit(){this.dialogRef.close(__spreadProps(__spreadValues({},this.data.translation),{languages:omitBy_default(this.form.controls.languages.value,isEmpty_default)}))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||EditTranslationDialogComponent2)}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:EditTranslationDialogComponent2,selectors:[["ix-edit-translation-dialog"]],decls:13,vars:4,consts:[["autocomplete","off",3,"ngSubmit","formGroup"],["mat-dialog-title","","translate",""],[3,"form","languages"],["fxFlex",""],["mat-button","","mat-dialog-close",""],["translate",""],["type","submit","mat-button","","color","primary",3,"disabled"]],template:function(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"form",0),\u0275\u0275listener("ngSubmit",function(){return ctx.submit()}),\u0275\u0275elementStart(1,"h1",1),\u0275\u0275text(2,"EDIT_TRANSLATION"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(3,"mat-dialog-content"),\u0275\u0275element(4,"ix-translation-fieldset",2),\u0275\u0275elementEnd(),\u0275\u0275elementStart(5,"mat-dialog-actions"),\u0275\u0275element(6,"span",3),\u0275\u0275elementStart(7,"button",4)(8,"span",5),\u0275\u0275text(9,"CANCEL"),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(10,"button",6)(11,"span",5),\u0275\u0275text(12,"SAVE"),\u0275\u0275elementEnd()()()()),rf&2&&(\u0275\u0275property("formGroup",ctx.form),\u0275\u0275advance(4),\u0275\u0275property("form",ctx.form)("languages",ctx.data.languages),\u0275\u0275advance(6),\u0275\u0275property("disabled",ctx.form.pristine||ctx.form.invalid))},dependencies:[ReactiveFormsModule,\u0275NgNoValidate,NgControlStatusGroup,FormGroupDirective,MatButtonModule,MatButton,MatDialogModule,MatDialogClose,MatDialogTitle,MatDialogActions,MatDialogContent,FlexModule,DefaultFlexDirective,TranslateModule,TranslateDirective,TranslationFieldsetComponent],styles:["[_nghost-%COMP%]{width:100dvw;height:100dvh;display:flex;flex-direction:column;flex:1}@media(min-width:960px){[_nghost-%COMP%]{height:auto;width:auto;min-width:528px;max-width:528px}}[_nghost-%COMP%] .ix-dialog__header[_ngcontent-%COMP%]{padding:calc(env(safe-area-inset-top,0) + 16px) 24px 16px}[_nghost-%COMP%] .ix-dialog__header[_ngcontent-%COMP%] .mat-toolbar[_ngcontent-%COMP%]{height:48px;padding-left:0;padding-right:0}[_nghost-%COMP%] .ix-dialog__header[_ngcontent-%COMP%] .mat-toolbar[_ngcontent-%COMP%] .mdc-dialog__title[_ngcontent-%COMP%]{--mat-dialog-headline-padding: 0;color:inherit}[_nghost-%COMP%] .ix-dialog__header[_ngcontent-%COMP%] .mat-toolbar[_ngcontent-%COMP%] .mdc-dialog__title[_ngcontent-%COMP%]:before{display:none}[_nghost-%COMP%] .ix-dialog__header[_ngcontent-%COMP%] + .ix-dialog__content[_ngcontent-%COMP%], [_nghost-%COMP%] .ix-dialog__header[_ngcontent-%COMP%] + .mdc-dialog__content[_ngcontent-%COMP%]{padding-top:0}[_nghost-%COMP%] .mdc-dialog__title[_ngcontent-%COMP%]:before{height:calc(env(safe-area-inset-top,0) + 40px)}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%]{padding:20px 24px}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%], [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%]{flex-direction:column;box-sizing:border-box;display:flex;place-content:stretch flex-start;align-items:stretch;flex:1 1 auto;max-height:none;overflow:auto;-webkit-overflow-scrolling:touch}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%] > .ix-list[_ngcontent-%COMP%], [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%] > .ix-list[_ngcontent-%COMP%]{margin-left:-24px;margin-right:-24px}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%] > .mat-mdc-subheader[_ngcontent-%COMP%], [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%] > .mat-mdc-subheader[_ngcontent-%COMP%]{margin-left:0;margin-right:0}@media(min-width:960px){[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%], [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%]{max-height:calc(90dvh - 140px)}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%]:has(+.mdc-dialog__actions), [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%]:has(+.mdc-dialog__actions){padding-bottom:0}}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%] .mat-stepper-vertical[_ngcontent-%COMP%], [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%] .mat-stepper-vertical[_ngcontent-%COMP%]{--mat-stepper-header-height: 56px;margin-left:-16px;margin-right:-16px}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%] .mat-stepper-vertical[_ngcontent-%COMP%] .mat-vertical-content-container.mat-vertical-content-container-active, [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%] .mat-stepper-vertical[_ngcontent-%COMP%] .mat-vertical-content-container.mat-vertical-content-container-active{padding-top:16px}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%] .mat-stepper-vertical[_ngcontent-%COMP%] mat-step-header:focus, [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%] .mat-stepper-vertical[_ngcontent-%COMP%] mat-step-header:focus{background-color:transparent}@media(max-width:959.9px){[_nghost-%COMP%] .mdc-dialog__actions[_ngcontent-%COMP%]{border-top:1px solid rgba(0,0,0,.12);padding-bottom:calc(16px + env(safe-area-inset-bottom,0))}}[_nghost-%COMP%] form[_ngcontent-%COMP%]{flex-direction:column;box-sizing:border-box;display:flex;flex:1 1 auto;height:inherit}[_nghost-%COMP%] form[_ngcontent-%COMP%] .mat-mdc-form-field[_ngcontent-%COMP%]{margin-bottom:1rem}"],changeDetection:0})}}return EditTranslationDialogComponent2})();function highlightText(value,query){return _parseText(value,query).map(escape_default).reduce((acc,curr,i)=>i%2===1?`${acc}<strong>${curr}</strong>`:`${acc}${curr}`,"")}function showHighLightedTextInContent(highlightedText,contentWidth){let index=highlightedText.indexOf("<strong>"),highlightedWidth=highlightedText.indexOf("</strong>")-(index+8);if(contentWidth.indexOf("ch")){let visibleCharacters=parseInt(contentWidth.replace("ch",""));if(index+highlightedWidth>visibleCharacters){if(highlightedWidth>=visibleCharacters)return"..."+highlightedText.substring(index);let indexOfSpace=highlightedText.indexOf(" ",index-(visibleCharacters-highlightedWidth)/2);return indexOfSpace<index&&indexOfSpace>-1?"..."+highlightedText.substring(indexOfSpace+1):"..."+highlightedText.substring(index)}}return highlightedText}function _escapeSpecialCharacters(text2){return text2?.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}function _parseText(value,query){let val=String(value);if(query&&query.trim()!==""){let regex=new RegExp(`(${_escapeSpecialCharacters(query)})`,"gi");if(regex.test(val))return val.split(regex);let deburredVal=deburr_default(val);if(deburredVal.length===val.length){let q=deburr_default(query).trim(),matches=deburredVal.match(new RegExp(`(${_escapeSpecialCharacters(q)})`,"gi"));if(matches?.length){let chars=val.split(""),firstMatch=matches[0],startIdx=deburredVal.indexOf(firstMatch),size=firstMatch.length;if(startIdx!==-1)return[chars.slice(0,startIdx).join(""),[...chars].splice(startIdx,size,...val.slice(startIdx,size).split("")).join(""),chars.slice(startIdx+size).join("")]}}}return[val]}var HighlightTextPipe=(()=>{class HighlightTextPipe2{constructor(){this.sanitizer=inject(DomSanitizer)}transform(value,query,contentWidth="auto"){let highlightedText=highlightText(value,query),result=contentWidth!=="auto"&&query?showHighLightedTextInContent(highlightedText,contentWidth):highlightedText;return this.sanitizer.sanitize(SecurityContext.HTML,result)??""}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||HighlightTextPipe2)}}static{this.\u0275pipe=\u0275\u0275definePipe({name:"highlightText",type:HighlightTextPipe2,pure:!0})}}return HighlightTextPipe2})();var LOADER_PATH=new InjectionToken("systems.translation.loader-path"),TranslationLoaderService=(()=>{class TranslationLoaderService2{constructor(loaderPath,http){this.loaderPath=loaderPath,this.http=http}getTranslation(lang){return this.http.get(`${this.loaderPath}${lang}.json`).pipe(catchError(()=>of({})))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||TranslationLoaderService2)(\u0275\u0275inject(LOADER_PATH),\u0275\u0275inject(HttpClient))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:TranslationLoaderService2,factory:TranslationLoaderService2.\u0275fac,providedIn:"root"})}}return TranslationLoaderService2})();var setLanguage=createAction("[Translation] Set Language",props());var LANG_STORAGE_KEY="lang",LANGUAGES=[{code:"de",name:"German",native:"Deutsch"},{code:"en",name:"English",native:"English"},{code:"es",name:"Spanish",native:"Espa\xF1ol"},{code:"fr",name:"French",native:"Fran\xE7ais"},{code:"it",name:"Italian",native:"Italiano"},{code:"nl",name:"Dutch",native:"Nederlands"},{code:"pl",name:"Polish",native:"Polski"}],LANGUAGES_ENGLISH_FIRST=[...LANGUAGES].sort((a,b)=>a.code==="en"?-1:b.code==="en"?1:0);var TranslationEffects=(()=>{class TranslationEffects3{constructor(actions$,storage,translate){this.actions$=actions$,this.storage=storage,this.translate=translate,this.setLanguage$=createEffect(()=>this.actions$.pipe(ofType(setLanguage),tap(({lang})=>this.translate.use(lang))),{dispatch:!1}),this.remember$=createEffect(()=>this.translate.onLangChange.pipe(tap(()=>this.storage.set(LANG_STORAGE_KEY,this.translate.currentLang))),{dispatch:!1}),this.userPreference$=createEffect(()=>this.actions$.pipe(ofType(logInSuccess,loadMeSuccess3,didUpdateMe2),map(({data})=>get_default(data,"language",get_default(data,"user.language",void 0))),filter(lang=>lang!==void 0),distinctUntilChanged(),map(lang=>setLanguage({lang}))))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||TranslationEffects3)(\u0275\u0275inject(Actions),\u0275\u0275inject(StorageService),\u0275\u0275inject(TranslateService))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:TranslationEffects3,factory:TranslationEffects3.\u0275fac})}}return TranslationEffects3})();function initializerFactory(location2,translate,storage){return()=>{let queryString=location2.path().split("?").pop(),queryParams=new URLSearchParams(queryString),queryLang=validate(queryParams.get("lang"));queryLang&&storage.set(LANG_STORAGE_KEY,queryLang);let defaultLang=validate(navigator.language)||"en";return translate.setDefaultLang("en"),translate.use(storage.get(LANG_STORAGE_KEY,defaultLang))};function validate(lang){if(lang){lang=lang.slice(0,2);let found=LANGUAGES.find(language=>language.code===lang);if(found)return found.code}return null}}function loaderFactory(capacitorPlatform){let isWeb=capacitorPlatform==="web",isSimulator=environment.appName==="Simulator";return environment.production&&environment.build!=="production"&&isWeb&&!isSimulator?`../i18n/${environment.build}/`:"../i18n/local/"}var TranslationRootModule=(()=>{class TranslationRootModule2{static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||TranslationRootModule2)}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:TranslationRootModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({providers:[{provide:APP_INITIALIZER,multi:!0,useFactory:initializerFactory,deps:[Location,TranslateService,StorageService]},{provide:LOADER_PATH,useFactory:loaderFactory,deps:[CAPACITOR_PLATFORM]}],imports:[SharedModule,EffectsModule.forFeature([TranslationEffects]),TranslateModule.forRoot({loader:{provide:TranslateLoader,useClass:TranslationLoaderService}})]})}}return TranslationRootModule2})(),TranslationModule=(()=>{class TranslationModule3{static forRoot(){return{ngModule:TranslationRootModule,providers:[]}}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||TranslationModule3)}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:TranslationModule3})}static{this.\u0275inj=\u0275\u0275defineInjector({imports:[SharedModule,TranslateModule]})}}return TranslationModule3})();var FEATURE_NAME22="translation",TRANSLATION_KEY_PATTERN3=/^[A-Z0-9_.!?]+$/;function sortByKey(a,b){return a.key&&b.key?a.key.localeCompare(b.key):0}var adapter20=createResourceAdapter({sortComparer:sortByKey}),initialState22=adapter20.getInitialState(),reducer18=createReducer(initialState22,on(didAdd78,(state,{data})=>adapter20.upsertOne(data,state)),on(didUpdate73,(state,{data,publicId})=>adapter20.updateOne({id:publicId,changes:data},state)),on(loadAll66,state=>__spreadProps(__spreadValues({},state),{allLoading:!0})),on(loadAllFailure64,state=>__spreadProps(__spreadValues({},state),{allLoading:!1})),on(loadAllSuccess67,(state,{data})=>adapter20.setAll(data,__spreadProps(__spreadValues({},state),{allLoading:!1,allLoaded:!0}))),on(addManySuccess,upsertManySuccess2,didAddList10,(state,{data})=>adapter20.upsertMany(data,state)),on(updateManySuccess7,didUpdateList10,(state,{data})=>adapter20.updateMany(data.map(translation=>({id:translation.publicId,changes:translation})),state)),on(removeSuccess55,didRemove74,(state,{publicId})=>adapter20.removeOne(publicId,state)),on(didRemoveList11,(state,{publicIdList})=>adapter20.removeMany(publicIdList,state)),on(reset90,()=>__spreadValues({},initialState22))),feature18=createFeature({name:FEATURE_NAME22,reducer:reducer18});var selectAll20=createSelector(feature18.selectTranslationState,adapter20.getSelectors().selectAll),{selectAllLoading:selectAllLoading14,selectAllLoaded:selectAllLoaded14}=feature18;var LinkTranslationDialogFacadeBase=class{constructor(){this.store=inject(Store),this.languages$=of(LANGUAGES_ENGLISH_FIRST),this.translations$=this.store.select(selectAll20)}};var LinkTranslationDialogFacade=(()=>{class LinkTranslationDialogFacade2 extends LinkTranslationDialogFacadeBase{addTranslation(translation){this.store.dispatch(addMany({data:[translation]}))}editTranslation(translation){this.store.dispatch(updateMany7({data:[translation]}))}static{this.\u0275fac=(()=>{let \u0275LinkTranslationDialogFacade_BaseFactory;return function(__ngFactoryType__){return(\u0275LinkTranslationDialogFacade_BaseFactory||(\u0275LinkTranslationDialogFacade_BaseFactory=\u0275\u0275getInheritedFactory(LinkTranslationDialogFacade2)))(__ngFactoryType__||LinkTranslationDialogFacade2)}})()}static{this.\u0275prov=\u0275\u0275defineInjectable({token:LinkTranslationDialogFacade2,factory:LinkTranslationDialogFacade2.\u0275fac,providedIn:"root"})}}return LinkTranslationDialogFacade2})();function getUserMembershipRoles(userMemberships,roles){return compact_default(uniq_default(compact_default(userMemberships.map(membership=>membership.role?.publicId))).map(roleId=>roles.find(role=>role.publicId===roleId)))}function hasRoleWithPermissions(permissions,state,options){let{userMemberships,groupState,roles}=state,{excludeDeviceSpecific,excludeGroupSpecific,excludeTemporary}=options||{},filteredUserMemberships=excludeDeviceSpecific||excludeGroupSpecific||excludeTemporary?userMemberships.filter(m=>(!excludeDeviceSpecific||m.group&&groupState.entities[m.group.publicId]?.agent===null&&groupState.entities[m.group.publicId]?.asset===null)&&(!excludeGroupSpecific||m.group&&groupState.entities[m.group.publicId]?.type===null)&&(!excludeTemporary||m.expiresOn===null)):userMemberships;return getUserMembershipRoles(filteredUserMemberships,roles).some(isRoleWithPermissions(...permissions))}function hasLicenceOfType(usageType,state){return!!state.licences.find(licence=>licence.type?.usageType===usageType)}function hasLicenceOfTypeAndScope(usageType,scope,state){return!!state.licences.find(licence=>licence.type?.usageType===usageType&&licence.type?.scope===scope)}function hasLicenceOfTypeForAgent(usageType,agentId,state){return!!state.licences.find(licence=>licence.type?.usageType===usageType&&licence.type?.scope==="agent"&&licence.agent?.publicId===agentId)}function hasLegacyLicenceModel(state){return state.company?.licenceModel==="legacy"}function isCompanyAdmin(state,options={excludeTemporary:!1}){return hasRoleWithPermissions(["COMPANY_ADMIN"],state,options)}function isSupportUser(state){return!!state.user?.support}var getManageAgentRights=memoize_default((roles,groupState,userMemberships,licences)=>_getGroupsGivingPermission(roles,groupState,userMemberships,licences,"MANAGE_AGENT"),(roles,groupState,userMemberships,licences)=>{let hasSubgroupsLicence=licences.some(licence=>licence.type?.usageType==="subgroups");return JSON.stringify({roles,groupState,userMemberships,hasSubgroupsLicence})}),getManageAgentTemplateRights=memoize_default((roles,groupState,userMemberships,licences)=>_getGroupsGivingPermission(roles,groupState,userMemberships,licences,"MANAGE_AGENT_TEMPLATE"),(roles,groupState,userMemberships,licences)=>{let hasSubgroupsLicence=licences.some(licence=>licence.type?.usageType==="subgroups");return JSON.stringify({roles,groupState,userMemberships,hasSubgroupsLicence})}),getManageEdgeAppRights=memoize_default((roles,groupState,userMemberships,licences)=>_getGroupsGivingPermission(roles,groupState,userMemberships,licences,"MANAGE_EDGE_APP"),(roles,groupState,userMemberships,licences)=>{let hasSubgroupsLicence=licences.some(licence=>licence.type?.usageType==="subgroups");return JSON.stringify({roles,groupState,userMemberships,hasSubgroupsLicence})}),getManageGroupRights=memoize_default((roles,groupState,userMemberships,licences)=>_getGroupsGivingPermission(roles,groupState,userMemberships,licences,"MANAGE_GROUP",!0),(roles,groupState,userMemberships,licences)=>{let hasSubgroupsLicence=licences.some(licence=>licence.type?.usageType==="subgroups");return JSON.stringify({roles,groupState,userMemberships,hasSubgroupsLicence})}),getApproveAccessRequestsRights=memoize_default((roles,groupState,userMemberships,licences)=>_getGroupsGivingPermission(roles,groupState,userMemberships,licences,"APPROVE_ACCESS_REQUESTS"),(roles,groupState,userMemberships,licences)=>{let hasSubgroupsLicence=licences.some(licence=>licence.type?.usageType==="subgroups");return JSON.stringify({roles,groupState,userMemberships,hasSubgroupsLicence})}),getManagePageRights=memoize_default((roles,groupState,userMemberships,licences)=>_getGroupsGivingPermission(roles,groupState,userMemberships,licences,"MANAGE_PAGE",!0),(roles,groupState,userMemberships,licences)=>{let hasSubgroupsLicence=licences.some(licence=>licence.type?.usageType==="subgroups");return JSON.stringify({roles,groupState,userMemberships,hasSubgroupsLicence})});function _getGroupsGivingPermission(roles,groupState,userMemberships,licences,permission,excludeDeviceSpecific=!1){let groupIds=new Set,hasSubgroupsLicence=licences.some(licence=>licence.type?.usageType==="subgroups");return userMemberships.filter(membership=>roles.some(role=>role.publicId===membership.role?.publicId&&role.permissions?.some(p=>p.publicId===permission))).forEach(membership=>{if(membership.group){let group=groupState.entities[membership.group.publicId];if(group){let groups=[group];hasSubgroupsLicence&&(groups=getGroupTree(group,groupState)),groups.forEach(g=>{(!g.agent&&!g.asset||!excludeDeviceSpecific)&&groupIds.add(g.publicId)})}}}),Array.from(groupIds)}function hasPermissionForAgentOrAsset(groupsGivingPermissionIds,groupEntities,agentOrAsset){return groupsGivingPermissionIds?!!((agentOrAsset?.memberships??[]).some(agentMembership=>agentMembership&&groupsGivingPermissionIds.some(groupId=>agentMembership.group&&agentMembership.group.publicId===groupId))||agentOrAsset?.publicId&&groupsGivingPermissionIds.some(groupId=>groupEntities[groupId]?.agent?.publicId===agentOrAsset.publicId||groupEntities[groupId]?.asset?.publicId===agentOrAsset.publicId)):!1}var AccessRequestsGuard=(()=>{class AccessRequestsGuard2{canUse(state){return hasLicenceOfType("request-access",state)}canManage(state,params){if(!this.canUse(state))return!1;if(params?.agentOrAsset){let{agentOrAsset}=params;if(!hasRoleWithPermissions(["APPROVE_ACCESS_REQUESTS"],state))return!1;if("assets"in agentOrAsset&&agentOrAsset.assets?.length){let{publicId}=agentOrAsset.assets[0];agentOrAsset={publicId,memberships:state.assetMemberships.filter(m=>m.asset?.publicId===publicId)}}return hasPermissionForAgentOrAsset(state.rbac.groupsWithApproveAccessRequests,state.groupState.entities,agentOrAsset)}return hasRoleWithPermissions(["APPROVE_ACCESS_REQUESTS"],state)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AccessRequestsGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AccessRequestsGuard2,factory:AccessRequestsGuard2.\u0275fac,providedIn:"root"})}}return AccessRequestsGuard2})();var AgentMembershipsGuard=(()=>{class AgentMembershipsGuard2{constructor(){this.store=inject(Store)}canManage(state,params){if(!params?.agent)return!1;if(isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(["COMPANY_WIDE_ROLE","MANAGE_AGENT"],state))return!0;if(hasLicenceOfType("subgroups",state)){if("assets"in params.agent&¶ms.agent.assets?.length){let publicId=params.agent.assets[0].publicId,hasManageGroupPermission=!1;return this.store.select(selectEntityWithFields4(publicId)(["publicId","memberships.group"])).pipe(map(assetEntity=>hasPermissionForAgentOrAsset(state.rbac.groupsWithManageGroup,state.groupState.entities,assetEntity)),take(1)).subscribe(hasManageGroupPermissionForAgent=>hasManageGroupPermission=hasManageGroupPermissionForAgent),hasManageGroupPermission}return hasPermissionForAgentOrAsset(state.rbac.groupsWithManageGroup,state.groupState.entities,params.agent)}return!1}canDelete(state,params){if(isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(["COMPANY_WIDE_ROLE","MANAGE_AGENT"],state)||hasRoleWithPermissions(["COMPANY_WIDE_ROLE","MANAGE_GROUP"],state))return!0;if(!params?.membership)return!1;let agentGroups=state.agentMemberships.filter(membership=>membership.agent?.publicId===params.membership?.agent?.publicId&&membership.group).map(m=>m.group?.publicId),membershipRoles=getUserMembershipRoles(state.userMemberships,state.roles);return state.userMemberships.some(m=>{let groupId=m.group?.publicId,rootGroup=groupId?state.groupState.entities[groupId]:null;return!rootGroup||!membershipRoles.some(r=>r.publicId===m.role?.publicId&&isRoleWithPermissions("MANAGE_GROUP")(r))?!1:getGroupTree(rootGroup,state.groupState).some(group=>params?.membership?.group?.publicId!==group?.publicId&&!group.agent&&!group.asset&&agentGroups.includes(group.publicId))})}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AgentMembershipsGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AgentMembershipsGuard2,factory:AgentMembershipsGuard2.\u0275fac,providedIn:"root"})}}return AgentMembershipsGuard2})();var AgentRegistrationProfileGuard=(()=>{class AgentRegistrationProfileGuard2{canUse(state){return hasLicenceOfType("agent-registration-profile",state)?isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(["MANAGE_AGENT"],state,{excludeDeviceSpecific:!0}):!1}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AgentRegistrationProfileGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AgentRegistrationProfileGuard2,factory:AgentRegistrationProfileGuard2.\u0275fac,providedIn:"root"})}}return AgentRegistrationProfileGuard2})();var AgentTemplatesGuard=(()=>{class AgentTemplatesGuard2{canUse(state){return features.hasFeature("agent-template-versions")?hasLicenceOfType("agent-templates",state):!0}canManage(state,params){if(!this.canUse(state))return!1;if(isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(["COMPANY_WIDE_ROLE","MANAGE_AGENT_TEMPLATE"],state))return!0;if(params?.agentTemplate){if(!params.agentTemplate.group)return!1;let groupsGivingPermissionIds=state.rbac.groupsWithManageAgentTemplate;return groupsGivingPermissionIds&&groupsGivingPermissionIds.includes(params.agentTemplate.group.publicId)||!1}return hasRoleWithPermissions(["MANAGE_AGENT_TEMPLATE"],state,{excludeDeviceSpecific:!0})}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AgentTemplatesGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AgentTemplatesGuard2,factory:AgentTemplatesGuard2.\u0275fac,providedIn:"root"})}}return AgentTemplatesGuard2})();var GroupsGuard=(()=>{class GroupsGuard2{canManage(state,params){let permissions=["MANAGE_GROUP"];return params?.companyWide&&permissions.push("COMPANY_WIDE_ROLE"),isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(permissions,state,{excludeDeviceSpecific:!0,excludeGroupSpecific:!hasLicenceOfType("subgroups",state)})}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||GroupsGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:GroupsGuard2,factory:GroupsGuard2.\u0275fac,providedIn:"root"})}}return GroupsGuard2})();var SubgroupsGuard=(()=>{class SubgroupsGuard2 extends GroupsGuard{canUse(state){return hasLicenceOfType("subgroups",state)}canManage(state){return this.canUse(state)&&super.canManage(state)}canManageGroup(state,params){return params?.group?isCompanyAdmin(state)||isSupportUser(state)||this.canManageAllGroups(state)?!0:state.rbac.groupsWithManageGroup.includes(params.group.publicId):!1}canManageAllGroups(state){return isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(["COMPANY_WIDE_ROLE","MANAGE_GROUP"],state)}static{this.\u0275fac=(()=>{let \u0275SubgroupsGuard_BaseFactory;return function(__ngFactoryType__){return(\u0275SubgroupsGuard_BaseFactory||(\u0275SubgroupsGuard_BaseFactory=\u0275\u0275getInheritedFactory(SubgroupsGuard2)))(__ngFactoryType__||SubgroupsGuard2)}})()}static{this.\u0275prov=\u0275\u0275defineInjectable({token:SubgroupsGuard2,factory:SubgroupsGuard2.\u0275fac,providedIn:"root"})}}return SubgroupsGuard2})();var AgentsGuard=(()=>{class AgentsGuard2{constructor(){this.store=inject(Store),this.subgroupsGuard=inject(SubgroupsGuard),this.agentTemplatesGuard=inject(AgentTemplatesGuard)}canManage(state,params){if(isCompanyAdmin(state)||isSupportUser(state))return!0;if(params?.agent){if(params?.agent?.assets?.length){let publicId=params.agent.assets[0].publicId,hasManageAgentPermission=!1;return this.store.select(selectEntityWithFields4(publicId)(["publicId","agent","memberships.group"])).pipe(map(assetEntity=>hasPermissionForAgentOrAsset(state.rbac.groupsWithManageAgent,state.groupState.entities,assetEntity)),take(1)).subscribe(hasManageAgentPermissionForAgent=>hasManageAgentPermission=hasManageAgentPermissionForAgent),hasManageAgentPermission}return hasPermissionForAgentOrAsset(state.rbac.groupsWithManageAgent,state.groupState.entities,params.agent)}return hasRoleWithPermissions(["MANAGE_AGENT"],state)}canApplyTemplate(state,params){return this.agentTemplatesGuard.canUse(state)?this.canManage(state,params):!1}canCreate(state){return isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(["COMPANY_WIDE_ROLE","MANAGE_AGENT"],state)}canRegister(state,params){return isCompanyAdmin(state)||isSupportUser(state)?!0:params?.agent?hasPermissionForAgentOrAsset(state.rbac.groupsWithManageAgent,state.groupState.entities,params.agent):hasRoleWithPermissions(["COMPANY_WIDE_ROLE","MANAGE_AGENT"],state)}canRemove(state){return isCompanyAdmin(state)||isSupportUser(state)?!0:hasRoleWithPermissions(["COMPANY_WIDE_ROLE","MANAGE_AGENT"],state)}canTransfer(state,params){return this.canManage(state,params)||this.subgroupsGuard.canManage(state)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AgentsGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AgentsGuard2,factory:AgentsGuard2.\u0275fac,providedIn:"root"})}}return AgentsGuard2})();var AiAssistantGuard=(()=>{class AiAssistantGuard2{constructor(){this.SUPPORTED_APP_IDS=new Set(["KnbId36EFm7V","tzGYZaJPmMeB","xQSQxYS0kpUZ","9pcGTRKiMNFh","u1s7SRIHn6CA"])}canUse(state,level="asset"){return level==="fleet"?features.hasFeature("fleet-level-ai-assistant"):state.appsEnabled.some(id=>this.SUPPORTED_APP_IDS.has(id))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AiAssistantGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AiAssistantGuard2,factory:AiAssistantGuard2.\u0275fac,providedIn:"root"})}}return AiAssistantGuard2})();var AlarmingGuard=(()=>{class AlarmingGuard2{canUse(state,params){return hasLegacyLicenceModel(state)||hasLicenceOfTypeAndScope("alarming","company",state)||!!params?.agentId&&(params.isAgentTemplate===!1?hasLicenceOfTypeForAgent("alarming",params.agentId,state):hasLicenceOfTypeAndScope("alarming","agent",state))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AlarmingGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AlarmingGuard2,factory:AlarmingGuard2.\u0275fac,providedIn:"root"})}}return AlarmingGuard2})();var IXONOneGuard=(()=>{class IXONOneGuard2{canUse(state){return hasLicenceOfType("ixon-one",state)}canManage(state){return this.canUse(state)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||IXONOneGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:IXONOneGuard2,factory:IXONOneGuard2.\u0275fac,providedIn:"root"})}}return IXONOneGuard2})();var AppGuard=(()=>{class AppGuard3{constructor(){this.appName=inject(APP_NAME),this.ixonOneGuard=inject(IXONOneGuard)}canUse(state,params){let appName=params?.appName||this.appName;return hasLicenceOfType("ixon-one",state)?this.canUseOneApps(appName,state):this.canUsePortalApps(appName,state)}canUseAdminApp(state){return["MANAGE_APP","MANAGE_BRANDING","MANAGE_COMPANY","MANAGE_LICENCE","MANAGE_USER","VIEW_AUDIT_LOGS"].some(permissionId=>hasRoleWithPermissions([permissionId],state))||hasRoleWithPermissions(["COMPANY_WIDE_ROLE","MANAGE_PAGE"],state,{excludeDeviceSpecific:!0})||hasRoleWithPermissions(["MANAGE_GROUP"],state,{excludeDeviceSpecific:!0,excludeGroupSpecific:!hasLicenceOfType("subgroups",state)})}canUseOneApps(appName,state){if(PLATFORM_ONE_APPS.includes(appName.toLowerCase())&&(isSupportUser(state)||isCompanyAdmin(state)))return!0;switch(appName){case"Admin":return this.canUseAdminApp(state);case"Assets":return this.ixonOneGuard.canUse(state);default:return!1}}canUsePortalApps(appName,state){if(appName==="Assets")return!1;if(isSupportUser(state)||isCompanyAdmin(state))return!0;switch(appName){case"Admin":return this.canUseAdminApp(state);case"Fleet Manager":return hasRoleWithPermissions(["MANAGE_AGENT"],state)||hasRoleWithPermissions(["MANAGE_GROUP"],state,{excludeDeviceSpecific:!0,excludeGroupSpecific:!1})&&hasLicenceOfType("subgroups",state);case"Studio":return hasRoleWithPermissions(["DEVELOP_APP"],state)||hasRoleWithPermissions(["MANAGE_PAGE"],state,{excludeDeviceSpecific:!0});default:return!0}}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AppGuard3)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AppGuard3,factory:AppGuard3.\u0275fac,providedIn:"root"})}}return AppGuard3})();var AppsGuard=(()=>{class AppsGuard2{canManage(state){return isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(["MANAGE_APP"],state)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AppsGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AppsGuard2,factory:AppsGuard2.\u0275fac,providedIn:"root"})}}return AppsGuard2})();var AssetLibraryGuard=(()=>{class AssetLibraryGuard2{canManage(state){return(isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(["MANAGE_ASSET_LIBRARY"],state))&&hasLicenceOfType("asset-management",state)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AssetLibraryGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AssetLibraryGuard2,factory:AssetLibraryGuard2.\u0275fac,providedIn:"root"})}}return AssetLibraryGuard2})();var AssetMembershipsGuard=(()=>{class AssetMembershipsGuard2{constructor(){this.store=inject(Store)}canManage(state,params){return params?.asset?isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(["COMPANY_WIDE_ROLE","MANAGE_AGENT"],state)?!0:hasLicenceOfType("subgroups",state)?hasPermissionForAgentOrAsset(state.rbac.groupsWithManageGroup,state.groupState.entities,params.asset):!1:!1}canDelete(state,params){if(isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(["COMPANY_WIDE_ROLE","MANAGE_AGENT"],state)||hasRoleWithPermissions(["COMPANY_WIDE_ROLE","MANAGE_GROUP"],state))return!0;if(!params?.membership)return!1;let assetGroups=state.assetMemberships.filter(membership=>membership.asset?.publicId===params.membership?.asset?.publicId&&membership.group).map(m=>m.group?.publicId),membershipRoles=getUserMembershipRoles(state.userMemberships,state.roles);return state.userMemberships.some(m=>{let groupId=m.group?.publicId,rootGroup=groupId?state.groupState.entities[groupId]:null;return!rootGroup||!membershipRoles.some(r=>r.publicId===m.role?.publicId&&isRoleWithPermissions("MANAGE_GROUP")(r))?!1:getGroupTree(rootGroup,state.groupState).some(group=>params?.membership?.group?.publicId!==group?.publicId&&!group.agent&&!group.asset&&assetGroups.includes(group.publicId))})}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AssetMembershipsGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AssetMembershipsGuard2,factory:AssetMembershipsGuard2.\u0275fac,providedIn:"root"})}}return AssetMembershipsGuard2})();var AssetTypesGuard=(()=>{class AssetTypesGuard2{canManage(state){return(isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(["MANAGE_COMPANY"],state))&&hasLicenceOfType("asset-management",state)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AssetTypesGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AssetTypesGuard2,factory:AssetTypesGuard2.\u0275fac,providedIn:"root"})}}return AssetTypesGuard2})();var AssetsGuard=(()=>{class AssetsGuard2{canUse(state){return hasLicenceOfType("asset-management",state)}canManage(state,params){if(isCompanyAdmin(state)||isSupportUser(state))return this.canUse(state);if(params?.asset){if(hasPermissionForAgentOrAsset(state.rbac.groupsWithManageAgent,state.groupState.entities,params.asset))return this.canUse(state)}else if(hasRoleWithPermissions(["MANAGE_AGENT"],state))return this.canUse(state);return!1}canLinkAgent(state){return isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(["COMPANY_WIDE_ROLE","MANAGE_AGENT"],state)}canCreate(state){return isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(["COMPANY_WIDE_ROLE","MANAGE_AGENT"],state)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AssetsGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AssetsGuard2,factory:AssetsGuard2.\u0275fac,providedIn:"root"})}}return AssetsGuard2})();var AuditLogsGuard=(()=>{class AuditLogsGuard2{canUse(state){return isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(["VIEW_AUDIT_LOGS"],state)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AuditLogsGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AuditLogsGuard2,factory:AuditLogsGuard2.\u0275fac,providedIn:"root"})}}return AuditLogsGuard2})();var FEATURE_NAME23="agentType";var adapter21=createResourceAdapter({sortComparer:sortByNameAndPublicIdComparer}),initialState23=adapter21.getInitialState(),reducer19=createReducer(initialState23,on(reset53,()=>__spreadValues({},initialState23)),on(loadAll39,state=>__spreadProps(__spreadValues({},state),{allLoading:!0})),on(loadAllFailure39,state=>__spreadProps(__spreadValues({},state),{allLoading:!1})),on(loadAllSuccess40,(state,{data,fields})=>{let allLoadedFields=mergeFields(state.allLoadedFields,fields);return adapter21.setAll(data,__spreadProps(__spreadValues({},state),{allLoadedFields,allLoading:!1,allLoaded:!0}))}),on(didAdd3,loadOneSuccess,loadOneSuccess3,(state,{data})=>data?.type?adapter21.upsertOne(data.type,state):state),on(loadAllSuccess2,loadAllActiveSuccess,loadAllSuccess8,(state,{data})=>{if(data[0]?.type){let types=uniqBy_default(data.map(agent=>agent.type).filter(type=>!!type),type=>type.publicId);return adapter21.upsertMany(types,state)}return state})),feature19=createFeature({name:FEATURE_NAME23,reducer:reducer19});var AgentTypeService=(()=>{class AgentTypeService2{constructor(){this.api=inject(IxApiService),this.http=inject(HttpClient)}getAll(fields){return whileMoreAfter(moreAfter=>this.getList(fields,moreAfter))}getList(fields,pageAfter,pageSize){let url=this.api.url("AgentTypeList"),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,params=new HttpParams({fromObject:__spreadValues({fields:fields.join(",")},getPageParams(pageAfter,pageSize))}),options={context:context3,headers,params};return this.http.get(url,options)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AgentTypeService2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AgentTypeService2,factory:AgentTypeService2.\u0275fac,providedIn:"root"})}}return AgentTypeService2})();var selectAll21=createSelector(feature19.selectAgentTypeState,adapter21.getSelectors().selectAll);var{selectAllLoading:selectAllLoading15,selectAllLoaded:selectAllLoaded15,selectAllLoadedFields:selectAllLoadedFields4,selectEntities:selectEntities20}=feature19;var AgentTypeEffects=(()=>{class AgentTypeEffects2{constructor(){this.actions$=inject(Actions),this.store=inject(Store),this.service=inject(AgentTypeService),this.ensureAll$=createEffect(()=>this.actions$.pipe(ofType(ensureAll36),mergeMap(({fields})=>this.store.select(selectAllLoadedFields4).pipe(take(1),mergeMap(loadedFields=>fields.every(field=>loadedFields.includes(field))?EMPTY:of(loadAll39({fields}))))))),this.loadAll$=createEffect(()=>this.actions$.pipe(ofType(loadAll39),switchMap(({fields})=>this.service.getAll(fields).pipe(map(({data})=>loadAllSuccess40({data,fields})),catchError(errorResponse=>of(loadAllFailure39({errors:errorResponse.error?.data??[]})))))))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AgentTypeEffects2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AgentTypeEffects2,factory:AgentTypeEffects2.\u0275fac,providedIn:"root"})}}return AgentTypeEffects2})();var AgentTypeModule=(()=>{class AgentTypeModule2{static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AgentTypeModule2)}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:AgentTypeModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({providers:[provideHttpClient(withFetch(),withInterceptorsFromDi())],imports:[IxApiModule,StoreModule.forFeature(feature19),EffectsModule.forFeature([AgentTypeEffects])]})}}return AgentTypeModule2})();function isIXrouter3Compatible(type){if(!type)return!1;let publicId=typeof type=="string"?type:type.publicId;return["sHHQvHLDJ6Dk","C2yrb4dg8pxE","U9oB9E1iKzGb","fXv8K5Vc6Ex5","7hwBM1TfVDXD","QcoWzc13sC3N"].includes(publicId)}function isSecureEdgeCompatible(type){if(!type)return!1;let publicId=typeof type=="string"?type:type.publicId;return["RIDDtZTznZ2K"].includes(publicId)}function isSecureEdgeProCompatible(type){if(!type)return!1;let publicId=typeof type=="string"?type:type.publicId;return["jbDmUoYIAeKc","LAFPxk3MiH19"].includes(publicId)}function compareVersions(version1,version2){let v1parts=getVersionBits(version1),v2parts=getVersionBits(version2),v2,v1;for(let i=0;i<Math.max(v1parts.length,v2parts.length);++i){if(v1=v1parts[i]||0,v2=v2parts[i]||0,v2>v1)return 1;if(v1>v2)return-1}return 0}function getVersionBits(version2){version2=version2.replace(/(\d+)([^\d.]+)/,"$1.$2"),version2=version2.replace(/([^\d.]+)(\d+)/,"$1.$2");let parts=version2.split("."),rmap={rc:-1,pre:-2,beta:-3,b:-3,alpha:-4,a:-4},bits=[];for(let v of parts){let n2=parseInt(v,10);isNaN(n2)&&(n2=rmap[v]||-1),bits.push(n2)}return bits}var PlatformFeatureCheckerRef=(()=>{class PlatformFeatureCheckerRef2{constructor(){this._deferred$=new BehaviorSubject(new Set),this._subject$=new Subject}featureKey(feature44){return Array.isArray(feature44)?JSON.stringify(feature44):feature44}deferChecks(feature44){let key=this.featureKey(feature44);this._deferred$.next(new Set(this._deferred$.value).add(key)),this.listen(feature44).pipe(take(1)).subscribe(()=>{let deferred=new Set(this._deferred$.value);deferred.delete(key),this._deferred$.next(deferred)})}listen(feature44){let key=this.featureKey(feature44);return this._subject$.asObservable().pipe(filter(value=>value===key),map(()=>{}))}runChecks(feature44){this._subject$.next(this.featureKey(feature44))}whenStable(feature44){let key=this.featureKey(feature44);return this._deferred$.value.has(key)?this._deferred$.asObservable().pipe(filter(value=>!value.has(key)),take(1),map(()=>{})):of(void 0)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||PlatformFeatureCheckerRef2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:PlatformFeatureCheckerRef2,factory:PlatformFeatureCheckerRef2.\u0275fac,providedIn:"root"})}}return PlatformFeatureCheckerRef2})();var BaseAgentCompatibilityGuard=class{constructor(){this.checkerRef=inject(PlatformFeatureCheckerRef),this.store=inject(Store),this.results=new Map,this.subscriptions=new Map}checkAgentCompatibility(type,agentId,checkAgent,checkAgentTemplate){return this.ensureCompatibilityCheck(type,agentId,checkAgent,checkAgentTemplate),this.results.get(type)?.get(agentId)??!1}ensureCompatibilityCheck(type,agentId,checkAgent,checkAgentTemplate){let checkSubscriptions=this.getOrCreateMap(this.subscriptions,type);if(checkSubscriptions.has(agentId))return;let subscription=combineLatest([this.store.select(selectAll4).pipe(map(templateList=>templateList.some(template=>template.publicId===agentId))),this.store.select(selectAgentLikeEntity(agentId))]).pipe(map(([isAgentTemplate,agentLike])=>{if(!agentLike)return!1;if(isAgentTemplate)return checkAgentTemplate(agentLike);let agent=agentLike,userAgent=agent&&"lastSeenAgentUserAgent"in agent?agent.lastSeenAgentUserAgent:null;return checkAgent(agentLike,userAgent?.firmwareVersion)}),distinctUntilChanged()).subscribe(canUse=>{this.getOrCreateMap(this.results,type).set(agentId,canUse),this.checkerRef.runChecks(this.feature)});checkSubscriptions.set(agentId,subscription)}getOrCreateMap(map4,key){let value=map4.get(key);return value||(value=new Map,map4.set(key,value)),value}};var BacnetIpGuard=(()=>{class BacnetIpGuard2 extends BaseAgentCompatibilityGuard{constructor(){super(...arguments),this.feature=["device","bacnet-ip"]}canManage(state,{agentId}){return this.checkAgentCompatibility("manage",agentId,(agent,firmwareVersion)=>!firmwareVersion||!isSecureEdgeCompatible(agent.type)&&!isSecureEdgeProCompatible(agent.type)?!0:compareVersions("2026.05",firmwareVersion)>=0,()=>!0)}canManageDeviceId(state,{agentId}){return this.checkAgentCompatibility("manageDeviceId",agentId,(agent,firmwareVersion)=>firmwareVersion?firmwareVersion.startsWith("3.")&&compareVersions("3.29",firmwareVersion)>=0||compareVersions("2026.05",firmwareVersion)>=0:isIXrouter3Compatible(agent.type)||isSecureEdgeCompatible(agent.type)||isSecureEdgeProCompatible(agent.type),()=>!0)}static{this.\u0275fac=(()=>{let \u0275BacnetIpGuard_BaseFactory;return function(__ngFactoryType__){return(\u0275BacnetIpGuard_BaseFactory||(\u0275BacnetIpGuard_BaseFactory=\u0275\u0275getInheritedFactory(BacnetIpGuard2)))(__ngFactoryType__||BacnetIpGuard2)}})()}static{this.\u0275prov=\u0275\u0275defineInjectable({token:BacnetIpGuard2,factory:BacnetIpGuard2.\u0275fac,providedIn:"root"})}}return BacnetIpGuard2})();var BrandingGuard=(()=>{class BrandingGuard2{canManage(state){return isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(["MANAGE_BRANDING"],state)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||BrandingGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:BrandingGuard2,factory:BrandingGuard2.\u0275fac,providedIn:"root"})}}return BrandingGuard2})();var CardsGuard=(()=>{class CardsGuard2{canUse(state){return hasLegacyLicenceModel(state)||hasLicenceOfType("card-view",state)}canManage(state){return isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(["MANAGE_PAGE"],state,{excludeDeviceSpecific:!0})?this.canUse(state):!1}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||CardsGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:CardsGuard2,factory:CardsGuard2.\u0275fac,providedIn:"root"})}}return CardsGuard2})();var CloudFunctionDevelopmentGuard=(()=>{class CloudFunctionDevelopmentGuard2{canUse(state){return hasLicenceOfType("app-engine-level-2",state)}canManage(state){return hasLicenceOfType("app-engine-level-2",state)&&(isSupportUser(state)||isCompanyAdmin(state)||hasRoleWithPermissions(["DEVELOP_APP"],state))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||CloudFunctionDevelopmentGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:CloudFunctionDevelopmentGuard2,factory:CloudFunctionDevelopmentGuard2.\u0275fac,providedIn:"root"})}}return CloudFunctionDevelopmentGuard2})();var ConnectionMonitoringGuard=(()=>{class ConnectionMonitoringGuard2{canUse(state,params){return hasLegacyLicenceModel(state)||hasLicenceOfTypeAndScope("connection-monitoring","company",state)||!!params?.agentId&&(params.isAgentTemplate===!0?hasLicenceOfTypeAndScope("connection-monitoring","agent",state):hasLicenceOfTypeForAgent("connection-monitoring",params.agentId,state))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||ConnectionMonitoringGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:ConnectionMonitoringGuard2,factory:ConnectionMonitoringGuard2.\u0275fac,providedIn:"root"})}}return ConnectionMonitoringGuard2})();var ControlledDevicesGuard=(()=>{class ControlledDevicesGuard2{canUse(state){return hasLicenceOfType("controlled-devices",state)?isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(["COMPANY_WIDE_ROLE","MANAGE_AGENT"],state):!1}canCreate(state){return this.canUse(state)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||ControlledDevicesGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:ControlledDevicesGuard2,factory:ControlledDevicesGuard2.\u0275fac,providedIn:"root"})}}return ControlledDevicesGuard2})();var AgentService=(()=>{class AgentService2{constructor(){this.api=inject(IxApiService),this.http=inject(HttpClient)}addShellAgentList(body){let url=this.api.url("ShellAgentList"),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context3,headers};return this.http.post(url,body,options)}getAll(fields,filters){return whileMoreAfter(moreAfter=>this.getList(fields,filters,moreAfter))}getAllActive(fields){return this.getAll(fields,'eq(activeStatus,"active")')}getAllActiveAndInactive(fields){return forkJoin([this.getAll(fields,'eq(activeStatus,"active")'),this.getAll(fields.filter(field=>INACTIVE_AGENT_FIELDS.includes(field)),'eq(activeStatus,"inactive")')]).pipe(map(([active,inactive])=>({type:active.type,data:[...active.data,...inactive.data],moreAfter:null})))}getByPublicId(publicId,fields){let url=this.api.url("Agent",{publicId}),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,params=new HttpParams({fromObject:{fields:compactFields(fields)}}),options={context:context3,headers,params};return this.http.get(url,options)}getList(fields,filters,pageAfter,pageSize){let url=this.api.url("AgentList"),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,params=new HttpParams({fromObject:__spreadValues(__spreadValues({fields:fields.join(",")},filters?{filters}:{}),getPageParams(pageAfter,pageSize))}),options={context:context3,headers,params};return this.http.get(url,options)}getByPublicIdList(publicIdList,fields){let url=this.api.url("AgentList"),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,params=new HttpParams({fromObject:{fields:fields.join(","),filters:`in(publicId,"${publicIdList.join('","')}")`}}),options={context:context3,headers,params};return this.http.get(url,options)}removeByPublicId(publicId){let url=this.api.url("Agent",{publicId}),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context3,headers};return this.http.delete(url,options)}update(body){let url=this.api.url("AgentList"),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context3,headers};return this.http.patch(url,body,options)}updateByPublicId(publicId,body){let url=this.api.url("Agent",{publicId}),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context3,headers};return this.http.patch(url,body,options)}updateFromTemplate(publicId,body){let url=this.api.url("AgentFromTemplate",{publicId}),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context3,headers};return this.http.patch(url,body,options)}updateManyFromTemplate(body){let url=this.api.url("AgentListFromTemplate"),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context3,headers};return this.http.patch(url,body,options)}activateAgents(body){let url=this.api.url("AgentListActivate"),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context3,headers};return this.http.post(url,body,options)}reboot(publicId){let url=this.api.url("AgentReboot",{agentId:publicId}),context3=new HttpContext().set(REQUIRES_COMPANY,!0),headers=this.api.headers,options={context:context3,headers};return this.http.post(url,null,options)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AgentService2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AgentService2,factory:AgentService2.\u0275fac,providedIn:"root"})}}return AgentService2})();var AgentEffects=(()=>{class AgentEffects2{constructor(){this.actions$=inject(Actions),this.store=inject(Store),this.snackBar=inject(MatSnackBar),this.service=inject(AgentService),this.activate$=createEffect(()=>this.actions$.pipe(ofType(activate),mergeMap(({data})=>this.service.activateAgents(data).pipe(map(()=>activateSuccess({data})),catchError(errorResponse=>of(activateFailure({errors:errorResponse.error?.data??[]}))))))),this.addShellAgentList$=createEffect(()=>this.actions$.pipe(ofType(addShellAgentList),mergeMap(({data})=>this.service.addShellAgentList(data).pipe(map(response=>addShellAgentListSuccess({data:response.data.map(shellAgent=>({publicId:shellAgent.publicId}))})),catchError(errorResponse=>of(addShellAgentListFailure({errors:errorResponse.error?.data??[]}))))))),this.ensureAll$=createEffect(()=>this.actions$.pipe(ofType(ensureAll2),mergeMap(({fields})=>combineLatest([this.store.select(selectAllLoadingFields),this.store.select(selectAllLoadedFields)]).pipe(take(1),mergeMap(([loadingFields,loadedFields])=>fields.every(field=>loadingFields.includes(field)||loadedFields.includes(field))?EMPTY:of(loadAll({fields}))))))),this.ensureAllActive$=createEffect(()=>this.actions$.pipe(ofType(ensureAllActive),mergeMap(({fields})=>combineLatest([this.store.select(selectAllActiveLoadingFields),this.store.select(selectAllActiveLoadedFields)]).pipe(take(1),mergeMap(([loadingFields,loadedFields])=>fields.every(field=>loadingFields.includes(field)||loadedFields.includes(field))?EMPTY:of(loadAllActive({fields}))))))),this.loadOne$=createEffect(()=>this.actions$.pipe(ofType(loadOne),mergeMap(({publicId,fields})=>this.service.getByPublicId(publicId,fields).pipe(map(({data})=>loadOneSuccess({data,fields,publicId})),catchError(errorResponse=>of(loadOneFailure({errors:errorResponse.error?.data??[],publicId}))))))),this.loadAll$=createEffect(()=>this.actions$.pipe(ofType(loadAll),omitLoadedFields({memberships:this.store.select(selectAllLoaded2)}),mergeMap(({fields,originalFields})=>this.service.getAllActiveAndInactive(fields).pipe(map(({data})=>loadAllSuccess2({data,fields:originalFields})),catchError(errorResponse=>of(loadAllFailure({errors:errorResponse.error?.data??[]}))))))),this.loadAllActive$=createEffect(()=>this.actions$.pipe(ofType(loadAllActive),omitLoadedFields({memberships:this.store.select(selectAllLoaded2)}),switchMap(({fields,originalFields})=>this.service.getAllActive(fields).pipe(map(({data})=>loadAllActiveSuccess({data,fields:originalFields})),catchError(errorResponse=>of(loadAllActiveFailure({errors:errorResponse.error?.data??[]}))))))),this.remove$=createEffect(()=>this.actions$.pipe(ofType(remove2),mergeMap(({publicId})=>this.service.removeByPublicId(publicId).pipe(map(()=>removeSuccess2({publicId})),catchError(errorResponse=>of(removeFailure2({errors:errorResponse.error?.data??[]}))))))),this.update$=createEffect(()=>this.actions$.pipe(ofType(update2),mergeMap(({publicId,data})=>this.service.updateByPublicId(publicId,data).pipe(map(()=>updateSuccess2({data:__spreadProps(__spreadValues({},data),{publicId}),publicId})),catchError(errorResponse=>of(updateFailure2({errors:errorResponse.error?.data??[]}))))))),this.updateMany$=createEffect(()=>this.actions$.pipe(ofType(updateMany2),mergeMap(({data})=>this.service.update(data).pipe(map(()=>updateManySuccess2({data})),catchError(errorResponse=>of(updateManyFailure2({errors:errorResponse.error?.data??[]}))))))),this.updateFromTemplate$=createEffect(()=>this.actions$.pipe(ofType(updateFromTemplate),mergeMap(({publicId,data})=>this.service.updateFromTemplate(publicId,data).pipe(map(()=>updateFromTemplateSuccess({publicId})),catchError(errorResponse=>of(updateFromTemplateFailure({errors:errorResponse.error?.data??[]}))))))),this.updateFromTemplateFailure$=createEffect(()=>this.actions$.pipe(ofType(updateFromTemplateFailure),tap(({errors:errors2})=>{errors2[0].message&&this.snackBar.open(errors2[0].message,void 0,{duration:3e3})})),{dispatch:!1}),this.updateManyFromTemplate$=createEffect(()=>this.actions$.pipe(ofType(updateManyFromTemplate),mergeMap(({data})=>this.service.updateManyFromTemplate(data).pipe(map(()=>updateManyFromTemplateSuccess({data})),catchError(errorResponse=>of(updateManyFromTemplateFailure({errors:errorResponse.error?.data??[]}))))))),this.updateManyFromTemplateFailure$=createEffect(()=>this.actions$.pipe(ofType(updateManyFromTemplateFailure),tap(({errors:errors2})=>{errors2[0].message&&this.snackBar.open(errors2[0].message,void 0,{duration:3e3})})),{dispatch:!1})}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AgentEffects2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AgentEffects2,factory:AgentEffects2.\u0275fac,providedIn:"root"})}}return AgentEffects2})();var AgentModule=(()=>{class AgentModule2{static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AgentModule2)}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:AgentModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({providers:[provideHttpClient(withFetch(),withInterceptorsFromDi())],imports:[MatSnackBarModule,IxApiModule,StoreModule.forFeature(feature),EffectsModule.forFeature([AgentEffects])]})}}return AgentModule2})();var FEATURE_NAME24="ssoIdentityProvider",SUBRESOURCE_PATH_TO_FEATURE_NAME10=new Map([["companies[]","company"]]),SUBRESOURCE_PATHS10=[...SUBRESOURCE_PATH_TO_FEATURE_NAME10.keys()];var adapter22=createResourceAdapter({sortComparer:sortByNameAndPublicIdComparer,subresourcePaths:SUBRESOURCE_PATHS}),initialState24=adapter22.getInitialState(),reducer20=createReducer(initialState24,on(reset35,()=>__spreadValues({},initialState24)),on(loadAll23,state=>__spreadProps(__spreadValues({},state),{allLoading:!0})),on(loadAllFailure23,state=>__spreadProps(__spreadValues({},state),{allLoading:!1})),on(loadAllSuccess24,(state,{data})=>adapter22.upsertMany(data,__spreadProps(__spreadValues({},state),{allLoading:!1,allLoaded:!0})))),feature20=createFeature({name:FEATURE_NAME24,reducer:reducer20});var selectAll22=createSelector(feature20.selectSsoIdentityProviderState,adapter22.getSelectors().selectAll);var{selectAllLoading:selectAllLoading16,selectAllLoaded:selectAllLoaded16,selectEntities:selectEntities21}=feature20;var FEATURE_NAME25="brandingSystem";var setCompanyBranding=createAction("[Branding] Set Company Branding",props()),setHostBranding=createAction("[Branding] Set Host Branding",props()),setSectorBranding=createAction("[Branding] Set Sector Branding",props()),removeCompanyBranding=createAction("[Branding] Remove Company Branding");var initialState25={active:"sector",company:null,host:null,sector:null,hostLoaded:!1,sectorLoaded:!1},reducer21=createReducer(initialState25,on(setCompanyBranding,(state,{branding})=>__spreadProps(__spreadValues({},state),{active:"company",company:branding})),on(setHostBranding,(state,{branding})=>__spreadProps(__spreadValues({},state),{active:"host",host:branding,hostLoaded:!0})),on(setSectorBranding,(state,{branding})=>__spreadProps(__spreadValues({},state),{active:state.host?"host":"sector",sector:branding,sectorLoaded:!0})),on(removeCompanyBranding,state=>__spreadProps(__spreadValues({},state),{active:state.host?"host":"sector",company:null})),on(loadHostFailure,state=>__spreadProps(__spreadValues({},state),{hostLoaded:!0})),on(loadMeFailure2,state=>__spreadProps(__spreadValues({},state),{sectorLoaded:!0}))),feature21=createFeature({name:FEATURE_NAME25,reducer:reducer21});var selectSectorAndHostLoaded=createSelector(feature21.selectBrandingSystemState,state=>state.sectorLoaded&&state.hostLoaded),selectActiveBranding=createSelector(feature21.selectBrandingSystemState,state=>state[state.active]),selectActiveBrandingType=feature21.selectActive,selectActiveFqdn=createSelector(feature21.selectBrandingSystemState,state=>state.host?.fqdn||state.sector?.fqdn),selectSiteTitle=createSelector(feature21.selectBrandingSystemState,state=>state.company?.custom?.glbBrowserTitle||state.host?.custom?.glbBrowserTitle||state.sector?.custom?.glbBrowserTitle);var CustomAuthenticationGuard=(()=>{class CustomAuthenticationGuard2{constructor(store,checkerRef){this.canUseCustomAuthentication=!1,this.canManageCustomAuthentication=!1,combineLatest([store.select(selectAll22),store.select(selectActiveBrandingType)]).subscribe(([providers,brandingType])=>{this.canUseCustomAuthentication=brandingType==="host"&&providers.length>0,this.canManageCustomAuthentication=brandingType=="company"&&!!providers?.some(provider=>!!provider?.companies?.length),checkerRef.runChecks("custom-authentication")})}canUse(){return this.canUseCustomAuthentication}canManage(){return this.canManageCustomAuthentication}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||CustomAuthenticationGuard2)(\u0275\u0275inject(Store),\u0275\u0275inject(PlatformFeatureCheckerRef))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:CustomAuthenticationGuard2,factory:CustomAuthenticationGuard2.\u0275fac,providedIn:"root"})}}return CustomAuthenticationGuard2})();var CustomBrandingGuard=(()=>{class CustomBrandingGuard2{canManage(state){return hasLegacyLicenceModel(state)||hasLicenceOfType("custom-branding",state)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||CustomBrandingGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:CustomBrandingGuard2,factory:CustomBrandingGuard2.\u0275fac,providedIn:"root"})}}return CustomBrandingGuard2})();var CustomDomainGuard=(()=>{class CustomDomainGuard2{canManage(state){return hasLegacyLicenceModel(state)||hasLicenceOfType("custom-domain",state)}canUse(state){return hasLicenceOfType("custom-domain",state)}canEdit(state){return hasLicenceOfType("custom-domain",state)&&state.company?.premiumLicenceStatus!=="pending"}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||CustomDomainGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:CustomDomainGuard2,factory:CustomDomainGuard2.\u0275fac,providedIn:"root"})}}return CustomDomainGuard2})();var CustomFieldsGuard=(()=>{class CustomFieldsGuard2{canManage(state){return isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(["MANAGE_COMPANY"],state)?this.canUse(state):!1}canUse(state){return hasLegacyLicenceModel(state)?!0:hasLicenceOfType("custom-fields",state)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||CustomFieldsGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:CustomFieldsGuard2,factory:CustomFieldsGuard2.\u0275fac,providedIn:"root"})}}return CustomFieldsGuard2})();var CustomPrivacyStatementGuard=(()=>{class CustomPrivacyStatementGuard2{canManage(state){return hasLegacyLicenceModel(state)||hasLicenceOfType("custom-legal-legacy",state)?!!state.sector?.allowCustomPrivacyStatement&&(isCompanyAdmin(state)||isSupportUser(state)):!1}canAuthor(state){return this.canManage(state)&&hasLicenceOfType("custom-legal",state)}canEdit(state){return this.canManage(state)&&hasLicenceOfType("custom-legal-legacy",state)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||CustomPrivacyStatementGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:CustomPrivacyStatementGuard2,factory:CustomPrivacyStatementGuard2.\u0275fac,providedIn:"root"})}}return CustomPrivacyStatementGuard2})();var CustomTermsOfUseGuard=(()=>{class CustomTermsOfUseGuard2{canManage(state){return hasLegacyLicenceModel(state)||hasLicenceOfType("custom-legal-legacy",state)?!!state.sector?.allowCustomTermsOfUse&&(isCompanyAdmin(state)||isSupportUser(state)):!1}canAuthor(state){return this.canManage(state)&&hasLicenceOfType("custom-legal",state)}canEdit(state){return this.canManage(state)&&hasLicenceOfType("custom-legal-legacy",state)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||CustomTermsOfUseGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:CustomTermsOfUseGuard2,factory:CustomTermsOfUseGuard2.\u0275fac,providedIn:"root"})}}return CustomTermsOfUseGuard2})();var DataUsageGuard=(()=>{class DataUsageGuard2{canUse(state){return isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(["MANAGE_COMPANY"],state)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||DataUsageGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:DataUsageGuard2,factory:DataUsageGuard2.\u0275fac,providedIn:"root"})}}return DataUsageGuard2})();function isVariableValidJsonString(variable){try{JSON.parse(variable)}catch(e){return!1}return!0}var DeviceListViewGuard=(()=>{class DeviceListViewGuard2{canUse(state){let glbPrtDeviceViewSettings=state.company?.custom?.glbPrtDeviceViewSettings;return glbPrtDeviceViewSettings&&isVariableValidJsonString(glbPrtDeviceViewSettings)?!JSON.parse(glbPrtDeviceViewSettings)?.hideList:!0}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||DeviceListViewGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:DeviceListViewGuard2,factory:DeviceListViewGuard2.\u0275fac,providedIn:"root"})}}return DeviceListViewGuard2})();var DevicePagesGuard=(()=>{class DevicePagesGuard2{canManage(state,params){if(isCompanyAdmin(state)||isSupportUser(state))return!0;if(params?.companyWide)return hasRoleWithPermissions(["COMPANY_WIDE_ROLE","MANAGE_PAGE"],state);if(params?.page){if(hasRoleWithPermissions(["COMPANY_WIDE_ROLE","MANAGE_PAGE"],state))return!0;let groupsGivingPermissionIds=state.rbac.groupsWithManagePage,page=params.page;return groupsGivingPermissionIds?!!(page.group&&this.canManage(state)&&groupsGivingPermissionIds.includes(page.group.publicId)):!1}return hasRoleWithPermissions(["MANAGE_PAGE"],state,{excludeDeviceSpecific:!0})}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||DevicePagesGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:DevicePagesGuard2,factory:DevicePagesGuard2.\u0275fac,providedIn:"root"})}}return DevicePagesGuard2})();var EdgeAppDevelopmentGuard=(()=>{class EdgeAppDevelopmentGuard2{canManage(state){return hasLicenceOfType("edge-app-management",state)&&(isSupportUser(state)||isCompanyAdmin(state)||hasRoleWithPermissions(["DEVELOP_APP"],state))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||EdgeAppDevelopmentGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:EdgeAppDevelopmentGuard2,factory:EdgeAppDevelopmentGuard2.\u0275fac,providedIn:"root"})}}return EdgeAppDevelopmentGuard2})();var EdgeAppsGuard=(()=>{class EdgeAppsGuard2{canUse(state){return hasLicenceOfType("edge-app-management",state)}canManage(state){return(isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(["MANAGE_APP"],state))&&hasLicenceOfType("edge-app-management",state)}canManageOnDevice(state,params){if(!hasLicenceOfType("edge-app-management",state)||params.agent&&!isSecureEdgeProCompatible(params.agent.type?.publicId))return!1;if(isCompanyAdmin(state)||isSupportUser(state))return!0;if(params.agent.assets?.length){let publicId=params.agent.assets[0].publicId,asset={publicId,agent:{publicId:params.agent.publicId},memberships:state.assetMemberships.filter(m=>m.asset?.publicId===publicId)};return hasPermissionForAgentOrAsset(state.rbac.groupsWithManageEdgeApp,state.groupState.entities,asset)}return hasPermissionForAgentOrAsset(state.rbac.groupsWithManageEdgeApp,state.groupState.entities,params.agent)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||EdgeAppsGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:EdgeAppsGuard2,factory:EdgeAppsGuard2.\u0275fac,providedIn:"root"})}}return EdgeAppsGuard2})();var GroupTypesGuard=(()=>{class GroupTypesGuard2{canManage(state){return isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(["MANAGE_GROUP","COMPANY_WIDE_ROLE"],state)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||GroupTypesGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:GroupTypesGuard2,factory:GroupTypesGuard2.\u0275fac,providedIn:"root"})}}return GroupTypesGuard2})();var HelpCenterGuard=(()=>{class HelpCenterGuard2{constructor(){this.appConfig=inject(APP_CONFIG)}canUse(state){return this.appConfig.userpilot?.resourceCenterContentId?isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(["COMPANY_WIDE_ROLE"],state):!1}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||HelpCenterGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:HelpCenterGuard2,factory:HelpCenterGuard2.\u0275fac,providedIn:"root"})}}return HelpCenterGuard2})();var HistoricalDataGuard=(()=>{class HistoricalDataGuard2{constructor(){this.appName=inject(APP_NAME)}canUse(state,params){return this.appName==="Fleet Manager"?hasLegacyLicenceModel(state)||hasLicenceOfTypeAndScope("logging","company",state)?!0:!!params?.agentId&&(params.isAgentTemplate===!1?hasLicenceOfTypeForAgent("logging",params.agentId,state):hasLicenceOfTypeAndScope("logging","agent",state)):hasLicenceOfTypeAndScope("logging","company",state)||!!params?.agentId&&hasLicenceOfTypeForAgent("logging",params.agentId,state)}canInput(state){return hasLegacyLicenceModel(state)||hasLicenceOfType("logging",state)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||HistoricalDataGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:HistoricalDataGuard2,factory:HistoricalDataGuard2.\u0275fac,providedIn:"root"})}}return HistoricalDataGuard2})();var LandingPageGuard=(()=>{class LandingPageGuard2{canUse(state){return hasLicenceOfType("landing-page",state)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||LandingPageGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:LandingPageGuard2,factory:LandingPageGuard2.\u0275fac,providedIn:"root"})}}return LandingPageGuard2})();var LicencesGuard=(()=>{class LicencesGuard2{canManage(state){return isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(["MANAGE_LICENCE"],state)}canActivate(state){return hasLegacyLicenceModel(state)||state.sector?.publicId==="wYWd69AiJakk"}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||LicencesGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:LicencesGuard2,factory:LicencesGuard2.\u0275fac,providedIn:"root"})}}return LicencesGuard2})();var LimitedAccessGuard=(()=>{class LimitedAccessGuard2 extends BaseAgentCompatibilityGuard{constructor(){super(...arguments),this.feature=["device","limited-access"]}canSupportSourceIpCidr(state,{agentId}){return this.checkAgentCompatibility("supportSourceIpCidr",agentId,(agent,firmwareVersion)=>firmwareVersion?compareVersions("2026.05",firmwareVersion)>=0:isSecureEdgeCompatible(agent.type)||isSecureEdgeProCompatible(agent.type),template=>isSecureEdgeCompatible(template.type)||isSecureEdgeProCompatible(template.type))}canSupportDestinationIp(state,{agentId}){return this.checkAgentCompatibility("supportDestinationIp",agentId,(agent,firmwareVersion)=>firmwareVersion?firmwareVersion.startsWith("3.")&&compareVersions("3.28",firmwareVersion)>=0||compareVersions("2026.05",firmwareVersion)>=0:isIXrouter3Compatible(agent.type)||isSecureEdgeCompatible(agent.type)||isSecureEdgeProCompatible(agent.type),template=>isIXrouter3Compatible(template.type)||isSecureEdgeCompatible(template.type)||isSecureEdgeProCompatible(template.type))}static{this.\u0275fac=(()=>{let \u0275LimitedAccessGuard_BaseFactory;return function(__ngFactoryType__){return(\u0275LimitedAccessGuard_BaseFactory||(\u0275LimitedAccessGuard_BaseFactory=\u0275\u0275getInheritedFactory(LimitedAccessGuard2)))(__ngFactoryType__||LimitedAccessGuard2)}})()}static{this.\u0275prov=\u0275\u0275defineInjectable({token:LimitedAccessGuard2,factory:LimitedAccessGuard2.\u0275fac,providedIn:"root"})}}return LimitedAccessGuard2})();var LiveDataGuard=(()=>{class LiveDataGuard2{constructor(){this.appName=inject(APP_NAME)}canUse(state,params){return this.appName==="Fleet Manager"?hasLegacyLicenceModel(state)||hasLicenceOfTypeAndScope("live-data","company",state)?!0:!!params?.agentId&&(params.isAgentTemplate===!1?hasLicenceOfTypeForAgent("live-data",params.agentId,state):hasLicenceOfTypeAndScope("live-data","agent",state)):hasLegacyLicenceModel(state)&&hasLicenceOfTypeAndScope("alarming","agent",state)?!0:hasLicenceOfTypeAndScope("live-data","company",state)||!!params?.agentId&&hasLicenceOfTypeForAgent("live-data",params.agentId,state)}canInput(state){return hasLegacyLicenceModel(state)||hasLicenceOfType("live-data",state)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||LiveDataGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:LiveDataGuard2,factory:LiveDataGuard2.\u0275fac,providedIn:"root"})}}return LiveDataGuard2})();var MainPagesGuard=(()=>{class MainPagesGuard2{canUse(state){return hasLegacyLicenceModel(state)||hasLicenceOfType("main-pages",state)}canManage(state){return isCompanyAdmin(state)||isSupportUser(state)||hasRoleWithPermissions(["COMPANY_WIDE_ROLE","MANAGE_PAGE"],state)?this.canUse(state):!1}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||MainPagesGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:MainPagesGuard2,factory:MainPagesGuard2.\u0275fac,providedIn:"root"})}}return MainPagesGuard2})();var MobileAppGuard=(()=>{class MobileAppGuard2{canUse(state){return hasLegacyLicenceModel(state)||hasLicenceOfType("mobile-app",state)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||MobileAppGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:MobileAppGuard2,factory:MobileAppGuard2.\u0275fac,providedIn:"root"})}}return MobileAppGuard2})();var FEATURE_NAME26="mqttBroker",FIELDS2=buildFields(`
|
|
363
364
|
{
|
|
364
365
|
certauth
|
|
365
366
|
clients {
|
|
@@ -889,8 +890,8 @@ ${end2.comment}`:end2.comment}this.doc.range[2]=end2.offset;break}default:this.e
|
|
|
889
890
|
`],encapsulation:2,changeDetection:0})}}return MtxCalendar2})(),datetimepickerUid=0,MTX_DATETIMEPICKER_SCROLL_STRATEGY=new InjectionToken("mtx-datetimepicker-scroll-strategy",{providedIn:"root",factory:()=>{let overlay=inject(Overlay);return()=>overlay.scrollStrategies.reposition()}}),MTX_DATETIMEPICKER_DEFAULT_OPTIONS=new InjectionToken("mtx-datetimepicker-default-options"),MtxDatetimepickerContent=(()=>{class MtxDatetimepickerContent2{_viewChanged(view){this.view=view}constructor(){if(this._elementRef=inject(ElementRef),this._animationsDisabled=_animationsDisabled(),this._changeDetectorRef=inject(ChangeDetectorRef),this._ngZone=inject(NgZone),this._animationDone=new Subject,this._isAnimating=!1,this._dialogLabelId=null,this._actionsPortal=null,this.type="datetime",this.view="month",this._closeButtonText="",this._closeButtonFocused=!1,this._handleAnimationEvent=event2=>{let element=this._elementRef.nativeElement;event2.target!==element||!event2.animationName.startsWith("_mtx-datetimepicker-content")||(clearTimeout(this._animationFallback),this._isAnimating=event2.type==="animationstart",element.classList.toggle("mtx-datetimepicker-content-animating",this._isAnimating),this._isAnimating||this._animationDone.next())},this._closeButtonText=inject(MtxDatetimepickerIntl).closeCalendarLabel,!this._animationsDisabled){let element=this._elementRef.nativeElement,renderer=inject(Renderer2);this._eventCleanups=this._ngZone.runOutsideAngular(()=>[renderer.listen(element,"animationstart",this._handleAnimationEvent),renderer.listen(element,"animationend",this._handleAnimationEvent),renderer.listen(element,"animationcancel",this._handleAnimationEvent)])}}ngAfterViewInit(){this._stateChanges=this.datetimepicker._disabledChange.subscribe(()=>{this._changeDetectorRef.markForCheck()}),this._calendar.focusActiveCell()}ngOnDestroy(){clearTimeout(this._animationFallback),this._eventCleanups?.forEach(cleanup=>cleanup()),this._animationDone.complete()}_startExitAnimation(){this._elementRef.nativeElement.classList.add("mtx-datetimepicker-content-exit"),this._animationsDisabled?this._animationDone.next():(clearTimeout(this._animationFallback),this._animationFallback=setTimeout(()=>{this._isAnimating||this._animationDone.next()},200))}_handleUserSelection(){this._actionsPortal||this.datetimepicker.close()}_assignActions(portal,forceRerender){this._actionsPortal=portal,forceRerender&&this._changeDetectorRef.detectChanges()}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||MtxDatetimepickerContent2)}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:MtxDatetimepickerContent2,selectors:[["mtx-datetimepicker-content"]],viewQuery:function(rf,ctx){if(rf&1&&\u0275\u0275viewQuery(MtxCalendar,7),rf&2){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx._calendar=_t.first)}},hostAttrs:[1,"mtx-datetimepicker-content"],hostVars:7,hostBindings:function(rf,ctx){rf&2&&(\u0275\u0275attribute("mode",ctx.datetimepicker.mode),\u0275\u0275classMap(ctx.color?"mat-"+ctx.color:""),\u0275\u0275classProp("mtx-datetimepicker-content-touch",ctx.datetimepicker==null?null:ctx.datetimepicker.touchUi)("mtx-datetimepicker-content-animations-enabled",!ctx._animationsDisabled))},inputs:{color:"color"},decls:5,vars:34,consts:[["cdkTrapFocus","","role","dialog",1,"mtx-datetimepicker-content-container"],[3,"selectedChange","viewChanged","_userSelection","id","type","startAt","startView","maxDate","minDate","dateFilter","multiYearSelector","preventSameDateTimeSelection","headerComponent","timeInterval","twelvehour","showWeekNumbers","selected","timeInput","actionsPortal","timeInputAutoFocus"],[3,"cdkPortalOutlet"],["type","button","matButton","elevated",1,"mtx-datetimepicker-close-button",3,"focus","blur","click","color"]],template:function(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"div",0)(1,"mtx-calendar",1),\u0275\u0275listener("selectedChange",function($event){return ctx.datetimepicker._select($event)})("viewChanged",function($event){return ctx.datetimepicker._viewChanged($event)})("viewChanged",function($event){return ctx._viewChanged($event)})("_userSelection",function(){return ctx._handleUserSelection()}),\u0275\u0275elementEnd(),\u0275\u0275template(2,MtxDatetimepickerContent_ng_template_2_Template,0,0,"ng-template",2),\u0275\u0275elementStart(3,"button",3),\u0275\u0275listener("focus",function(){return ctx._closeButtonFocused=!0})("blur",function(){return ctx._closeButtonFocused=!1})("click",function(){return ctx.datetimepicker.close()}),\u0275\u0275text(4),\u0275\u0275elementEnd()()),rf&2&&(\u0275\u0275classProp("mtx-datetimepicker-content-container-with-custom-header",ctx.datetimepicker.calendarHeaderComponent)("mtx-datetimepicker-content-container-with-actions",ctx._actionsPortal)("mtx-datetimepicker-content-container-with-time-input",ctx.datetimepicker.timeInput),\u0275\u0275attribute("aria-modal",!0)("aria-labelledby",ctx._dialogLabelId??void 0)("mode",ctx.datetimepicker.mode),\u0275\u0275advance(),\u0275\u0275classMap(ctx.datetimepicker.panelClass),\u0275\u0275property("id",ctx.datetimepicker.id)("type",ctx.datetimepicker.type)("startAt",ctx.datetimepicker.startAt)("startView",ctx.datetimepicker.startView)("maxDate",ctx.datetimepicker._maxDate)("minDate",ctx.datetimepicker._minDate)("dateFilter",ctx.datetimepicker._dateFilter)("multiYearSelector",ctx.datetimepicker.multiYearSelector)("preventSameDateTimeSelection",ctx.datetimepicker.preventSameDateTimeSelection)("headerComponent",ctx.datetimepicker.calendarHeaderComponent)("timeInterval",ctx.datetimepicker.timeInterval)("twelvehour",ctx.datetimepicker.twelvehour)("showWeekNumbers",ctx.datetimepicker.showWeekNumbers)("selected",ctx.datetimepicker._selected)("timeInput",ctx.datetimepicker.timeInput)("actionsPortal",ctx._actionsPortal)("timeInputAutoFocus",ctx.datetimepicker.timeInputAutoFocus),\u0275\u0275attribute("mode",ctx.datetimepicker.mode),\u0275\u0275advance(),\u0275\u0275property("cdkPortalOutlet",ctx._actionsPortal),\u0275\u0275advance(),\u0275\u0275classProp("cdk-visually-hidden",!ctx._closeButtonFocused),\u0275\u0275property("color",ctx.color||"primary"),\u0275\u0275advance(),\u0275\u0275textInterpolate1(" ",ctx._closeButtonText," "))},dependencies:[CdkTrapFocus,MtxCalendar,CdkPortalOutlet,MatButton],styles:[`@keyframes _mtx-datetimepicker-content-dropdown-enter{0%{opacity:0;transform:scaleY(.8)}to{opacity:1;transform:none}}@keyframes _mtx-datetimepicker-content-dialog-enter{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:none}}@keyframes _mtx-datetimepicker-content-exit{0%{opacity:1}to{opacity:0}}.mtx-datetimepicker-content{display:block;border-radius:var(--mtx-datetimepicker-container-shape, var(--mat-sys-corner-large));background-color:var(--mtx-datetimepicker-container-background-color, var(--mat-sys-surface-container-high));box-shadow:var(--mtx-datetimepicker-container-elevation-shadow, 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12));color:var(--mtx-datetimepicker-container-text-color, var(--mat-sys-on-surface))}.mtx-datetimepicker-content.mtx-datetimepicker-content-animations-enabled{animation:_mtx-datetimepicker-content-dropdown-enter .12s cubic-bezier(0,0,.2,1)}.mtx-datetimepicker-content .mtx-calendar{width:296px;height:424px}.mtx-datetimepicker-content .mtx-calendar.mtx-calendar-with-time-input{height:494px}.mtx-datetimepicker-content .mtx-datetimepicker-content-container-with-actions .mtx-calendar.mtx-calendar-with-time-input{height:442px}.mtx-datetimepicker-content .mtx-datetimepicker-close-button{position:absolute;top:100%;left:0;margin-top:8px}.mtx-datetimepicker-content-animating .mtx-datetimepicker-content .mtx-datetimepicker-close-button{display:none}.mtx-datetimepicker-content-container{display:flex;flex-direction:column;justify-content:space-between}.mtx-datetimepicker-content[mode=landscape] .mtx-calendar{width:440px;height:328px}.mtx-datetimepicker-content[mode=landscape] .mtx-calendar.mtx-calendar-with-time-input{height:416px}.mtx-datetimepicker-content[mode=landscape] .mtx-datetimepicker-content-container-with-actions .mtx-calendar.mtx-calendar-with-time-input{height:356px}@media all and (orientation:landscape){.mtx-datetimepicker-content[mode=auto] .mtx-calendar{width:440px;height:328px}.mtx-datetimepicker-content[mode=auto] .mtx-calendar.mtx-calendar-with-time-input{height:416px}.mtx-datetimepicker-content[mode=auto] .mtx-datetimepicker-content-container-with-actions .mtx-calendar.mtx-calendar-with-time-input{height:356px}}.mtx-datetimepicker-content-touch{display:block;max-height:84vh;box-shadow:var(--mtx-datetimepicker-container-touch-elevation-shadow, 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12));border-radius:var(--mtx-datetimepicker-container-touch-shape, var(--mat-sys-corner-extra-large));position:relative;overflow:visible}.mtx-datetimepicker-content-touch.mtx-datetimepicker-content-animations-enabled{animation:_mtx-datetimepicker-content-dialog-enter .15s cubic-bezier(0,0,.2,1)}.mtx-datetimepicker-content-touch .mtx-datetimepicker-content-container{min-height:300px;max-height:850px;min-width:250px;max-width:750px}.mtx-datetimepicker-content-touch .mtx-calendar{width:100%;height:auto}.mtx-datetimepicker-content-touch .mtx-clock{width:50vh;max-width:80%;margin:12px auto}.mtx-datetimepicker-content-exit.mtx-datetimepicker-content-animations-enabled{animation:_mtx-datetimepicker-content-exit .1s linear}@media all and (orientation:landscape){.mtx-datetimepicker-content-touch .mtx-datetimepicker-content-container[mode=auto],.mtx-datetimepicker-content-touch .mtx-datetimepicker-content-container[mode=landscape]{width:120vh;height:80vh}.mtx-datetimepicker-content-touch .mtx-datetimepicker-content-container[mode=auto] .mtx-calendar,.mtx-datetimepicker-content-touch .mtx-datetimepicker-content-container[mode=auto].mtx-datetimepicker-content-container-with-actions .mtx-calendar.mtx-calendar-with-time-input,.mtx-datetimepicker-content-touch .mtx-datetimepicker-content-container[mode=landscape] .mtx-calendar,.mtx-datetimepicker-content-touch .mtx-datetimepicker-content-container[mode=landscape].mtx-datetimepicker-content-container-with-actions .mtx-calendar.mtx-calendar-with-time-input{width:auto;height:100%}.mtx-datetimepicker-content-touch .mtx-datetimepicker-content-container[mode=portrait]{width:64vh;height:80vh}.mtx-datetimepicker-content-touch .mtx-datetimepicker-content-container[mode=portrait] .mtx-calendar{width:100%;height:auto}}@media all and (orientation:portrait){.mtx-datetimepicker-content-touch .mtx-datetimepicker-content-container[mode=auto],.mtx-datetimepicker-content-touch .mtx-datetimepicker-content-container[mode=portrait]{width:80vw;height:120vw}.mtx-datetimepicker-content-touch .mtx-datetimepicker-content-container[mode=auto] .mtx-calendar,.mtx-datetimepicker-content-touch .mtx-datetimepicker-content-container[mode=portrait] .mtx-calendar{width:100%;height:auto}.mtx-datetimepicker-content-touch .mtx-datetimepicker-content-container[mode=auto].mtx-datetimepicker-content-container-with-actions,.mtx-datetimepicker-content-touch .mtx-datetimepicker-content-container[mode=auto].mtx-datetimepicker-content-container-with-time-input,.mtx-datetimepicker-content-touch .mtx-datetimepicker-content-container[mode=portrait].mtx-datetimepicker-content-container-with-actions,.mtx-datetimepicker-content-touch .mtx-datetimepicker-content-container[mode=portrait].mtx-datetimepicker-content-container-with-time-input{height:124vw}.mtx-datetimepicker-content-touch .mtx-datetimepicker-content-container[mode=landscape]{width:90vw;height:64vw}.mtx-datetimepicker-content-touch .mtx-datetimepicker-content-container[mode=landscape] .mtx-calendar{width:auto;height:100%}}
|
|
890
891
|
`],encapsulation:2,changeDetection:0})}}return MtxDatetimepickerContent2})(),MtxDatetimepicker=(()=>{class MtxDatetimepicker2{get panelClass(){return this._panelClass}set panelClass(value){this._panelClass=coerceStringArray(value)}get opened(){return this._opened}set opened(value){value?this.open():this.close()}get color(){return this._color||(this.datetimepickerInput?this.datetimepickerInput.getThemePalette():void 0)}set color(value){this._color=value}constructor(){if(this._overlay=inject(Overlay),this._viewContainerRef=inject(ViewContainerRef),this._scrollStrategy=inject(MTX_DATETIMEPICKER_SCROLL_STRATEGY),this._dateAdapter=inject(DatetimeAdapter,{optional:!0}),this._dir=inject(Directionality,{optional:!0}),this._defaultOptions=inject(MTX_DATETIMEPICKER_DEFAULT_OPTIONS,{optional:!0}),this._document=inject(DOCUMENT),this._injector=inject(Injector),this.multiYearSelector=this._defaultOptions?.multiYearSelector??!1,this.twelvehour=this._defaultOptions?.twelvehour??!1,this.showWeekNumbers=this._defaultOptions?.showWeekNumbers??!1,this.startView=this._defaultOptions?.startView??"month",this.mode=this._defaultOptions?.mode??"auto",this.timeInterval=this._defaultOptions?.timeInterval??1,this.preventSameDateTimeSelection=!1,this.calendarHeaderComponent=this._defaultOptions?.calendarHeaderComponent,this.selectedChanged=new EventEmitter,this.openedStream=new EventEmitter,this.closedStream=new EventEmitter,this.viewChanged=new EventEmitter,this._panelClass=coerceStringArray(this._defaultOptions?.panelClass),this._opened=!1,this.id=`mtx-datetimepicker-${datetimepickerUid++}`,this._color=this._defaultOptions?.color,this._disabledChange=new Subject,this._validSelected=null,this._focusedElementBeforeOpen=null,this._backdropHarnessClass=`${this.id}-backdrop`,this._inputStateChanges=Subscription.EMPTY,this._actionsPortal=null,this.oldValue=null,this._type=this._defaultOptions?.type??"datetime",this.touchUi=this._defaultOptions?.touchUi??!1,this.timeInput=this._defaultOptions?.timeInput??!1,this.timeInputAutoFocus=this._defaultOptions?.timeInputAutoFocus??!0,this.xPosition="start",this.yPosition="below",this.restoreFocus=!0,!this._dateAdapter)throw createMissingDateImplError("DateAdapter")}get startAt(){return this._startAt||(this.datetimepickerInput?this.datetimepickerInput.value:null)}set startAt(date){this._startAt=this._dateAdapter.getValidDateOrNull(date)}get type(){return this._type}set type(value){this._type=value||"datetime"}get disabled(){return this._disabled===void 0&&this.datetimepickerInput?this.datetimepickerInput.disabled:!!this._disabled}set disabled(value){value!==this._disabled&&(this._disabled=value,this._disabledChange.next(value))}get _selected(){return this._validSelected}set _selected(value){this._validSelected=value}get _minDate(){return this.datetimepickerInput&&this.datetimepickerInput.min}get _maxDate(){return this.datetimepickerInput&&this.datetimepickerInput.max}get _dateFilter(){return this.datetimepickerInput&&this.datetimepickerInput._dateFilter}_viewChanged(view){this.viewChanged.emit(view)}ngOnDestroy(){this._destroyOverlay(),this.close(),this._inputStateChanges.unsubscribe(),this._disabledChange.complete()}_select(date){this.oldValue=this._selected,this._selected=date,this._actionsPortal||this._dateAdapter.sameDatetime(this.oldValue,this._selected)||this.selectedChanged.emit(date)}_selectManually(){this._selected?this.selectedChanged.emit(this._selected||this.oldValue):(this._selected=this._dateAdapter.today(),this.selectedChanged.emit(this._selected)),this.close()}_clearSelected(){this.oldValue=null,this._selected=null,this.selectedChanged.emit(),this.close()}_registerInput(input2){if(this.datetimepickerInput)throw Error("A MtxDatetimepicker can only be associated with a single input.");this.datetimepickerInput=input2,this._inputStateChanges=this.datetimepickerInput._valueChange.subscribe(value=>this._selected=value)}open(){if(!(this._opened||this.disabled)){if(!this.datetimepickerInput)throw Error("Attempted to open an MtxDatetimepicker with no associated input.");this._focusedElementBeforeOpen=_getFocusedElementPierceShadowDom(),this._openOverlay(),this._opened=!0,this.openedStream.emit()}}close(){if(!this._opened)return;let canRestoreFocus=this.restoreFocus&&this._focusedElementBeforeOpen&&typeof this._focusedElementBeforeOpen.focus=="function",completeClose=()=>{this._opened&&(this._opened=!1,this.closedStream.emit())};if(this._componentRef){let{instance,location:location2}=this._componentRef;instance._animationDone.pipe(take(1)).subscribe(()=>{let activeElement=this._document.activeElement;canRestoreFocus&&(!activeElement||activeElement===this._document.activeElement||location2.nativeElement.contains(activeElement))&&this._focusedElementBeforeOpen.focus(),this._focusedElementBeforeOpen=null,this._destroyOverlay()}),instance._startExitAnimation()}canRestoreFocus?setTimeout(completeClose):completeClose()}_forwardContentValues(instance){instance.datetimepicker=this,instance.color=this.color,instance._dialogLabelId=this.datetimepickerInput.getOverlayLabelId(),instance.type=this.type,instance.view=this.startView,instance._assignActions(this._actionsPortal,!1)}_openOverlay(){this._destroyOverlay();let isDialog=this.touchUi,labelId=this.datetimepickerInput.getOverlayLabelId(),portal=new ComponentPortal(MtxDatetimepickerContent,this._viewContainerRef),overlayRef=this._overlayRef=this._overlay.create(new OverlayConfig({positionStrategy:isDialog?this._getDialogStrategy():this._getDropdownStrategy(),hasBackdrop:!0,backdropClass:[isDialog?"cdk-overlay-dark-backdrop":"mat-overlay-transparent-backdrop",this._backdropHarnessClass],direction:this._dir||void 0,scrollStrategy:isDialog?this._overlay.scrollStrategies.block():this._scrollStrategy(),panelClass:`mtx-datetimepicker-${isDialog?"dialog":"popup"}`})),overlayElement=overlayRef.overlayElement;overlayElement.setAttribute("role","dialog"),labelId&&overlayElement.setAttribute("aria-labelledby",labelId),isDialog&&overlayElement.setAttribute("aria-modal","true"),this._getCloseStream(overlayRef).subscribe(event2=>{event2&&event2.preventDefault(),this.close()}),this._componentRef=overlayRef.attach(portal),this._forwardContentValues(this._componentRef.instance),isDialog||afterNextRender(()=>{overlayRef.updatePosition()},{injector:this._injector})}_destroyOverlay(){this._overlayRef&&(this._overlayRef.dispose(),this._overlayRef=this._componentRef=null)}_getDialogStrategy(){return this._overlay.position().global().centerHorizontally().centerVertically()}_getDropdownStrategy(){let strategy=this._overlay.position().flexibleConnectedTo(this.datetimepickerInput.getConnectedOverlayOrigin()).withTransformOriginOn(".mtx-datetimepicker-content").withFlexibleDimensions(!1).withViewportMargin(8).withLockedPosition();return this._setConnectedPositions(strategy)}_setConnectedPositions(strategy){let primaryX=this.xPosition==="end"?"end":"start",secondaryX=primaryX==="start"?"end":"start",primaryY=this.yPosition==="above"?"bottom":"top",secondaryY=primaryY==="top"?"bottom":"top";return strategy.withPositions([{originX:primaryX,originY:secondaryY,overlayX:primaryX,overlayY:primaryY},{originX:primaryX,originY:primaryY,overlayX:primaryX,overlayY:secondaryY},{originX:secondaryX,originY:secondaryY,overlayX:secondaryX,overlayY:primaryY},{originX:secondaryX,originY:primaryY,overlayX:secondaryX,overlayY:secondaryY}])}_getCloseStream(overlayRef){return merge(overlayRef.backdropClick(),overlayRef.detachments(),overlayRef.keydownEvents().pipe(filter(event2=>event2.keyCode===27&&!hasModifierKey(event2)||this.datetimepickerInput&&hasModifierKey(event2,"altKey")&&event2.keyCode===38)))}registerActions(portal){if(this._actionsPortal)throw Error("A MtxDatetimepicker can only be associated with a single actions row.");this._actionsPortal=portal,this._componentRef?.instance._assignActions(portal,!0)}removeActions(portal){portal===this._actionsPortal&&(this._actionsPortal=null,this._componentRef?.instance._assignActions(null,!0))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||MtxDatetimepicker2)}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:MtxDatetimepicker2,selectors:[["mtx-datetimepicker"]],inputs:{multiYearSelector:[2,"multiYearSelector","multiYearSelector",booleanAttribute],twelvehour:[2,"twelvehour","twelvehour",booleanAttribute],showWeekNumbers:[2,"showWeekNumbers","showWeekNumbers",booleanAttribute],startView:"startView",mode:"mode",timeInterval:[2,"timeInterval","timeInterval",numberAttribute],preventSameDateTimeSelection:[2,"preventSameDateTimeSelection","preventSameDateTimeSelection",booleanAttribute],calendarHeaderComponent:"calendarHeaderComponent",panelClass:"panelClass",opened:[2,"opened","opened",booleanAttribute],color:"color",startAt:"startAt",type:"type",touchUi:[2,"touchUi","touchUi",booleanAttribute],timeInput:[2,"timeInput","timeInput",booleanAttribute],timeInputAutoFocus:[2,"timeInputAutoFocus","timeInputAutoFocus",booleanAttribute],disabled:[2,"disabled","disabled",booleanAttribute],xPosition:"xPosition",yPosition:"yPosition",restoreFocus:[2,"restoreFocus","restoreFocus",booleanAttribute]},outputs:{selectedChanged:"selectedChanged",openedStream:"opened",closedStream:"closed",viewChanged:"viewChanged"},exportAs:["mtxDatetimepicker"],decls:0,vars:0,template:function(rf,ctx){},encapsulation:2,changeDetection:0})}}return MtxDatetimepicker2})(),MAT_DATETIMEPICKER_VALUE_ACCESSOR={provide:NG_VALUE_ACCESSOR,useExisting:forwardRef(()=>MtxDatetimepickerInput),multi:!0},MAT_DATETIMEPICKER_VALIDATORS={provide:NG_VALIDATORS,useExisting:forwardRef(()=>MtxDatetimepickerInput),multi:!0},MtxDatetimepickerInputEvent=class{constructor(target,targetElement){this.target=target,this.targetElement=targetElement,this.value=this.target.value}},MtxDatetimepickerInput=(()=>{class MtxDatetimepickerInput2{constructor(){this._elementRef=inject(ElementRef),this._dateAdapter=inject(DatetimeAdapter,{optional:!0}),this._dateFormats=inject(MTX_DATETIME_FORMATS,{optional:!0}),this._formField=inject(MatFormField,{optional:!0}),this.dateChange=new EventEmitter,this.dateInput=new EventEmitter,this._valueChange=new EventEmitter,this._disabledChange=new EventEmitter,this._datetimepickerSubscription=Subscription.EMPTY,this._localeSubscription=Subscription.EMPTY,this._lastValueValid=!1,this._onTouched=()=>{},this._cvaOnChange=()=>{},this._validatorOnChange=()=>{},this._parseValidator=()=>this._lastValueValid?null:{mtxDatetimepickerParse:{text:this._elementRef.nativeElement.value}},this._minValidator=control=>{let controlValue=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(control.value));return!this.min||!controlValue||this._dateAdapter.compareDatetime(this.min,controlValue)<=0?null:{mtxDatetimepickerMin:{min:this.min,actual:controlValue}}},this._maxValidator=control=>{let controlValue=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(control.value));return!this.max||!controlValue||this._dateAdapter.compareDatetime(this.max,controlValue)>=0?null:{mtxDatetimepickerMax:{max:this.max,actual:controlValue}}},this._filterValidator=control=>{let controlValue=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(control.value));return!this._dateFilter||!controlValue||this._dateFilter(controlValue,MtxDatetimepickerFilterType.DATE)?null:{mtxDatetimepickerFilter:!0}},this._validator=Validators.compose([this._parseValidator,this._minValidator,this._maxValidator,this._filterValidator]);let _dateAdapter=this._dateAdapter;if(!this._dateAdapter)throw createMissingDateImplError("DatetimeAdapter");if(!this._dateFormats)throw createMissingDateImplError("MTX_DATETIME_FORMATS");this._localeSubscription=_dateAdapter.localeChanges.subscribe(()=>{this.value=this._dateAdapter.deserialize(this.value)})}set mtxDatetimepicker(value){this.registerDatetimepicker(value)}set mtxDatetimepickerFilter(filter2){this._dateFilter=filter2,this._validatorOnChange()}get value(){return this._value}set value(value){value=this._dateAdapter.deserialize(value),this._lastValueValid=!value||this._dateAdapter.isValid(value),value=this._dateAdapter.getValidDateOrNull(value);let oldDate=this.value;this._value=value,this._formatValue(value),setTimeout(()=>{this._dateAdapter.sameDatetime(oldDate,value)||this._valueChange.emit(value)})}get min(){return this._min}set min(value){this._min=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(value)),this._validatorOnChange()}get max(){return this._max}set max(value){this._max=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(value)),this._validatorOnChange()}get disabled(){return!!this._disabled}set disabled(value){this._disabled!==value&&(this._disabled=value,this._disabledChange.emit(value))}ngAfterContentInit(){this._datetimepicker&&(this._datetimepickerSubscription=this._datetimepicker.selectedChanged.subscribe(selected=>{this.value=selected,this._cvaOnChange(selected),this._onTouched(),this.dateInput.emit(new MtxDatetimepickerInputEvent(this,this._elementRef.nativeElement)),this.dateChange.emit(new MtxDatetimepickerInputEvent(this,this._elementRef.nativeElement))}))}ngOnDestroy(){this._datetimepickerSubscription.unsubscribe(),this._localeSubscription.unsubscribe(),this._valueChange.complete(),this._disabledChange.complete()}registerOnValidatorChange(fn2){this._validatorOnChange=fn2}validate(c){return this._validator?this._validator(c):null}getConnectedOverlayOrigin(){return this._formField?this._formField.getConnectedOverlayOrigin():this._elementRef}getOverlayLabelId(){return this._formField?this._formField.getLabelId():this._elementRef.nativeElement.getAttribute("aria-labelledby")}writeValue(value){this.value=value}registerOnChange(fn2){this._cvaOnChange=fn2}registerOnTouched(fn2){this._onTouched=fn2}setDisabledState(disabled){this.disabled=disabled}_onKeydown(event2){event2.altKey&&event2.keyCode===40&&(this._datetimepicker.open(),event2.preventDefault())}_onInput(event2){let value=event2.target.value,date=this._dateAdapter.parse(value,this.getParseFormat());this._lastValueValid=!date||this._dateAdapter.isValid(date),date=this._dateAdapter.getValidDateOrNull(date),this._value=date,this._cvaOnChange(date),this._valueChange.emit(date),this.dateInput.emit(new MtxDatetimepickerInputEvent(this,this._elementRef.nativeElement))}_onChange(){this.dateChange.emit(new MtxDatetimepickerInputEvent(this,this._elementRef.nativeElement))}_onBlur(){this.value&&this._formatValue(this.value),this._onTouched()}registerDatetimepicker(value){value&&(this._datetimepicker=value,this._datetimepicker._registerInput(this))}getDisplayFormat(){switch(this._datetimepicker.type){case"date":return this._dateFormats.display.dateInput;case"datetime":return this._dateFormats.display.datetimeInput;case"time":return this._dateFormats.display.timeInput;case"month":return this._dateFormats.display.monthInput;case"year":return this._dateFormats.display.yearInput}}getParseFormat(){let parseFormat;switch(this._datetimepicker.type){case"date":parseFormat=this._dateFormats.parse.dateInput;break;case"datetime":parseFormat=this._dateFormats.parse.datetimeInput;break;case"time":parseFormat=this._dateFormats.parse.timeInput;break;case"month":parseFormat=this._dateFormats.parse.monthInput;break;case"year":parseFormat=this._dateFormats.parse.yearInput;break}return parseFormat||(parseFormat=this._dateFormats.parse.dateInput),parseFormat}_formatValue(value){this._elementRef.nativeElement.value=value?this._dateAdapter.format(value,this.getDisplayFormat()):""}getThemePalette(){return this._formField?this._formField.color:void 0}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||MtxDatetimepickerInput2)}}static{this.\u0275dir=\u0275\u0275defineDirective({type:MtxDatetimepickerInput2,selectors:[["input","mtxDatetimepicker",""]],hostVars:5,hostBindings:function(rf,ctx){rf&1&&\u0275\u0275listener("input",function($event){return ctx._onInput($event)})("change",function(){return ctx._onChange()})("blur",function(){return ctx._onBlur()})("keydown",function($event){return ctx._onKeydown($event)}),rf&2&&(\u0275\u0275domProperty("disabled",ctx.disabled),\u0275\u0275attribute("aria-haspopup",!0)("aria-owns",(ctx._datetimepicker==null?null:ctx._datetimepicker.opened)&&ctx._datetimepicker.id||null)("min",ctx.min?ctx._dateAdapter.toIso8601(ctx.min):null)("max",ctx.max?ctx._dateAdapter.toIso8601(ctx.max):null))},inputs:{mtxDatetimepicker:"mtxDatetimepicker",mtxDatetimepickerFilter:"mtxDatetimepickerFilter",value:"value",min:"min",max:"max",disabled:[2,"disabled","disabled",booleanAttribute]},outputs:{dateChange:"dateChange",dateInput:"dateInput"},exportAs:["mtxDatetimepickerInput"],features:[\u0275\u0275ProvidersFeature([MAT_DATETIMEPICKER_VALUE_ACCESSOR,MAT_DATETIMEPICKER_VALIDATORS,{provide:MAT_INPUT_VALUE_ACCESSOR,useExisting:MtxDatetimepickerInput2}])]})}}return MtxDatetimepickerInput2})(),MtxDatetimepickerToggleIcon=(()=>{class MtxDatetimepickerToggleIcon2{static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||MtxDatetimepickerToggleIcon2)}}static{this.\u0275dir=\u0275\u0275defineDirective({type:MtxDatetimepickerToggleIcon2,selectors:[["","mtxDatetimepickerToggleIcon",""]]})}}return MtxDatetimepickerToggleIcon2})(),MtxDatetimepickerToggle=(()=>{class MtxDatetimepickerToggle2{get disabled(){return this._disabled===void 0?this.datetimepicker.disabled:!!this._disabled}set disabled(value){this._disabled=value}constructor(){this._intl=inject(MtxDatetimepickerIntl),this._changeDetectorRef=inject(ChangeDetectorRef),this._stateChanges=Subscription.EMPTY;let defaultTabIndex=inject(new HostAttributeToken("tabindex"),{optional:!0}),parsedTabIndex=Number(defaultTabIndex);this.tabIndex=parsedTabIndex||parsedTabIndex===0?parsedTabIndex:null}ngOnChanges(changes){changes.datetimepicker&&this._watchStateChanges()}ngOnDestroy(){this._stateChanges.unsubscribe()}ngAfterContentInit(){this._watchStateChanges()}_open(event2){this.datetimepicker&&!this.disabled&&(this.datetimepicker.open(),event2.stopPropagation())}_watchStateChanges(){let datetimepickerDisabled=this.datetimepicker?this.datetimepicker._disabledChange:of(),inputDisabled=this.datetimepicker&&this.datetimepicker.datetimepickerInput?this.datetimepicker.datetimepickerInput._disabledChange:of(),datetimepickerToggled=this.datetimepicker?merge(this.datetimepicker.openedStream,this.datetimepicker.closedStream):of();this._stateChanges.unsubscribe(),this._stateChanges=merge(this._intl.changes,datetimepickerDisabled,inputDisabled,datetimepickerToggled).subscribe(()=>this._changeDetectorRef.markForCheck())}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||MtxDatetimepickerToggle2)}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:MtxDatetimepickerToggle2,selectors:[["mtx-datetimepicker-toggle"]],contentQueries:function(rf,ctx,dirIndex){if(rf&1&&\u0275\u0275contentQuery(dirIndex,MtxDatetimepickerToggleIcon,5),rf&2){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx._customIcon=_t.first)}},viewQuery:function(rf,ctx){if(rf&1&&\u0275\u0275viewQuery(_c32,5),rf&2){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx._button=_t.first)}},hostAttrs:[1,"mtx-datetimepicker-toggle"],hostVars:8,hostBindings:function(rf,ctx){rf&1&&\u0275\u0275listener("click",function($event){return ctx._open($event)}),rf&2&&(\u0275\u0275attribute("tabindex",null)("data-mtx-calendar",ctx.datetimepicker?ctx.datetimepicker.id:null),\u0275\u0275classProp("mtx-datetimepicker-toggle-active",ctx.datetimepicker&&ctx.datetimepicker.opened)("mat-accent",ctx.datetimepicker&&ctx.datetimepicker.color==="accent")("mat-warn",ctx.datetimepicker&&ctx.datetimepicker.color==="warn"))},inputs:{datetimepicker:[0,"for","datetimepicker"],tabIndex:"tabIndex",ariaLabel:[0,"aria-label","ariaLabel"],disabled:[2,"disabled","disabled",booleanAttribute],disableRipple:[2,"disableRipple","disableRipple",booleanAttribute]},exportAs:["mtxDatetimepickerToggle"],features:[\u0275\u0275NgOnChangesFeature],ngContentSelectors:_c5,decls:4,vars:6,consts:[["button",""],["matIconButton","","type","button",3,"disabled","disableRipple"],["viewBox","0 0 24 24","width","24px","height","24px","fill","currentColor","focusable","false",1,"mtx-datetimepicker-toggle-default-icon"],["d","M12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22C6.47,22 2,17.5 2,12A10,10 0 0,1 12,2M12.5,7V12.25L17,14.92L16.25,16.15L11,13V7H12.5Z"],["d","M15,13H16.5V15.82L18.94,17.23L18.19,18.53L15,16.69V13M19,8H5V19H9.67C9.24,18.09 9,17.07 9,16A7,7 0 0,1 16,9C17.07,9 18.09,9.24 19,9.67V8M5,21C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H6V1H8V3H16V1H18V3H19A2,2 0 0,1 21,5V11.1C22.24,12.36 23,14.09 23,16A7,7 0 0,1 16,23C14.09,23 12.36,22.24 11.1,21H5M16,11.15A4.85,4.85 0 0,0 11.15,16C11.15,18.68 13.32,20.85 16,20.85A4.85,4.85 0 0,0 20.85,16C20.85,13.32 18.68,11.15 16,11.15Z"],["d","M0 0h24v24H0z","fill","none"],["d","M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zM7 10h5v5H7z"]],template:function(rf,ctx){rf&1&&(\u0275\u0275projectionDef(_c4),\u0275\u0275elementStart(0,"button",1,0),\u0275\u0275conditionalCreate(2,MtxDatetimepickerToggle_Conditional_2_Template,3,1),\u0275\u0275projection(3),\u0275\u0275elementEnd()),rf&2&&(\u0275\u0275property("disabled",ctx.disabled)("disableRipple",ctx.disableRipple),\u0275\u0275attribute("aria-haspopup",ctx.datetimepicker?"dialog":null)("aria-label",ctx.ariaLabel||ctx._intl.openCalendarLabel)("tabindex",ctx.disabled?-1:ctx.tabIndex),\u0275\u0275advance(2),\u0275\u0275conditional(ctx._customIcon?-1:2))},dependencies:[MatIconButton],styles:[`.mtx-datetimepicker-toggle{pointer-events:auto;color:var(--mtx-datetimepicker-toggle-icon-color, var(--mat-sys-on-surface-variant))}.mtx-datetimepicker-toggle-active{color:var(--mtx-datetimepicker-toggle-active-state-icon-color, var(--mat-sys-on-surface-variant))}@media(forced-colors:active){.mtx-datetimepicker-toggle-default-icon{color:CanvasText}}
|
|
891
892
|
`],encapsulation:2,changeDetection:0})}}return MtxDatetimepickerToggle2})();var MtxDatetimepickerModule=(()=>{class MtxDatetimepickerModule2{static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||MtxDatetimepickerModule2)}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:MtxDatetimepickerModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({imports:[CommonModule,OverlayModule,A11yModule,PortalModule,MatButtonModule,MtxCalendar,MtxTimeView,MtxDatetimepickerToggle,MtxDatetimepickerContent]})}}return MtxDatetimepickerModule2})();function range3(length,valueFunction){let valuesArray=Array(length);for(let i=0;i<length;i++)valuesArray[i]=valueFunction(i);return valuesArray}var LuxonDatetimeAdapter=(()=>{class LuxonDatetimeAdapter2 extends DatetimeAdapter{constructor(){super(),this._useUtc=!1;let matDateLocale=inject(MAT_DATE_LOCALE,{optional:!0}),matLuxonAdapterOptions=inject(MAT_LUXON_DATE_ADAPTER_OPTIONS,{optional:!0});this.setLocale(matDateLocale||DateTime.now().locale),this._useUtc=matLuxonAdapterOptions?.useUtc||!1}setLocale(locale){super.setLocale(locale)}getHour(date){return date.hour}getMinute(date){return date.minute}isInNextMonth(startDate,endDate){let nextMonth=this.getDateInNextMonth(startDate);return super.sameMonthAndYear(nextMonth,endDate)}getWeek(date,firstDayOfWeek){return date.localWeekNumber}createDatetime(year,month,day,hour,minute){if(month<0||month>11)throw Error(`Invalid month index "${month}". Month index has to be between 0 and 11.`);if(day<1)throw Error(`Invalid date "${day}". Date has to be greater than 0.`);if(hour<0||hour>23)throw Error(`Invalid hour "${hour}". Hour has to be between 0 and 23.`);if(minute<0||minute>59)throw Error(`Invalid minute "${minute}". Minute has to be between 0 and 59.`);let result;if(this._useUtc?result=DateTime.utc(year,month+1,day,hour,minute):result=DateTime.local(year,month+1,day,hour,minute),!result.isValid)throw Error(`Invalid date "${day}" for month with index "${month}".`);return result.setLocale(this.locale)}getFirstDateOfMonth(date){return super.clone(date).startOf("month")}getHourNames(){return range3(24,i=>i.toLocaleString(this.locale))}getMinuteNames(){return range3(60,i=>i.toLocaleString(this.locale))}addCalendarHours(date,hours){return date.plus({hours})}addCalendarMinutes(date,minutes){return date.plus({minutes})}deserialize(value){return this._delegate.deserialize(value)}getDateInNextMonth(date){return date.plus({month:1})}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||LuxonDatetimeAdapter2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:LuxonDatetimeAdapter2,factory:LuxonDatetimeAdapter2.\u0275fac})}}return LuxonDatetimeAdapter2})(),MTX_LUXON_DATETIME_FORMATS={parse:{dateInput:"D",monthInput:"LLLL",yearInput:"yyyy",datetimeInput:"f",timeInput:"t"},display:{dateInput:"D",monthInput:"LLLL",yearInput:"yyyy",datetimeInput:"f",timeInput:"t",monthYearLabel:"yyyy",dateA11yLabel:"DDD",monthYearA11yLabel:"LLLL yyyy",popupHeaderDateLabel:"ccc, dd LLL"}};function provideLuxonDatetimeAdapter(formats=MTX_LUXON_DATETIME_FORMATS){return[{provide:DateAdapter,useClass:LuxonDateAdapter,deps:[MAT_DATE_LOCALE,MAT_LUXON_DATE_ADAPTER_OPTIONS]},{provide:DatetimeAdapter,useClass:LuxonDatetimeAdapter},{provide:MTX_DATETIME_FORMATS,useValue:formats}]}var setLocale=createAction("[Localization] Set Locale",props()),setTimeZone=createAction("[Localization] Set Time Zone",props());var LOCALE_STORAGE_KEY="locale";var LANGUAGE_TO_LOCALES=[{code:"nl",locale:"nl-NL"},{code:"de",locale:"de-DE"},{code:"en",locale:"en-US"}],TIME_ZONE_STORAGE_KEY="timezone";function mapLangToLocale(lang){return LANGUAGE_TO_LOCALES.find(map4=>map4.code===lang)?.locale||lang}var LocalizationService=(()=>{class LocalizationService2{constructor(storage){this.storage=storage}getLocale(){if(this.storage.has(LOCALE_STORAGE_KEY)){let locale=this.storage.get(LOCALE_STORAGE_KEY);return locale.includes("_")&&(locale=locale.replace("_","-"),this.setLocale(locale)),locale}return mapLangToLocale(Intl.DateTimeFormat().resolvedOptions().locale)}getTimeZone(){return this.storage.has(TIME_ZONE_STORAGE_KEY)?this.storage.get(TIME_ZONE_STORAGE_KEY):Intl.DateTimeFormat().resolvedOptions().timeZone}setLocale(locale){locale!==null?(this.storage.forever(LOCALE_STORAGE_KEY,locale),Settings.defaultLocale=locale):(this.storage.forget(LOCALE_STORAGE_KEY),Settings.defaultLocale=mapLangToLocale(Intl.DateTimeFormat().resolvedOptions().locale))}setTimeZone(timeZone){timeZone!==null?(this.storage.forever(TIME_ZONE_STORAGE_KEY,timeZone),Settings.defaultZone=timeZone):(this.storage.forget(TIME_ZONE_STORAGE_KEY),Settings.defaultZone=Intl.DateTimeFormat().resolvedOptions().timeZone)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||LocalizationService2)(\u0275\u0275inject(StorageService))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:LocalizationService2,factory:LocalizationService2.\u0275fac,providedIn:"root"})}}return LocalizationService2})();var LocalizationEffects=(()=>{class LocalizationEffects2{constructor(actions$,service){this.actions$=actions$,this.service=service,this.setLocale$=createEffect(()=>this.actions$.pipe(ofType(setLocale),tap(({locale})=>this.service.setLocale(locale))),{dispatch:!1}),this.setTimeZone$=createEffect(()=>this.actions$.pipe(ofType(setTimeZone),tap(({timeZone})=>this.service.setTimeZone(timeZone))),{dispatch:!1}),this.setDefaultUserPreferences$=createEffect(()=>this.actions$.pipe(ofType(logInSuccess,loadMeSuccess3),map(({data})=>({localisation:get_default(data,"localisation",get_default(data,"user.localisation")),timeZone:get_default(data,"timeZone",get_default(data,"user.timeZone"))})),filter(({localisation,timeZone})=>isNil_default(localisation)||isNil_default(timeZone)),map(({localisation,timeZone})=>updateMe2({data:__spreadValues(__spreadValues({},isNil_default(localisation)?{localisation:this.service.getLocale()}:{}),isNil_default(timeZone)?{timeZone:this.service.getTimeZone()}:{})})))),this.localeUserPreference$=createEffect(()=>this.actions$.pipe(ofType(logInSuccess,loadMeSuccess3,updateMeSuccess2,didUpdateMe2),map(({data})=>get_default(data,"localisation",get_default(data,"user.localisation"))),filter(locale=>locale!==void 0),distinctUntilChanged(),map(locale=>setLocale({locale})))),this.timeZoneUserPreference$=createEffect(()=>this.actions$.pipe(ofType(logInSuccess,loadMeSuccess3,updateMeSuccess2,didUpdateMe2),map(({data})=>get_default(data,"timeZone",get_default(data,"user.timeZone"))),filter(timeZone=>timeZone!==void 0),distinctUntilChanged(),map(timeZone=>setTimeZone({timeZone}))))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||LocalizationEffects2)(\u0275\u0275inject(Actions),\u0275\u0275inject(LocalizationService))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:LocalizationEffects2,factory:LocalizationEffects2.\u0275fac})}}return LocalizationEffects2})();var LocalizationModule=(()=>{class LocalizationModule2{constructor(storage){Settings.defaultLocale=storage.get(LOCALE_STORAGE_KEY,mapLangToLocale(Intl.DateTimeFormat().resolvedOptions().locale)),Settings.defaultZone=storage.get(TIME_ZONE_STORAGE_KEY,Intl.DateTimeFormat().resolvedOptions().timeZone)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||LocalizationModule2)(\u0275\u0275inject(StorageService))}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:LocalizationModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({providers:[{provide:MAT_DATE_LOCALE,useFactory:service=>service.getLocale(),deps:[LocalizationService]}],imports:[StorageModule,EffectsModule.forFeature([LocalizationEffects])]})}}return LocalizationModule2})();function DateTimeInputComponent_Conditional_0_Template(rf,ctx){if(rf&1&&(\u0275\u0275element(0,"p",1),\u0275\u0275pipe(1,"renderMarkdown")),rf&2){let ctx_r0=\u0275\u0275nextContext();\u0275\u0275property("innerHTML",\u0275\u0275pipeBind1(1,1,ctx_r0.field.inputDescription.description),\u0275\u0275sanitizeHtml)}}function DateTimeInputComponent_Conditional_8_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",6),\u0275\u0275text(1,"__MESSAGE__.REQUIRED"),\u0275\u0275elementEnd())}var DateTimeInputComponent=(()=>{class DateTimeInputComponent2 extends ComponentInputComponent{constructor(){super(...arguments),this.destroy=inject(DestroyRef),this.platform=inject(CAPACITOR_PLATFORM),this.formControl=new FormControl(null),this.useTwelveHourFormat=/[AP]M$/i.test(DateTime.now().toFormat("t"))}ngOnInit(){this.formControl.valueChanges.pipe(takeUntilDestroyed(this.destroy)).subscribe(datetime=>{this.formControl.valid&&(this.formControl.dirty&&this.control.markAsDirty(),this.control.setValue(datetime?.toUTC().toISO({suppressMilliseconds:!0})))}),this.formControl.setValidators(this.getValidators());let value=this.inputControl?.value||this.field.inputDescription.defaultValue;this.formControl.setValue(value?DateTime.fromISO(value):null),this.field.inputDescription.disabled&&this.formControl.disable()}get control(){return this.componentFormGroup.controls[this.field.inputName]}get min(){return this.field.inputDescription.min}get max(){return this.field.inputDescription.max}getValidators(){let validators=[],{required}=this.field.inputDescription;return required&&validators.push(Validators.required),validators}static{this.\u0275fac=(()=>{let \u0275DateTimeInputComponent_BaseFactory;return function(__ngFactoryType__){return(\u0275DateTimeInputComponent_BaseFactory||(\u0275DateTimeInputComponent_BaseFactory=\u0275\u0275getInheritedFactory(DateTimeInputComponent2)))(__ngFactoryType__||DateTimeInputComponent2)}})()}static{this.\u0275cmp=\u0275\u0275defineComponent({type:DateTimeInputComponent2,selectors:[["ix-date-time-input"]],features:[\u0275\u0275ProvidersFeature([provideLuxonDatetimeAdapter(),{provide:MAT_DATE_LOCALE,useFactory:service=>service.getLocale(),deps:[LocalizationService]}]),\u0275\u0275InheritDefinitionFeature],decls:9,vars:16,consts:[["datetimePicker",""],[1,"description",3,"innerHTML"],[3,"formGroup"],["type","datetime","mode","auto","startView","month",3,"multiYearSelector","showWeekNumbers","timeInterval","timeInput","timeInputAutoFocus","touchUi","twelvehour"],["matInput","",3,"mtxDatetimepicker","formControl","min","max"],["matSuffix","",3,"for"],["translate",""]],template:function(rf,ctx){if(rf&1&&(\u0275\u0275conditionalCreate(0,DateTimeInputComponent_Conditional_0_Template,2,3,"p",1),\u0275\u0275elementStart(1,"mat-form-field",2)(2,"mat-label"),\u0275\u0275text(3),\u0275\u0275elementEnd(),\u0275\u0275element(4,"mtx-datetimepicker",3,0)(6,"input",4)(7,"mtx-datetimepicker-toggle",5),\u0275\u0275conditionalCreate(8,DateTimeInputComponent_Conditional_8_Template,2,0,"mat-error",6),\u0275\u0275elementEnd()),rf&2){let datetimePicker_r2=\u0275\u0275reference(5);\u0275\u0275conditional(ctx.field.inputDescription.description?0:-1),\u0275\u0275advance(),\u0275\u0275property("formGroup",ctx.componentFormGroup),\u0275\u0275advance(2),\u0275\u0275textInterpolate(ctx.field.inputDescription.label),\u0275\u0275advance(),\u0275\u0275property("multiYearSelector",!0)("showWeekNumbers",!1)("timeInterval",1)("timeInput",!0)("timeInputAutoFocus",!0)("touchUi",ctx.platform!=="web")("twelvehour",ctx.useTwelveHourFormat),\u0275\u0275advance(2),\u0275\u0275property("mtxDatetimepicker",datetimePicker_r2)("formControl",ctx.formControl)("min",ctx.min)("max",ctx.max),\u0275\u0275advance(),\u0275\u0275property("for",datetimePicker_r2),\u0275\u0275advance(),\u0275\u0275conditional(ctx.formControl.hasError("required")?8:-1)}},dependencies:[LocalizationModule,MatFormFieldModule,MatFormField,MatLabel,MatError,MatSuffix,MatInputModule,MatInput,MtxDatetimepickerModule,MtxDatetimepicker,MtxDatetimepickerToggle,MtxDatetimepickerInput,ReactiveFormsModule,DefaultValueAccessor,NgControlStatus,NgControlStatusGroup,FormControlDirective,FormGroupDirective,TranslateModule,TranslateDirective,RenderMarkdownPipe],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .description[_ngcontent-%COMP%]{font-size:11px}[_nghost-%COMP%] .mtx-datetimepicker-toggle[_ngcontent-%COMP%]{margin-right:4px}[_nghost-%COMP%] .mat-mdc-form-field[_ngcontent-%COMP%]{width:100%}"],changeDetection:0})}}return DateTimeInputComponent2})();var MAX_FILE_SIZE=1e7;function readFile(file,output2){return new Observable(subscriber=>{let reader=createFileReader();reader.addEventListener("abort",onAbort),reader.addEventListener("error",onError),reader.addEventListener("load",onLoad),reader.addEventListener("progress",onProgress);let method=`readAs${upperFirst_default(output2)}`;return reader[method]&&reader[method](file),()=>{reader.removeEventListener("abort",onAbort),reader.removeEventListener("error",onError),reader.removeEventListener("load",onLoad),reader.removeEventListener("progress",onProgress)};function onAbort(event2){subscriber.next({event:event2}),subscriber.complete()}function onProgress(event2){subscriber.next({event:event2})}function onError(event2){subscriber.error(event2),subscriber.complete()}function onLoad(event2){subscriber.next({event:event2,result:reader.result||void 0}),subscriber.complete()}})}function createFileReader(){let reader=new FileReader;return reader._realReader?reader._realReader:reader}function readFileAsDataURL(file){return readFile(file,"dataURL")}function getFilesFromEvent(event2){let files;return files=Array.from(get_default(event2,"target.files",[])),files.length||(files=Array.from(get_default(event2,"dataTransfer.files",[]))),files}function mapMimeTypeToIcon(type){if(type.startsWith("image/"))return"image";if(type.startsWith("audio/"))return"audio_file";if(type.startsWith("video/"))return"video_file";switch(type){case"application/x-cdf":return"audio_file";case"application/vnd.rar":case"application/x-7z-compressed":case"application/x-bzip":case"application/x-bzip2":case"application/x-freearc":case"application/x-tar":case"application/zip":case"application/gzip":return"folder_zip";case"application/pdf":return"picture_as_pdf";default:return"insert_drive_file"}}function getHeightAndWidthFromDataUrl(dataURL){return new Promise(resolve=>{let img=new Image;img.onload=()=>{resolve({height:img.height,width:img.width})},img.src=dataURL})}var _c014=["fileInput"],_c16=["*"];function FileUploadButtonComponent_Case_2_ng_container_1_Template(rf,ctx){rf&1&&\u0275\u0275elementContainer(0)}function FileUploadButtonComponent_Case_2_Template(rf,ctx){if(rf&1){let _r1=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"button",8),\u0275\u0275listener("click",function(){\u0275\u0275restoreView(_r1),\u0275\u0275nextContext();let fileInput_r2=\u0275\u0275reference(1);return \u0275\u0275resetView(fileInput_r2.click())}),\u0275\u0275template(1,FileUploadButtonComponent_Case_2_ng_container_1_Template,1,0,"ng-container",9),\u0275\u0275elementEnd()}if(rf&2){let ctx_r2=\u0275\u0275nextContext(),innerContent_r4=\u0275\u0275reference(8);\u0275\u0275property("color",ctx_r2.color),\u0275\u0275advance(),\u0275\u0275property("ngTemplateOutlet",innerContent_r4)}}function FileUploadButtonComponent_Case_3_ng_container_1_Template(rf,ctx){rf&1&&\u0275\u0275elementContainer(0)}function FileUploadButtonComponent_Case_3_Template(rf,ctx){if(rf&1){let _r5=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"button",10),\u0275\u0275listener("click",function(){\u0275\u0275restoreView(_r5),\u0275\u0275nextContext();let fileInput_r2=\u0275\u0275reference(1);return \u0275\u0275resetView(fileInput_r2.click())}),\u0275\u0275template(1,FileUploadButtonComponent_Case_3_ng_container_1_Template,1,0,"ng-container",9),\u0275\u0275elementEnd()}if(rf&2){let ctx_r2=\u0275\u0275nextContext(),innerContent_r4=\u0275\u0275reference(8);\u0275\u0275property("color",ctx_r2.color),\u0275\u0275advance(),\u0275\u0275property("ngTemplateOutlet",innerContent_r4)}}function FileUploadButtonComponent_Case_4_ng_container_1_Template(rf,ctx){rf&1&&\u0275\u0275elementContainer(0)}function FileUploadButtonComponent_Case_4_Template(rf,ctx){if(rf&1){let _r6=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"button",11),\u0275\u0275listener("click",function(){\u0275\u0275restoreView(_r6),\u0275\u0275nextContext();let fileInput_r2=\u0275\u0275reference(1);return \u0275\u0275resetView(fileInput_r2.click())}),\u0275\u0275template(1,FileUploadButtonComponent_Case_4_ng_container_1_Template,1,0,"ng-container",9),\u0275\u0275elementEnd()}if(rf&2){let ctx_r2=\u0275\u0275nextContext(),innerContent_r4=\u0275\u0275reference(8);\u0275\u0275property("color",ctx_r2.color),\u0275\u0275advance(),\u0275\u0275property("ngTemplateOutlet",innerContent_r4)}}function FileUploadButtonComponent_Case_5_ng_container_1_Template(rf,ctx){rf&1&&\u0275\u0275elementContainer(0)}function FileUploadButtonComponent_Case_5_Template(rf,ctx){if(rf&1){let _r7=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"button",12),\u0275\u0275listener("click",function(){\u0275\u0275restoreView(_r7),\u0275\u0275nextContext();let fileInput_r2=\u0275\u0275reference(1);return \u0275\u0275resetView(fileInput_r2.click())}),\u0275\u0275template(1,FileUploadButtonComponent_Case_5_ng_container_1_Template,1,0,"ng-container",9),\u0275\u0275elementEnd()}if(rf&2){let ctx_r2=\u0275\u0275nextContext(),innerContent_r4=\u0275\u0275reference(8);\u0275\u0275property("color",ctx_r2.color),\u0275\u0275advance(),\u0275\u0275property("ngTemplateOutlet",innerContent_r4)}}function FileUploadButtonComponent_Case_6_ng_container_1_Template(rf,ctx){rf&1&&\u0275\u0275elementContainer(0)}function FileUploadButtonComponent_Case_6_Template(rf,ctx){if(rf&1){let _r8=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"button",13),\u0275\u0275listener("click",function(){\u0275\u0275restoreView(_r8),\u0275\u0275nextContext();let fileInput_r2=\u0275\u0275reference(1);return \u0275\u0275resetView(fileInput_r2.click())}),\u0275\u0275template(1,FileUploadButtonComponent_Case_6_ng_container_1_Template,1,0,"ng-container",9),\u0275\u0275elementEnd()}if(rf&2){\u0275\u0275nextContext();let innerContent_r4=\u0275\u0275reference(8);\u0275\u0275advance(),\u0275\u0275property("ngTemplateOutlet",innerContent_r4)}}function FileUploadButtonComponent_ng_template_7_Template(rf,ctx){rf&1&&\u0275\u0275projection(0)}var FileUploadButtonComponent=(()=>{class FileUploadButtonComponent2{constructor(){this.multiple=!1,this.color="primary",this.fileChange=new EventEmitter,this.fileChanges=new EventEmitter,this.snackBar=inject(MatSnackBar),this.translate=inject(TranslateService)}ngOnChanges(){this.label||(this.label=this.getDefaultLabel())}change(event2){return __async(this,null,function*(){let fileObjects=getFilesFromEvent(event2);if(fileObjects.length){let files=[];for(let file of fileObjects){let{result:previewSrc}=yield firstValueFrom(readFileAsDataURL(file).pipe(filter(data=>data.event.type==="load")));if(file.type&&!this.isAllowedFileType(file.type)){let message=this.translate.instant("__MESSAGE__.INVALID_FILE_TYPE");this.snackBar.open(message,void 0,{duration:3e3}),this.clearFileInput(),files=[];break}else if(file.size!==void 0&&!this.isAllowedFileSize(file.size)){let name=file.name,size=`${this.allowMaxFileSize/1e3/1e3}MB`,message=this.translate.instant("__MESSAGE__.MAX_FILE_SIZE",{name,size});this.snackBar.open(message,void 0,{duration:3e3}),this.clearFileInput(),files=[];break}else if(this.imageSize&&this.isFileTypeImage(file)){let{height,width}=yield getHeightAndWidthFromDataUrl(previewSrc);if(this.isAllowedImageHeightAndWidth(height,width)){let actual=`${width} x ${height}px`,expected=`${this.imageSize?.width} x ${this.imageSize?.height}px`,message=this.translate.instant("__MESSAGE__.INVALID_IMAGE_SIZE",{actual,expected});this.snackBar.open(message,void 0,{duration:3e3}),this.clearFileInput(),files=[];break}else files.push({file,previewSrc})}else files.push({file,previewSrc})}this.multiple?this.fileChanges.emit(files):this.fileChange.emit(files.length?files[0]:null)}else this.multiple?this.fileChanges.emit([]):this.fileChange.emit(null)})}clearFileInput(){this.fileInputRef&&(this.fileInputRef.nativeElement.value=null)}getDefaultLabel(){return"Choose file"}isAllowedFileSize(fileSize){return fileSize<=this.allowMaxFileSize}isAllowedFileType(fileType){return this.allowedMimeTypes!==void 0?this.allowedMimeTypes.includes(fileType):!0}isAllowedImageHeightAndWidth(height,width){return this.imageSize===void 0?!0:!(this.imageSize.height===height&&this.imageSize.width===width)}isFileTypeImage(file){return file.type.includes("image")}get allowMaxFileSize(){return this.maxFileSize??MAX_FILE_SIZE}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||FileUploadButtonComponent2)}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:FileUploadButtonComponent2,selectors:[["ix-file-upload-button"]],viewQuery:function(rf,ctx){if(rf&1&&\u0275\u0275viewQuery(_c014,7),rf&2){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx.fileInputRef=_t.first)}},inputs:{allowedMimeTypes:"allowedMimeTypes",multiple:"multiple",matButtonType:"matButtonType",color:"color",imageSize:"imageSize",label:"label",maxFileSize:"maxFileSize"},outputs:{fileChange:"fileChange",fileChanges:"fileChanges"},features:[\u0275\u0275NgOnChangesFeature],ngContentSelectors:_c16,decls:9,vars:3,consts:[["fileInput",""],["innerContent",""],["type","file","hidden","","onclick","this.value = null",3,"change","accept","multiple"],["mat-button","","type","button",3,"color"],["mat-raised-button","","type","button",3,"color"],["mat-stroked-button","","type","button",3,"color"],["mat-flat-button","","type","button",3,"color"],["mat-menu-item","","type","button"],["mat-button","","type","button",3,"click","color"],[4,"ngTemplateOutlet"],["mat-raised-button","","type","button",3,"click","color"],["mat-stroked-button","","type","button",3,"click","color"],["mat-flat-button","","type","button",3,"click","color"],["mat-menu-item","","type","button",3,"click"]],template:function(rf,ctx){if(rf&1&&(\u0275\u0275projectionDef(),\u0275\u0275elementStart(0,"input",2,0),\u0275\u0275listener("change",function($event){return ctx.change($event)}),\u0275\u0275elementEnd(),\u0275\u0275conditionalCreate(2,FileUploadButtonComponent_Case_2_Template,2,2,"button",3)(3,FileUploadButtonComponent_Case_3_Template,2,2,"button",4)(4,FileUploadButtonComponent_Case_4_Template,2,2,"button",5)(5,FileUploadButtonComponent_Case_5_Template,2,2,"button",6)(6,FileUploadButtonComponent_Case_6_Template,2,1,"button",7),\u0275\u0275template(7,FileUploadButtonComponent_ng_template_7_Template,1,0,"ng-template",null,1,\u0275\u0275templateRefExtractor)),rf&2){let tmp_4_0;\u0275\u0275property("accept",ctx.allowedMimeTypes)("multiple",ctx.multiple),\u0275\u0275advance(2),\u0275\u0275conditional((tmp_4_0=ctx.matButtonType)==="raised"?3:tmp_4_0==="stroked"?4:tmp_4_0==="flat"?5:tmp_4_0==="menu"?6:2)}},dependencies:[NgTemplateOutlet,MatButtonModule,MatButton,MatFormFieldModule,MatMenuModule,MatMenuItem,MatSnackBarModule],styles:["[_nghost-%COMP%]{--mat-button-outlined-container-height: 32px}[_nghost-%COMP%] .container[_ngcontent-%COMP%]{position:relative}[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:inline-block;margin:8px}[_nghost-%COMP%] input[type=file][_ngcontent-%COMP%]{appearance:initial;background-color:initial;cursor:default;align-items:baseline;color:inherit;text-align:start!important;padding:initial;border:initial}"],changeDetection:0})}}return FileUploadButtonComponent2})();function formatBytesValue(value,locale,decimals=2){let chars=["","k","M","G","T","P"],i=0;for(;value>=950&&i<chars.length-1;)value/=1e3,i++;return`${new Intl.NumberFormat(locale,{maximumFractionDigits:decimals}).format(value)} ${chars[i]}B`}var ByteFormatPipe=(()=>{class ByteFormatPipe2{transform(bytes){return formatBytesValue(bytes,Settings.defaultLocale)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||ByteFormatPipe2)}}static{this.\u0275pipe=\u0275\u0275definePipe({name:"byteFormat",type:ByteFormatPipe2,pure:!0})}}return ByteFormatPipe2})();var _c015=["*"];function FileUploadDropContainerComponent_Conditional_4_Template(rf,ctx){if(rf&1&&\u0275\u0275element(0,"img",3),rf&2){let ctx_r0=\u0275\u0275nextContext();\u0275\u0275property("src",ctx_r0.filePreviewSrc,\u0275\u0275sanitizeUrl)}}function FileUploadDropContainerComponent_Conditional_17_For_2_Template(rf,ctx){if(rf&1){let _r2=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"mat-list-item",8)(1,"mat-icon",9),\u0275\u0275text(2,"draft"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(3,"div",10),\u0275\u0275text(4),\u0275\u0275elementEnd(),\u0275\u0275elementStart(5,"div",11),\u0275\u0275text(6),\u0275\u0275pipe(7,"byteFormat"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(8,"span",12)(9,"button",13),\u0275\u0275listener("click",function(){let \u0275$index_29_r3=\u0275\u0275restoreView(_r2).$index,ctx_r0=\u0275\u0275nextContext(2);return \u0275\u0275resetView(ctx_r0.removeFileFromList(\u0275$index_29_r3))}),\u0275\u0275elementStart(10,"mat-icon"),\u0275\u0275text(11,"close"),\u0275\u0275elementEnd()()()()}if(rf&2){let f_r4=ctx.$implicit;\u0275\u0275advance(4),\u0275\u0275textInterpolate(f_r4.name),\u0275\u0275advance(2),\u0275\u0275textInterpolate(\u0275\u0275pipeBind1(7,2,f_r4.size))}}function FileUploadDropContainerComponent_Conditional_17_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"mat-list"),\u0275\u0275repeaterCreate(1,FileUploadDropContainerComponent_Conditional_17_For_2_Template,12,4,"mat-list-item",8,\u0275\u0275repeaterTrackByIdentity),\u0275\u0275elementEnd()),rf&2){let ctx_r0=\u0275\u0275nextContext();\u0275\u0275advance(),\u0275\u0275repeater(ctx_r0.files)}}var FileUploadDropContainerComponent=(()=>{class FileUploadDropContainerComponent2 extends FileUploadButtonComponent{constructor(){super(...arguments),this.multiple=!1,this.maxFileSize=MAX_FILE_SIZE,this.fileChange=new EventEmitter,this.fileChanges=new EventEmitter,this.fileRemove=new EventEmitter,this.cdRef=inject(ChangeDetectorRef),this.files=[]}change(event2){return __async(this,null,function*(){this.files=getFilesFromEvent(event2),this.cdRef.detectChanges(),yield __superGet(FileUploadDropContainerComponent2.prototype,this,"change").call(this,event2)})}dropHandler(event2){event2.preventDefault(),this.change(event2)}dragOverHandler(event2){event2.stopPropagation(),event2.preventDefault()}fileChangeHandler(event2){this.files=event2?.file?[event2.file]:[],this.cdRef.detectChanges(),this.fileChange.emit(event2)}fileChangesHandler(event2){this.files=[...this.files,...event2.map(event3=>event3.file)],this.cdRef.detectChanges(),this.fileChanges.emit(event2)}removeFileFromList(index){let[file]=this.files.splice(index,1);this.fileRemove.emit({file})}static{this.\u0275fac=(()=>{let \u0275FileUploadDropContainerComponent_BaseFactory;return function(__ngFactoryType__){return(\u0275FileUploadDropContainerComponent_BaseFactory||(\u0275FileUploadDropContainerComponent_BaseFactory=\u0275\u0275getInheritedFactory(FileUploadDropContainerComponent2)))(__ngFactoryType__||FileUploadDropContainerComponent2)}})()}static{this.\u0275cmp=\u0275\u0275defineComponent({type:FileUploadDropContainerComponent2,selectors:[["ix-file-upload-drop-container"]],inputs:{multiple:"multiple",filePreviewSrc:"filePreviewSrc",maxFileSize:"maxFileSize"},outputs:{fileChange:"fileChange",fileChanges:"fileChanges",fileRemove:"fileRemove"},features:[\u0275\u0275InheritDefinitionFeature],ngContentSelectors:_c015,decls:18,vars:20,consts:[["content",""],["fxLayout","column","fxLayoutAlign","center center","data-testid","drop-container",1,"drop-container",3,"drop","dragover"],["fxLayout","column","fxLayoutAlign","center center"],[1,"image",3,"src"],["fxLayout","column","fxLayoutAlign","center center",1,"ix-surface"],[1,"icon"],["translate",""],[3,"fileChange","fileChanges","multiple","allowedMimeTypes","maxFileSize","imageSize","matButtonType","color"],["fxLayoutAlign","start center"],["matListItemIcon",""],["matListItemTitle",""],["matListItemLine",""],["matListItemMeta",""],["type","button","mat-icon-button","",3,"click"]],template:function(rf,ctx){if(rf&1&&(\u0275\u0275projectionDef(),\u0275\u0275elementStart(0,"div",1),\u0275\u0275listener("drop",function($event){return ctx.dropHandler($event)})("dragover",function($event){return ctx.dragOverHandler($event)}),\u0275\u0275elementStart(1,"div",2,0),\u0275\u0275projection(3),\u0275\u0275elementEnd(),\u0275\u0275conditionalCreate(4,FileUploadDropContainerComponent_Conditional_4_Template,1,1,"img",3),\u0275\u0275elementStart(5,"span",4)(6,"mat-icon",5),\u0275\u0275text(7,"cloud_upload"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(8,"span",6),\u0275\u0275text(9,"DRAG_AND_DROP_TO_UPLOAD"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(10,"span"),\u0275\u0275text(11),\u0275\u0275pipe(12,"translate"),\u0275\u0275pipe(13,"lowercase"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(14,"ix-file-upload-button",7),\u0275\u0275listener("fileChange",function($event){return ctx.fileChangeHandler($event)})("fileChanges",function($event){return ctx.fileChangesHandler($event)}),\u0275\u0275text(15),\u0275\u0275pipe(16,"translate"),\u0275\u0275elementEnd()()(),\u0275\u0275conditionalCreate(17,FileUploadDropContainerComponent_Conditional_17_Template,3,0,"mat-list")),rf&2){let content_r5=\u0275\u0275reference(2);\u0275\u0275classProp("minimize-height",ctx.multiple&&ctx.files.length),\u0275\u0275advance(4),\u0275\u0275conditional(ctx.filePreviewSrc&&!content_r5.children.length?4:-1),\u0275\u0275advance(),\u0275\u0275classProp("invisible",ctx.files.length&&!ctx.multiple),\u0275\u0275advance(6),\u0275\u0275textInterpolate(\u0275\u0275pipeBind1(13,16,\u0275\u0275pipeBind1(12,14,"OR"))),\u0275\u0275advance(3),\u0275\u0275property("multiple",ctx.multiple)("allowedMimeTypes",ctx.allowedMimeTypes)("maxFileSize",ctx.maxFileSize)("imageSize",ctx.imageSize)("matButtonType","stroked")("color",null),\u0275\u0275advance(),\u0275\u0275textInterpolate1(" ",\u0275\u0275pipeBind1(16,18,ctx.multiple?"SELECT_FILES_TO_UPLOAD":"SELECT_FILE_TO_UPLOAD")," "),\u0275\u0275advance(2),\u0275\u0275conditional(ctx.multiple&&ctx.files.length?17:-1)}},dependencies:[MatButtonModule,MatIconButton,MatFormFieldModule,MatIconModule,MatIcon,MatListModule,MatList,MatListItem,MatListItemIcon,MatListItemLine,MatListItemTitle,MatListItemMeta,MatSnackBarModule,FileUploadButtonComponent,FormsModule,TranslateModule,TranslateDirective,FlexModule,DefaultLayoutDirective,DefaultLayoutAlignDirective,ByteFormatPipe,TranslatePipe,LowerCasePipe],styles:["[_nghost-%COMP%] .drop-container[_ngcontent-%COMP%]{position:relative;min-height:300px;overflow:hidden;border-radius:6px;background:var(--mat-sys-outline-variant)}[_nghost-%COMP%] .drop-container.minimize-height[_ngcontent-%COMP%]{min-height:150px}[_nghost-%COMP%] .drop-container[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{width:36px;height:36px;margin:4px 0;font-size:36px;color:var(--body-color)}[_nghost-%COMP%] .drop-container[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{margin-bottom:4px}[_nghost-%COMP%] .drop-container[_ngcontent-%COMP%] .invisible[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--mat-sys-surface-variant) 92%,transparent);opacity:0;transition:opacity .1s ease-out;will-change:opacity}[_nghost-%COMP%] .drop-container[_ngcontent-%COMP%]:hover .invisible[_ngcontent-%COMP%], [_nghost-%COMP%] .drop-container[_ngcontent-%COMP%]:focus .invisible[_ngcontent-%COMP%]{opacity:1;backdrop-filter:blur(8px)}[_nghost-%COMP%] .image[_ngcontent-%COMP%]{max-height:200px;max-width:200px}[_nghost-%COMP%] .mat-mdc-list-item[_ngcontent-%COMP%]{--mat-list-list-item-leading-icon-color: var(--mat-list-list-item-label-text-color);--mat-list-list-item-hover-leading-icon-color: var(--mat-list-list-item-hover-label-text-color);--mat-list-list-item-trailing-supporting-text-color: var(--mat-list-list-item-label-text-color);padding:0}[_nghost-%COMP%] .mat-mdc-list-item[_ngcontent-%COMP%] .mdc-list-item__content{margin-right:0!important}[_nghost-%COMP%] .mat-mdc-list-item[_ngcontent-%COMP%] .mdc-list-item__end[_ngcontent-%COMP%]{margin:15px 0 0 16px}[_nghost-%COMP%] .mat-mdc-list-item[_ngcontent-%COMP%] .mdc-list-item__start[_ngcontent-%COMP%]{margin:23px 16px 0 0}[_nghost-%COMP%] .mat-mdc-list-item[_ngcontent-%COMP%] .file-name[_ngcontent-%COMP%]{color:rgba(var(--body-color-rgb),.87);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}[_nghost-%COMP%] .mat-mdc-list-item[_ngcontent-%COMP%] .file-size[_ngcontent-%COMP%]{font-size:12px}"],changeDetection:0})}}return FileUploadDropContainerComponent2})();function FileInputComponent_Conditional_1_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"mat-icon",1),\u0275\u0275text(1),\u0275\u0275elementEnd()),rf&2){let ctx_r0=\u0275\u0275nextContext();\u0275\u0275advance(),\u0275\u0275textInterpolate(ctx_r0.icon)}}function FileInputComponent_Conditional_2_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"p",2),\u0275\u0275text(1),\u0275\u0275elementStart(2,"strong"),\u0275\u0275text(3),\u0275\u0275pipe(4,"byteFormat"),\u0275\u0275elementEnd(),\u0275\u0275text(5," ) "),\u0275\u0275elementEnd()),rf&2){let ctx_r0=\u0275\u0275nextContext();\u0275\u0275advance(),\u0275\u0275textInterpolate1(" ",ctx_r0.file.name," ( "),\u0275\u0275advance(2),\u0275\u0275textInterpolate(\u0275\u0275pipeBind1(4,2,ctx_r0.file.size))}}var FileInputComponent=(()=>{class FileInputComponent2 extends ComponentInputComponent{fileChange(changes){changes&&(this.inputControl?.setValue(changes.file),this.inputControl?.markAsDirty())}fileChanges(changes){changes?.length&&(this.inputControl?.setValue([...this.inputControl.value||[],...changes.map(fileEvent=>fileEvent.file)]),this.inputControl?.markAsDirty())}fileRemove(changes){changes.file&&(this.inputControl?.setValue([...(this.inputControl.value||[]).filter(file=>file!==changes.file)]),this.inputControl?.markAsDirty())}get icon(){if(this.inputControl?.value?.type)return mapMimeTypeToIcon(this.inputControl.value.type)}get maxSize(){return this.field.inputDescription.size?.max??MAX_FILE_SIZE}get multiple(){return this.field.inputDescription.multiple??!1}get file(){return Array.isArray(this.inputControl?.value)?null:this.inputControl?.value||null}static{this.\u0275fac=(()=>{let \u0275FileInputComponent_BaseFactory;return function(__ngFactoryType__){return(\u0275FileInputComponent_BaseFactory||(\u0275FileInputComponent_BaseFactory=\u0275\u0275getInheritedFactory(FileInputComponent2)))(__ngFactoryType__||FileInputComponent2)}})()}static{this.\u0275cmp=\u0275\u0275defineComponent({type:FileInputComponent2,selectors:[["ix-file-input"]],features:[\u0275\u0275InheritDefinitionFeature],decls:3,vars:5,consts:[["data-testid","drop-container",3,"fileChange","fileChanges","fileRemove","filePreviewSrc","maxFileSize","multiple"],[1,"icon"],["data-testid","file-info"]],template:function(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"ix-file-upload-drop-container",0),\u0275\u0275listener("fileChange",function($event){return ctx.fileChange($event)})("fileChanges",function($event){return ctx.fileChanges($event)})("fileRemove",function($event){return ctx.fileRemove($event)}),\u0275\u0275conditionalCreate(1,FileInputComponent_Conditional_1_Template,2,1,"mat-icon",1),\u0275\u0275conditionalCreate(2,FileInputComponent_Conditional_2_Template,6,4,"p",2),\u0275\u0275elementEnd()),rf&2&&(\u0275\u0275property("filePreviewSrc",null)("maxFileSize",ctx.maxSize)("multiple",ctx.multiple),\u0275\u0275advance(),\u0275\u0275conditional(ctx.icon?1:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx.file?2:-1))},dependencies:[FileUploadDropContainerComponent,MatIconModule,MatIcon,ByteFormatPipe],styles:["[_nghost-%COMP%] .icon[_ngcontent-%COMP%]{width:36px;height:36px;margin:4px 0;font-size:36px;color:var(--body-color)}[_nghost-%COMP%] span[_ngcontent-%COMP%]{margin-bottom:4px}"],changeDetection:0})}}return FileInputComponent2})();function GroupInputFormComponent_Conditional_0_Template(rf,ctx){if(rf&1&&(\u0275\u0275element(0,"p",0),\u0275\u0275pipe(1,"renderMarkdown")),rf&2){let ctx_r0=\u0275\u0275nextContext();\u0275\u0275property("innerHTML",\u0275\u0275pipeBind1(1,1,ctx_r0.field.inputDescription.description),\u0275\u0275sanitizeHtml)}}function GroupInputFormComponent_ng_template_1_Template(rf,ctx){}var GroupInputFormComponent=(()=>{class GroupInputFormComponent2 extends ComponentInputComponent{constructor(){super(...arguments),this.cdRef=inject(ChangeDetectorRef),this.inputConverter=inject(INPUT_CONVERTER_TOKEN)}ngAfterViewInit(){this.formDirective.viewContainerRef.clear(),this.inputConverter.loadComponentInputs(this.field.children,this.componentFormGroup.get(this.field.inputDescription.key),this.formDirective.viewContainerRef),this.cdRef.detectChanges()}static{this.\u0275fac=(()=>{let \u0275GroupInputFormComponent_BaseFactory;return function(__ngFactoryType__){return(\u0275GroupInputFormComponent_BaseFactory||(\u0275GroupInputFormComponent_BaseFactory=\u0275\u0275getInheritedFactory(GroupInputFormComponent2)))(__ngFactoryType__||GroupInputFormComponent2)}})()}static{this.\u0275cmp=\u0275\u0275defineComponent({type:GroupInputFormComponent2,selectors:[["ix-group-input-form"]],viewQuery:function(rf,ctx){if(rf&1&&\u0275\u0275viewQuery(InputControlFormDirective,5),rf&2){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx.formDirective=_t.first)}},inputs:{field:"field",componentFormGroup:"componentFormGroup"},features:[\u0275\u0275InheritDefinitionFeature],decls:2,vars:1,consts:[[1,"description",3,"innerHTML"],["ixInputControlForm",""]],template:function(rf,ctx){rf&1&&(\u0275\u0275conditionalCreate(0,GroupInputFormComponent_Conditional_0_Template,2,3,"p",0),\u0275\u0275template(1,GroupInputFormComponent_ng_template_1_Template,0,0,"ng-template",1)),rf&2&&\u0275\u0275conditional(ctx.field.inputDescription.description?0:-1)},dependencies:[InputControlFormDirective,RenderMarkdownPipe],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] h3[_ngcontent-%COMP%]{font-size:11.5px!important;font-weight:500!important;text-transform:uppercase;letter-spacing:.8px;color:color-mix(in srgb,transparent,currentcolor 67%)}[_nghost-%COMP%] .mat-divider[_ngcontent-%COMP%]{margin:0 -16px 16px}[_nghost-%COMP%] .mat-divider.mat-divider-inset[_ngcontent-%COMP%]{margin-left:0}[_nghost-%COMP%] + *[_ngcontent-%COMP%]{border-top:1px solid var(--mat-sys-outline-variant)}"],changeDetection:0})}}return GroupInputFormComponent2})();var GroupInputDialogComponent=(()=>{class GroupInputDialogComponent2{constructor(){this.data=inject(MAT_DIALOG_DATA)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||GroupInputDialogComponent2)}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:GroupInputDialogComponent2,selectors:[["ix-group-input-dialog"]],decls:11,vars:6,consts:[["mat-dialog-title",""],[3,"field","componentFormGroup"],["align","end"],["matButton","",3,"mat-dialog-close"],["translate",""],["matButton","",3,"mat-dialog-close","disabled"]],template:function(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"h1",0),\u0275\u0275text(1),\u0275\u0275elementEnd(),\u0275\u0275elementStart(2,"mat-dialog-content"),\u0275\u0275element(3,"ix-group-input-form",1),\u0275\u0275elementEnd(),\u0275\u0275elementStart(4,"mat-dialog-actions",2)(5,"button",3)(6,"span",4),\u0275\u0275text(7,"CANCEL"),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(8,"button",5)(9,"span",4),\u0275\u0275text(10,"OK"),\u0275\u0275elementEnd()()()),rf&2&&(\u0275\u0275advance(),\u0275\u0275textInterpolate(ctx.data.field.inputDescription.label),\u0275\u0275advance(2),\u0275\u0275property("field",ctx.data.field)("componentFormGroup",ctx.data.componentFormGroup),\u0275\u0275advance(2),\u0275\u0275property("mat-dialog-close",!1),\u0275\u0275advance(3),\u0275\u0275property("mat-dialog-close",!0)("disabled",!ctx.data.componentFormGroup.valid))},dependencies:[MatButtonModule,MatButton,MatDialogModule,MatDialogClose,MatDialogTitle,MatDialogActions,MatDialogContent,TranslateModule,TranslateDirective,GroupInputFormComponent],encapsulation:2,changeDetection:0})}}return GroupInputDialogComponent2})();var GroupInputSummaryComponent=(()=>{class GroupInputSummaryComponent2 extends ComponentInputComponent{constructor(){super(...arguments),this.dialog=inject(MatDialog),this.cdRef=inject(ChangeDetectorRef)}get fieldValue(){return this.componentFormGroup.value[this.field.inputDescription.key]}get hasValidationErrors(){let control=this.componentFormGroup.controls[this.field.inputDescription.key];return!this.isGroupValidRecursively(control)}get summary(){let labelTemplate=this.field.inputDescription?.summary?.label;if(labelTemplate)return mustache_default.render(labelTemplate,this.field.transformValue()[this.field.inputDescription.key],void 0,{escape:input2=>input2})}get summaryTooltipDisabled(){return(this.summary?.length||0)<20}get color(){let colorField=this.field.inputDescription?.summary?.colorField;if(colorField)return get_default(this.fieldValue,colorField)}openDialog(){let key=this.field.inputDescription.key,dialogForm=new FormGroup({[key]:this.field.toFormControl()});this.addDialogValuesWithoutNeedingRefreshAfterChange(dialogForm),this.dialog.open(GroupInputDialogComponent,{width:"500px",data:{field:this.field,componentFormGroup:dialogForm}}).afterClosed().subscribe(result=>{result&&(this.field.setValue(dialogForm.value[key]),this.componentFormGroup.markAsDirty(),this.componentFormGroup.setControl(key,dialogForm.controls[key]),this.cdRef.detectChanges())})}calculateStyle(){return{"background-color":this.color||"white"}}addDialogValuesWithoutNeedingRefreshAfterChange(dialogForm){dialogForm.patchValue(this.componentFormGroup.value)}isGroupValidRecursively(group){return group.disabled?!0:group.valid&&Object.keys(group.controls).every(k=>{let subControl=group.controls[k];return subControl.disabled?!0:subControl instanceof FormArray||subControl instanceof FormGroup?this.isGroupValidRecursively(subControl):subControl.valid})}static{this.\u0275fac=(()=>{let \u0275GroupInputSummaryComponent_BaseFactory;return function(__ngFactoryType__){return(\u0275GroupInputSummaryComponent_BaseFactory||(\u0275GroupInputSummaryComponent_BaseFactory=\u0275\u0275getInheritedFactory(GroupInputSummaryComponent2)))(__ngFactoryType__||GroupInputSummaryComponent2)}})()}static{this.\u0275cmp=\u0275\u0275defineComponent({type:GroupInputSummaryComponent2,selectors:[["ix-group-input-summary"]],hostVars:2,hostBindings:function(rf,ctx){rf&2&&\u0275\u0275classProp("has-validation-errors",ctx.hasValidationErrors)},inputs:{field:"field",componentFormGroup:"componentFormGroup"},features:[\u0275\u0275InheritDefinitionFeature],decls:7,vars:5,consts:[["matIconButton","","type","button",3,"click"],[1,"color-patch"],[1,"summary-wrapper"],[1,"summary",3,"matTooltip","matTooltipDisabled"]],template:function(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"button",0),\u0275\u0275listener("click",function(){return ctx.openDialog()}),\u0275\u0275elementStart(1,"mat-icon"),\u0275\u0275text(2,"create"),\u0275\u0275elementEnd()(),\u0275\u0275element(3,"span",1),\u0275\u0275elementStart(4,"span",2)(5,"span",3),\u0275\u0275text(6),\u0275\u0275elementEnd()()),rf&2&&(\u0275\u0275advance(3),\u0275\u0275styleMap(ctx.calculateStyle()),\u0275\u0275advance(2),\u0275\u0275property("matTooltip",ctx.summary||"")("matTooltipDisabled",ctx.summaryTooltipDisabled),\u0275\u0275advance(),\u0275\u0275textInterpolate(ctx.summary))},dependencies:[MatButtonModule,MatIconButton,MatDialogModule,MatIconModule,MatIcon,MatTooltipModule,MatTooltip],styles:["[_nghost-%COMP%]{display:flex;background-color:rgba(var(--body-color-rgb),.04)}.has-validation-errors[_nghost-%COMP%]{border:thin solid var(--warn);color:var(--warn)}[_nghost-%COMP%] .description[_ngcontent-%COMP%]{font-size:11px}[_nghost-%COMP%] .color-patch[_ngcontent-%COMP%]{display:inline-block;vertical-align:top;height:40px;width:8px}[_nghost-%COMP%] .summary-wrapper[_ngcontent-%COMP%]{display:flex;align-items:center;padding:0 8px;overflow:hidden;flex:1}[_nghost-%COMP%] .summary-wrapper[_ngcontent-%COMP%] .summary[_ngcontent-%COMP%]{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}"],changeDetection:0})}}return GroupInputSummaryComponent2})();function GroupInputComponent_Conditional_0_Conditional_0_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"h3"),\u0275\u0275text(1),\u0275\u0275elementEnd()),rf&2){let ctx_r0=\u0275\u0275nextContext(2);\u0275\u0275advance(),\u0275\u0275textInterpolate(ctx_r0.field.inputDescription.label)}}function GroupInputComponent_Conditional_0_Conditional_1_Template(rf,ctx){if(rf&1&&\u0275\u0275element(0,"ix-group-input-summary",0),rf&2){let ctx_r0=\u0275\u0275nextContext(2);\u0275\u0275property("field",ctx_r0.field)("componentFormGroup",ctx_r0.componentFormGroup)}}function GroupInputComponent_Conditional_0_Conditional_2_Template(rf,ctx){if(rf&1&&\u0275\u0275element(0,"ix-group-input-form",0),rf&2){let ctx_r0=\u0275\u0275nextContext(2);\u0275\u0275property("field",ctx_r0.field)("componentFormGroup",ctx_r0.componentFormGroup)}}function GroupInputComponent_Conditional_0_Template(rf,ctx){if(rf&1&&(\u0275\u0275conditionalCreate(0,GroupInputComponent_Conditional_0_Conditional_0_Template,2,1,"h3"),\u0275\u0275conditionalCreate(1,GroupInputComponent_Conditional_0_Conditional_1_Template,1,2,"ix-group-input-summary",0)(2,GroupInputComponent_Conditional_0_Conditional_2_Template,1,2,"ix-group-input-form",0)),rf&2){let ctx_r0=\u0275\u0275nextContext();\u0275\u0275conditional(ctx_r0.field.level===0||!ctx_r0.isSummary()?0:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx_r0.isSummary()?1:2)}}var GroupInputComponent=(()=>{class GroupInputComponent2 extends ComponentInputComponent{isSummary(){return this.field.inputDescription.summary!==void 0}static{this.\u0275fac=(()=>{let \u0275GroupInputComponent_BaseFactory;return function(__ngFactoryType__){return(\u0275GroupInputComponent_BaseFactory||(\u0275GroupInputComponent_BaseFactory=\u0275\u0275getInheritedFactory(GroupInputComponent2)))(__ngFactoryType__||GroupInputComponent2)}})()}static{this.\u0275cmp=\u0275\u0275defineComponent({type:GroupInputComponent2,selectors:[["ix-group-input"]],features:[\u0275\u0275InheritDefinitionFeature],decls:1,vars:1,consts:[[3,"field","componentFormGroup"]],template:function(rf,ctx){rf&1&&\u0275\u0275conditionalCreate(0,GroupInputComponent_Conditional_0_Template,3,2),rf&2&&\u0275\u0275conditional(ctx.field.hidden?-1:0)},dependencies:[GroupInputFormComponent,GroupInputSummaryComponent],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] h3[_ngcontent-%COMP%]{font-size:11.5px!important;font-weight:500!important;text-transform:uppercase;letter-spacing:.8px;color:color-mix(in srgb,transparent,currentcolor 67%)}[_nghost-%COMP%] .mat-divider[_ngcontent-%COMP%]{margin:0 -16px 16px}[_nghost-%COMP%] .mat-divider.mat-divider-inset[_ngcontent-%COMP%]{margin-left:0}"],changeDetection:0})}}return GroupInputComponent2})();var GroupInput=class extends ComponentPropertiesInput{constructor(input2,value,context3,converter,level){super(input2,value,context3,converter,level),this.converter=converter,this.children=input2.children?.map(child=>converter.convertInput(child,value,context3,level+1))||[],this.hidden=this.children.some(child=>child.inputDescription.required&&child.hidden)}toFormControl(){return new FormGroup(this.converter.getFormControls(this.children))}transformValue(){return{[this.inputDescription.key]:this.children.reduce((obj,child)=>__spreadValues(__spreadValues({},obj),child.transformValue()),{})}}setValue(value){this.children.forEach(child=>child.setValue(value[child.inputDescription.key]))}};function ImageInputDialogComponent_Conditional_11_Template(rf,ctx){if(rf&1){let _r1=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"button",12),\u0275\u0275listener("click",function(){\u0275\u0275restoreView(_r1);let ctx_r1=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r1.clear())}),\u0275\u0275elementStart(1,"span",10),\u0275\u0275text(2,"CLEAR"),\u0275\u0275elementEnd()()}}var ImageInputDialogComponent=(()=>{class ImageInputDialogComponent2{constructor(){this.data=inject(MAT_DIALOG_DATA),this.dialogRef=inject(MatDialogRef),this.formBuilder=inject(FormBuilder),this.allowedMimeTypes=["image/gif","image/jpeg","image/png","image/webp"],this.file=null,this.form=this.formBuilder.group({image:[this.data.image]})}clear(){this.file=null,this.form.controls.image.reset(),this.form.controls.image.markAsDirty()}fileChange(changes){changes&&(this.file=changes.file,this.form.controls.image.setValue(changes.previewSrc),this.form.controls.image.markAsDirty())}submit(){this.dialogRef.close({image:this.form.controls.image.value,file:this.file})}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||ImageInputDialogComponent2)}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:ImageInputDialogComponent2,selectors:[["ix-image-input-dialog"]],decls:19,vars:5,consts:[["autocomplete","off",3,"ngSubmit","formGroup"],[1,"ix-dialog__header"],["fxFlex","","mat-dialog-title",""],["type","button","matIconButton","","mat-dialog-close",""],["mat-dialog-content",""],[3,"fileChange","filePreviewSrc"],["mat-dialog-actions",""],["type","button","matButton","","color","warn"],["fxFlex",""],["type","button","matButton","","mat-dialog-close",""],["translate",""],["type","submit","matButton","",3,"disabled"],["type","button","matButton","","color","warn",3,"click"]],template:function(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"form",0),\u0275\u0275listener("ngSubmit",function(){return ctx.submit()}),\u0275\u0275elementStart(1,"div",1)(2,"mat-toolbar")(3,"h1",2),\u0275\u0275text(4),\u0275\u0275elementEnd(),\u0275\u0275elementStart(5,"button",3)(6,"mat-icon"),\u0275\u0275text(7,"close"),\u0275\u0275elementEnd()()()(),\u0275\u0275elementStart(8,"div",4)(9,"ix-file-upload-drop-container",5),\u0275\u0275listener("fileChange",function($event){return ctx.fileChange($event)}),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(10,"div",6),\u0275\u0275conditionalCreate(11,ImageInputDialogComponent_Conditional_11_Template,3,0,"button",7),\u0275\u0275element(12,"span",8),\u0275\u0275elementStart(13,"button",9)(14,"span",10),\u0275\u0275text(15,"CANCEL"),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(16,"button",11)(17,"span",10),\u0275\u0275text(18,"CONFIRM"),\u0275\u0275elementEnd()()()()),rf&2&&(\u0275\u0275property("formGroup",ctx.form),\u0275\u0275advance(4),\u0275\u0275textInterpolate(ctx.data.title),\u0275\u0275advance(5),\u0275\u0275property("filePreviewSrc",ctx.form.value.image),\u0275\u0275advance(2),\u0275\u0275conditional(ctx.form.value.image?11:-1),\u0275\u0275advance(5),\u0275\u0275property("disabled",ctx.form.pristine||ctx.form.invalid))},dependencies:[FileUploadDropContainerComponent,FlexModule,DefaultFlexDirective,MatButtonModule,MatButton,MatIconButton,MatDialogModule,MatDialogClose,MatDialogTitle,MatDialogActions,MatDialogContent,MatToolbarModule,MatToolbar,MatIconModule,MatIcon,ReactiveFormsModule,\u0275NgNoValidate,NgControlStatusGroup,FormGroupDirective,TranslateModule,TranslateDirective],styles:["[_nghost-%COMP%]{width:100dvw;height:100dvh;display:flex;flex-direction:column;flex:1}@media(min-width:960px){[_nghost-%COMP%]{height:auto;width:auto;min-width:528px;max-width:528px}}[_nghost-%COMP%] .ix-dialog__header[_ngcontent-%COMP%]{padding:calc(env(safe-area-inset-top,0) + 16px) 24px 16px}[_nghost-%COMP%] .ix-dialog__header[_ngcontent-%COMP%] .mat-toolbar[_ngcontent-%COMP%]{height:48px;padding-left:0;padding-right:0}[_nghost-%COMP%] .ix-dialog__header[_ngcontent-%COMP%] .mat-toolbar[_ngcontent-%COMP%] .mdc-dialog__title[_ngcontent-%COMP%]{--mat-dialog-headline-padding: 0;color:inherit}[_nghost-%COMP%] .ix-dialog__header[_ngcontent-%COMP%] .mat-toolbar[_ngcontent-%COMP%] .mdc-dialog__title[_ngcontent-%COMP%]:before{display:none}[_nghost-%COMP%] .ix-dialog__header[_ngcontent-%COMP%] + .ix-dialog__content[_ngcontent-%COMP%], [_nghost-%COMP%] .ix-dialog__header[_ngcontent-%COMP%] + .mdc-dialog__content[_ngcontent-%COMP%]{padding-top:0}[_nghost-%COMP%] .mdc-dialog__title[_ngcontent-%COMP%]:before{height:calc(env(safe-area-inset-top,0) + 40px)}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%]{padding:20px 24px}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%], [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%]{flex-direction:column;box-sizing:border-box;display:flex;place-content:stretch flex-start;align-items:stretch;flex:1 1 auto;max-height:none;overflow:auto;-webkit-overflow-scrolling:touch}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%] > .ix-list[_ngcontent-%COMP%], [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%] > .ix-list[_ngcontent-%COMP%]{margin-left:-24px;margin-right:-24px}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%] > .mat-mdc-subheader[_ngcontent-%COMP%], [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%] > .mat-mdc-subheader[_ngcontent-%COMP%]{margin-left:0;margin-right:0}@media(min-width:960px){[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%], [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%]{max-height:calc(90dvh - 140px)}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%]:has(+.mdc-dialog__actions), [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%]:has(+.mdc-dialog__actions){padding-bottom:0}}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%] .mat-stepper-vertical[_ngcontent-%COMP%], [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%] .mat-stepper-vertical[_ngcontent-%COMP%]{--mat-stepper-header-height: 56px;margin-left:-16px;margin-right:-16px}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%] .mat-stepper-vertical[_ngcontent-%COMP%] .mat-vertical-content-container.mat-vertical-content-container-active, [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%] .mat-stepper-vertical[_ngcontent-%COMP%] .mat-vertical-content-container.mat-vertical-content-container-active{padding-top:16px}[_nghost-%COMP%] .ix-dialog__content[_ngcontent-%COMP%] .mat-stepper-vertical[_ngcontent-%COMP%] mat-step-header:focus, [_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%] .mat-stepper-vertical[_ngcontent-%COMP%] mat-step-header:focus{background-color:transparent}@media(max-width:959.9px){[_nghost-%COMP%] .mdc-dialog__actions[_ngcontent-%COMP%]{border-top:1px solid rgba(0,0,0,.12);padding-bottom:calc(16px + env(safe-area-inset-bottom,0))}}[_nghost-%COMP%] form[_ngcontent-%COMP%]{flex-direction:column;box-sizing:border-box;display:flex;flex:1 1 auto;height:inherit}[_nghost-%COMP%] form[_ngcontent-%COMP%] .mat-mdc-form-field[_ngcontent-%COMP%]{margin-bottom:1rem}[_nghost-%COMP%] .mdc-dialog__content[_ngcontent-%COMP%]{padding-bottom:24px}"],changeDetection:0})}}return ImageInputDialogComponent2})();function ImageInputFormComponent_Conditional_0_Template(rf,ctx){if(rf&1&&\u0275\u0275element(0,"img",0),rf&2){let ctx_r0=\u0275\u0275nextContext();\u0275\u0275property("src",ctx_r0.value,\u0275\u0275sanitizeUrl)}}var ImageInputFormComponent=(()=>{class ImageInputFormComponent2{constructor(){this.dialog=inject(MatDialog),this.fileService=inject(FileService),this.value=null,this.onChange=()=>{},this.onTouched=()=>{}}registerOnChange(fn2){this.onChange=fn2}registerOnTouched(fn2){this.onTouched=fn2}writeValue(obj){this.value=obj,this.onChange(this.value)}openDialog(){this.dialog.open(ImageInputDialogComponent,{panelClass:"fullscreen",data:{image:this.value,title:this.dialogTitle}}).afterClosed().pipe(filter(data=>!!data),mergeMap(result=>this.uploadFile(result.file))).subscribe(url=>{let control=this.componentFormGroup.controls[this.field.inputName];control.markAsDirty(),control.markAsTouched(),this.writeValue(url),control.setValue(url)})}uploadFile(file){return file?this.fileService.uploadPublic(file).pipe(map(response=>response.data.url)):of(null)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||ImageInputFormComponent2)}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:ImageInputFormComponent2,selectors:[["ix-image-input-form"]],inputs:{field:"field",componentFormGroup:"componentFormGroup",dialogTitle:"dialogTitle"},features:[\u0275\u0275ProvidersFeature([{provide:NG_VALUE_ACCESSOR,useExisting:ImageInputFormComponent2,multi:!0}])],decls:4,vars:1,consts:[["alt","uploaded image",3,"src"],["matButton","outlined","color","primary","type","button",3,"click"],["translate",""]],template:function(rf,ctx){rf&1&&(\u0275\u0275conditionalCreate(0,ImageInputFormComponent_Conditional_0_Template,1,1,"img",0),\u0275\u0275elementStart(1,"button",1),\u0275\u0275listener("click",function(){return ctx.openDialog()}),\u0275\u0275elementStart(2,"span",2),\u0275\u0275text(3,"UPLOAD_FILE"),\u0275\u0275elementEnd()()),rf&2&&\u0275\u0275conditional(ctx.value?0:-1)},dependencies:[MatButtonModule,MatButton,TranslateModule,TranslateDirective],styles:["[_nghost-%COMP%]{display:flex;place-content:center left;margin-bottom:16px}[_nghost-%COMP%] img[_ngcontent-%COMP%]{flex-grow:0;padding-right:8px;width:40px;height:40px;object-fit:contain}[_nghost-%COMP%] button[_ngcontent-%COMP%]{flex-grow:1}.ng-invalid[_nghost-%COMP%] button[_ngcontent-%COMP%]{border-color:var(--warn)}"],changeDetection:0})}}return ImageInputFormComponent2})();function ImageInputComponent_Conditional_0_Template(rf,ctx){if(rf&1&&(\u0275\u0275element(0,"p",0),\u0275\u0275pipe(1,"renderMarkdown")),rf&2){let ctx_r0=\u0275\u0275nextContext();\u0275\u0275property("innerHTML",\u0275\u0275pipeBind1(1,1,ctx_r0.field.inputDescription.description),\u0275\u0275sanitizeHtml)}}var ImageInputComponent=(()=>{class ImageInputComponent2 extends ComponentInputComponent{static{this.\u0275fac=(()=>{let \u0275ImageInputComponent_BaseFactory;return function(__ngFactoryType__){return(\u0275ImageInputComponent_BaseFactory||(\u0275ImageInputComponent_BaseFactory=\u0275\u0275getInheritedFactory(ImageInputComponent2)))(__ngFactoryType__||ImageInputComponent2)}})()}static{this.\u0275cmp=\u0275\u0275defineComponent({type:ImageInputComponent2,selectors:[["ix-image-input"]],features:[\u0275\u0275InheritDefinitionFeature],decls:3,vars:6,consts:[[1,"description",3,"innerHTML"],[3,"formGroup"],[3,"field","componentFormGroup","formControlName","dialogTitle"]],template:function(rf,ctx){rf&1&&(\u0275\u0275conditionalCreate(0,ImageInputComponent_Conditional_0_Template,2,3,"p",0),\u0275\u0275elementStart(1,"div",1),\u0275\u0275element(2,"ix-image-input-form",2),\u0275\u0275elementEnd()),rf&2&&(\u0275\u0275conditional(ctx.field.inputDescription.description?0:-1),\u0275\u0275advance(),\u0275\u0275property("formGroup",ctx.componentFormGroup),\u0275\u0275advance(),\u0275\u0275property("field",ctx.field)("componentFormGroup",ctx.componentFormGroup)("formControlName",ctx.field.inputName)("dialogTitle",ctx.field.inputDescription.label??""))},dependencies:[ImageInputFormComponent,ReactiveFormsModule,NgControlStatus,NgControlStatusGroup,FormGroupDirective,FormControlName,RenderMarkdownPipe],styles:["[_nghost-%COMP%] .description[_ngcontent-%COMP%]{font-size:11px}"],changeDetection:0})}}return ImageInputComponent2})();function ListItemComponent_ng_template_2_Template(rf,ctx){}var ListItemComponent=(()=>{class ListItemComponent2{constructor(){this.cdRef=inject(ChangeDetectorRef),this.inputConverter=inject(INPUT_CONVERTER_TOKEN),this.delete=new EventEmitter}ngAfterViewInit(){this.inputConverter.loadComponentInputs([this.item],this.componentFormGroup,this.formDirective.viewContainerRef),this.cdRef.detectChanges()}deleteItem(){this.delete.emit(this.index)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||ListItemComponent2)}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:ListItemComponent2,selectors:[["ix-list-item"]],viewQuery:function(rf,ctx){if(rf&1&&\u0275\u0275viewQuery(InputControlFormDirective,5),rf&2){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx.formDirective=_t.first)}},inputs:{item:"item",index:"index",componentFormGroup:"componentFormGroup"},outputs:{delete:"delete"},decls:9,vars:0,consts:[["fxLayout","row"],["fxFlex","",1,"list-item-content"],["ixInputControlForm",""],["matIconButton","","type","button",1,"clear-button",3,"click"],["fxLayout","column","fxLayoutAlign","center end"]],template:function(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"div",0)(1,"div",1),\u0275\u0275template(2,ListItemComponent_ng_template_2_Template,0,0,"ng-template",2),\u0275\u0275elementEnd(),\u0275\u0275elementStart(3,"button",3),\u0275\u0275listener("click",function(){return ctx.deleteItem()}),\u0275\u0275elementStart(4,"mat-icon"),\u0275\u0275text(5,"clear"),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(6,"div",4)(7,"mat-icon"),\u0275\u0275text(8,"drag_indicator"),\u0275\u0275elementEnd()()())},dependencies:[FlexModule,DefaultLayoutDirective,DefaultLayoutAlignDirective,DefaultFlexDirective,MatButtonModule,MatIconButton,MatIconModule,MatIcon,InputControlFormDirective],styles:["[_nghost-%COMP%]{display:block;position:relative;font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}[_nghost-%COMP%] .clear-button[_ngcontent-%COMP%]{position:absolute;top:0;right:24px;bottom:0;opacity:0;transition:opacity .2s ease-in-out;will-change:opacity}[_nghost-%COMP%] .clear-button[_ngcontent-%COMP%]:hover{opacity:1!important}[_nghost-%COMP%] .list-item-content[_ngcontent-%COMP%]{overflow:hidden}[_nghost-%COMP%] .list-item-content[_ngcontent-%COMP%]:hover + .clear-button[_ngcontent-%COMP%]{opacity:1!important}.cdk-drag-preview[_nghost-%COMP%]{background-color:#fff}.cdk-drag-preview[_nghost-%COMP%] .clear-button[_ngcontent-%COMP%]{display:none}.cdk-drag-preview[_nghost-%COMP%] .list-item-content[_ngcontent-%COMP%]{box-sizing:border-box;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}"],changeDetection:0})}}return ListItemComponent2})();function moveItemInFormArray(array,fromIndex,toIndex){fromIndex=Math.max(0,Math.min(fromIndex,array.length-1)),toIndex=Math.max(0,Math.min(toIndex,array.length-1));let item=array.at(fromIndex);array.removeAt(fromIndex,{emitEvent:!1}),array.insert(toIndex,item)}function ListInputComponent_Conditional_0_Conditional_2_Template(rf,ctx){if(rf&1&&(\u0275\u0275element(0,"p",0),\u0275\u0275pipe(1,"renderMarkdown")),rf&2){let ctx_r1=\u0275\u0275nextContext(2);\u0275\u0275property("innerHTML",\u0275\u0275pipeBind1(1,1,ctx_r1.field.inputDescription.description),\u0275\u0275sanitizeHtml)}}function ListInputComponent_Conditional_0_For_5_Template(rf,ctx){if(rf&1){let _r3=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"ix-list-item",4),\u0275\u0275listener("delete",function(){let \u0275$index_11_r4=\u0275\u0275restoreView(_r3).$index,ctx_r1=\u0275\u0275nextContext(2);return \u0275\u0275resetView(ctx_r1.deleteItem(\u0275$index_11_r4))}),\u0275\u0275elementEnd()}if(rf&2){let item_r5=ctx.$implicit,\u0275$index_11_r4=ctx.$index,ctx_r1=\u0275\u0275nextContext(2);\u0275\u0275property("item",item_r5)("index",\u0275$index_11_r4)("componentFormGroup",ctx_r1.formGroupAt(\u0275$index_11_r4))}}function ListInputComponent_Conditional_0_Template(rf,ctx){if(rf&1){let _r1=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"h3"),\u0275\u0275text(1),\u0275\u0275elementEnd(),\u0275\u0275conditionalCreate(2,ListInputComponent_Conditional_0_Conditional_2_Template,2,3,"p",0),\u0275\u0275elementStart(3,"div",1),\u0275\u0275listener("cdkDropListDropped",function($event){\u0275\u0275restoreView(_r1);let ctx_r1=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r1.drop($event))}),\u0275\u0275repeaterCreate(4,ListInputComponent_Conditional_0_For_5_Template,1,3,"ix-list-item",2,\u0275\u0275repeaterTrackByIdentity),\u0275\u0275elementEnd(),\u0275\u0275elementStart(6,"button",3),\u0275\u0275listener("click",function(){\u0275\u0275restoreView(_r1);let ctx_r1=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r1.addItem())}),\u0275\u0275elementStart(7,"mat-icon"),\u0275\u0275text(8,"add"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(9,"span"),\u0275\u0275text(10),\u0275\u0275elementEnd()()}if(rf&2){let ctx_r1=\u0275\u0275nextContext();\u0275\u0275advance(),\u0275\u0275textInterpolate(ctx_r1.field.inputDescription.label),\u0275\u0275advance(),\u0275\u0275conditional(ctx_r1.field.inputDescription.description?2:-1),\u0275\u0275advance(2),\u0275\u0275repeater(ctx_r1.listInput.items),\u0275\u0275advance(6),\u0275\u0275textInterpolate(ctx_r1.addButtonText)}}var ListInputComponent=(()=>{class ListInputComponent2 extends ComponentInputComponent{constructor(){super(...arguments),this.inputConverter=inject(INPUT_CONVERTER_TOKEN),this.translate=inject(TranslateService),this.cdRef=inject(ChangeDetectorRef),this.dialog=inject(MatDialog)}get listInput(){return this.field}get formArray(){return this.componentFormGroup.get(this.field.inputDescription.key)}get addButtonText(){return this.field.inputDescription.itemType?.label?this.translate.instant("ADD_NAME",{name:this.field.inputDescription.itemType.label}):this.translate.instant("ADD_ANOTHER")}formGroupAt(index){return this.formArray.at(index)}addItem(){let itemType=this.listInput.inputDescription.itemType;if(itemType){let itemInput=this.inputConverter.convertInput(itemType,itemType.defaultValue,this.listInput.context,this.listInput.level+1),itemForm=new FormGroup({[itemType.key]:itemInput.toFormControl()});itemType.type==="Group"&&itemType.summary?this.dialog.open(GroupInputDialogComponent,{width:"500px",data:{field:itemInput,componentFormGroup:itemForm}}).afterClosed().subscribe(result=>{result&&(itemInput.setValue(itemForm.value[itemType.key]),this.listInput.push(itemInput),this.formArray.markAsDirty(),this.formArray.push(itemForm),this.cdRef.detectChanges())}):(this.listInput.push(itemInput),this.formArray.markAsDirty(),this.formArray.push(itemForm))}}deleteItem(index){this.listInput.removeAt(index),this.formArray.markAsDirty(),this.formArray.removeAt(index)}drop($event){this.formArray.markAsDirty(),moveItemInArray(this.listInput.items,$event.previousIndex,$event.currentIndex),moveItemInFormArray(this.formArray,$event.previousIndex,$event.currentIndex)}static{this.\u0275fac=(()=>{let \u0275ListInputComponent_BaseFactory;return function(__ngFactoryType__){return(\u0275ListInputComponent_BaseFactory||(\u0275ListInputComponent_BaseFactory=\u0275\u0275getInheritedFactory(ListInputComponent2)))(__ngFactoryType__||ListInputComponent2)}})()}static{this.\u0275cmp=\u0275\u0275defineComponent({type:ListInputComponent2,selectors:[["ix-list-input"]],features:[\u0275\u0275InheritDefinitionFeature],decls:1,vars:1,consts:[[1,"description",3,"innerHTML"],["cdkDropList","",3,"cdkDropListDropped"],["cdkDrag","",3,"item","index","componentFormGroup"],["type","button","matButton","outlined","color","primary",1,"add-button",3,"click"],["cdkDrag","",3,"delete","item","index","componentFormGroup"]],template:function(rf,ctx){rf&1&&\u0275\u0275conditionalCreate(0,ListInputComponent_Conditional_0_Template,11,3),rf&2&&\u0275\u0275conditional(ctx.field.hidden?-1:0)},dependencies:[DragDropModule,CdkDropList,CdkDrag,ListItemComponent,MatButtonModule,MatButton,MatIconModule,MatIcon,RenderMarkdownPipe],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .description[_ngcontent-%COMP%]{font-size:11px}[_nghost-%COMP%] h3[_ngcontent-%COMP%]{font-size:11.5px!important;font-weight:500!important;text-transform:uppercase;letter-spacing:.8px;color:color-mix(in srgb,transparent,currentcolor 67%)}[_nghost-%COMP%] .add-button[_ngcontent-%COMP%]{--mat-button-outlined-container-height: 32px;margin-top:16px}[_nghost-%COMP%] .cdk-drag-placeholder[_ngcontent-%COMP%]{opacity:0}[_nghost-%COMP%] .cdk-drag-animating[_ngcontent-%COMP%]{transition:transform .25s cubic-bezier(0,0,.2,1)}[_nghost-%COMP%] .cdk-drag[_ngcontent-%COMP%]:last-child{border:none}[_nghost-%COMP%] .cdk-drop-list-dragging[_ngcontent-%COMP%] .cdk-drag[_ngcontent-%COMP%]:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}[_nghost-%COMP%] .cdk-drop-list-dragging[_ngcontent-%COMP%] .cdk-drag-placeholder[_ngcontent-%COMP%]{cursor:grabbing}[_nghost-%COMP%] .cdk-drag[_ngcontent-%COMP%]{cursor:grab}[_nghost-%COMP%] ix-list-item[_ngcontent-%COMP%] + ix-list-item[_ngcontent-%COMP%]{margin-top:8px}"],changeDetection:0})}}return ListInputComponent2})();var ListInput=class extends ComponentPropertiesInput{constructor(input2,value,context3,converter,level){if(super(input2,value,context3,converter,level),input2.itemType){let itemType=input2.itemType;this.items=isArray_default(value)?value.map(value2=>converter.convertInput(itemType,value2,context3,level+1)):[],this.hidden=!!itemType.children?.some(item=>{let child=converter.convertInput(item,value,context3,level+1);return child.inputDescription.required&&child.hidden})}}toFormControl(){return new FormArray(this.items.map(item=>new FormGroup({[item.inputDescription.key]:item.toFormControl()})))}transformValue(){return{[this.inputDescription.key]:this.items.map(item=>item.transformValue())}}setValue(value){let len=Math.min(value.length,this.items.length);for(let i=0;i<len;i++)this.items[i].setValue(value[i][this.items[i].inputDescription.key])}push(item){this.items.push(item)}removeAt(index){this.items.splice(index,1)}};var LiveMetricInputFacade=(()=>{class LiveMetricInputFacade2 extends RawMetricInputFacade{selectorDataIsLoaded(field){return this._selectorDataIsLoaded(field,selectAllLoadedForAgent)}loadAgentDataVariables(agentId){this.store.dispatch(ensureAll29({agentId}))}selectorsForAgent(agentId,target){return this.loadAgentDataVariables(agentId),this._selectorsForAgent(agentId,target,selectAllForAgent(agentId),{name:"variables",slug:"variable"})}static{this.\u0275fac=(()=>{let \u0275LiveMetricInputFacade_BaseFactory;return function(__ngFactoryType__){return(\u0275LiveMetricInputFacade_BaseFactory||(\u0275LiveMetricInputFacade_BaseFactory=\u0275\u0275getInheritedFactory(LiveMetricInputFacade2)))(__ngFactoryType__||LiveMetricInputFacade2)}})()}static{this.\u0275prov=\u0275\u0275defineInjectable({token:LiveMetricInputFacade2,factory:LiveMetricInputFacade2.\u0275fac,providedIn:"root"})}}return LiveMetricInputFacade2})();var _c016=a0=>({min:a0}),_c17=a0=>({max:a0});function LiveMetricInputComponent_Conditional_0_Conditional_3_Template(rf,ctx){if(rf&1&&(\u0275\u0275element(0,"p",1),\u0275\u0275pipe(1,"renderMarkdown")),rf&2){let ctx_r0=\u0275\u0275nextContext(2);\u0275\u0275property("innerHTML",\u0275\u0275pipeBind1(1,1,ctx_r0.field.inputDescription.description),\u0275\u0275sanitizeHtml)}}function LiveMetricInputComponent_Conditional_0_Conditional_11_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"mat-error"),\u0275\u0275text(1),\u0275\u0275pipe(2,"translate"),\u0275\u0275elementEnd()),rf&2){let tmp_2_0,ctx_r0=\u0275\u0275nextContext(2);\u0275\u0275advance(),\u0275\u0275textInterpolate1(" ",\u0275\u0275pipeBind2(2,1,"__MESSAGE__.MIN",\u0275\u0275pureFunction1(4,_c016,ctx_r0.decimalsControl==null||(tmp_2_0=ctx_r0.decimalsControl.getError("min"))==null?null:tmp_2_0.min))," ")}}function LiveMetricInputComponent_Conditional_0_Conditional_12_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"mat-error"),\u0275\u0275text(1),\u0275\u0275pipe(2,"translate"),\u0275\u0275elementEnd()),rf&2){let tmp_2_0,ctx_r0=\u0275\u0275nextContext(2);\u0275\u0275advance(),\u0275\u0275textInterpolate1(" ",\u0275\u0275pipeBind2(2,1,"__MESSAGE__.MAX",\u0275\u0275pureFunction1(4,_c17,ctx_r0.decimalsControl==null||(tmp_2_0=ctx_r0.decimalsControl.getError("max"))==null?null:tmp_2_0.max))," ")}}function LiveMetricInputComponent_Conditional_0_Conditional_13_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",6),\u0275\u0275text(1,"__MESSAGE__.INTEGER"),\u0275\u0275elementEnd())}function LiveMetricInputComponent_Conditional_0_Conditional_14_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",6),\u0275\u0275text(1,"__MESSAGE__.INVALID_NUMBER"),\u0275\u0275elementEnd())}function LiveMetricInputComponent_Conditional_0_Conditional_15_Conditional_4_Template(rf,ctx){if(rf&1){let _r2=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"ix-translation-icon-button",11),\u0275\u0275listener("setTranslationKey",function($event){\u0275\u0275restoreView(_r2);let ctx_r0=\u0275\u0275nextContext(3);return \u0275\u0275resetView(ctx_r0.setUnitTranslationKey($event))}),\u0275\u0275elementEnd()}if(rf&2){let ctx_r0=\u0275\u0275nextContext(3);\u0275\u0275property("key",ctx_r0.unitTranslationKey)}}function LiveMetricInputComponent_Conditional_0_Conditional_15_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"mat-form-field",5)(1,"mat-label",6),\u0275\u0275text(2,"UNIT"),\u0275\u0275elementEnd(),\u0275\u0275element(3,"input",9),\u0275\u0275conditionalCreate(4,LiveMetricInputComponent_Conditional_0_Conditional_15_Conditional_4_Template,1,1,"ix-translation-icon-button",10),\u0275\u0275elementEnd()),rf&2){let ctx_r0=\u0275\u0275nextContext(2);\u0275\u0275property("formGroupName",ctx_r0.field.inputDescription.key),\u0275\u0275advance(3),\u0275\u0275property("placeholder",ctx_r0.unitPlaceholder),\u0275\u0275advance(),\u0275\u0275conditional(ctx_r0.translation&&!(ctx_r0.unitControl!=null&&ctx_r0.unitControl.disabled)?4:-1)}}function LiveMetricInputComponent_Conditional_0_Conditional_16_Template(rf,ctx){if(rf&1){let _r3=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"mat-form-field")(1,"mat-label",6),\u0275\u0275text(2,"UNIT"),\u0275\u0275elementEnd(),\u0275\u0275element(3,"input",12),\u0275\u0275pipe(4,"translate"),\u0275\u0275pipe(5,"trimTranslationNamespace"),\u0275\u0275elementStart(6,"ix-translation-icon-button",11),\u0275\u0275listener("setTranslationKey",function($event){\u0275\u0275restoreView(_r3);let ctx_r0=\u0275\u0275nextContext(2);return \u0275\u0275resetView(ctx_r0.setUnitTranslationKey($event))}),\u0275\u0275elementEnd()()}if(rf&2){let ctx_r0=\u0275\u0275nextContext(2);\u0275\u0275advance(3),\u0275\u0275property("value",ctx_r0.unitTranslationKey?\u0275\u0275pipeBind1(5,4,\u0275\u0275pipeBind1(4,2,ctx_r0.unitTranslationKey)):""),\u0275\u0275advance(3),\u0275\u0275property("key",ctx_r0.unitTranslationKey)}}function LiveMetricInputComponent_Conditional_0_Conditional_21_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",6),\u0275\u0275text(1,"__MESSAGE__.INVALID_FACTOR"),\u0275\u0275elementEnd())}function LiveMetricInputComponent_Conditional_0_Conditional_22_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",6),\u0275\u0275text(1,"__MESSAGE__.INVALID_NUMBER"),\u0275\u0275elementEnd())}function LiveMetricInputComponent_Conditional_0_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"div",0)(1,"h3"),\u0275\u0275text(2),\u0275\u0275elementEnd(),\u0275\u0275conditionalCreate(3,LiveMetricInputComponent_Conditional_0_Conditional_3_Template,2,3,"p",1),\u0275\u0275elementStart(4,"div",2),\u0275\u0275element(5,"ix-selector-input",3),\u0275\u0275elementEnd(),\u0275\u0275elementStart(6,"div",4)(7,"mat-form-field",5)(8,"mat-label",6),\u0275\u0275text(9,"DECIMALS"),\u0275\u0275elementEnd(),\u0275\u0275element(10,"input",7),\u0275\u0275conditionalCreate(11,LiveMetricInputComponent_Conditional_0_Conditional_11_Template,3,6,"mat-error"),\u0275\u0275conditionalCreate(12,LiveMetricInputComponent_Conditional_0_Conditional_12_Template,3,6,"mat-error"),\u0275\u0275conditionalCreate(13,LiveMetricInputComponent_Conditional_0_Conditional_13_Template,2,0,"mat-error",6),\u0275\u0275conditionalCreate(14,LiveMetricInputComponent_Conditional_0_Conditional_14_Template,2,0,"mat-error",6),\u0275\u0275elementEnd(),\u0275\u0275conditionalCreate(15,LiveMetricInputComponent_Conditional_0_Conditional_15_Template,5,3,"mat-form-field",5)(16,LiveMetricInputComponent_Conditional_0_Conditional_16_Template,7,6,"mat-form-field"),\u0275\u0275elementStart(17,"mat-form-field",5)(18,"mat-label",6),\u0275\u0275text(19,"FACTOR"),\u0275\u0275elementEnd(),\u0275\u0275element(20,"input",8),\u0275\u0275conditionalCreate(21,LiveMetricInputComponent_Conditional_0_Conditional_21_Template,2,0,"mat-error",6),\u0275\u0275conditionalCreate(22,LiveMetricInputComponent_Conditional_0_Conditional_22_Template,2,0,"mat-error",6),\u0275\u0275elementEnd()()()),rf&2){let ctx_r0=\u0275\u0275nextContext();\u0275\u0275property("formGroup",ctx_r0.componentFormGroup),\u0275\u0275advance(2),\u0275\u0275textInterpolate(ctx_r0.field.inputDescription.label),\u0275\u0275advance(),\u0275\u0275conditional(ctx_r0.field.inputDescription.description?3:-1),\u0275\u0275advance(2),\u0275\u0275property("pageVersionId",ctx_r0.field.context.component.pageVersion==null?null:ctx_r0.field.context.component.pageVersion.publicId)("selectorControl",ctx_r0.selectorControl)("selectors",ctx_r0.selectors)("disabled",!ctx_r0.selectorDataIsLoaded)("required",ctx_r0.required)("metricsEnabled",!1),\u0275\u0275advance(2),\u0275\u0275property("formGroupName",ctx_r0.field.inputDescription.key),\u0275\u0275advance(4),\u0275\u0275conditional(ctx_r0.decimalsControl!=null&&ctx_r0.decimalsControl.hasError("min")?11:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx_r0.decimalsControl!=null&&ctx_r0.decimalsControl.hasError("max")?12:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx_r0.decimalsControl!=null&&ctx_r0.decimalsControl.hasError("integer")?13:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx_r0.decimalsControl!=null&&ctx_r0.decimalsControl.hasError("number")?14:-1),\u0275\u0275advance(),\u0275\u0275conditional(!ctx_r0.translation||!ctx_r0.unitTranslationKey?15:16),\u0275\u0275advance(2),\u0275\u0275property("formGroupName",ctx_r0.field.inputDescription.key),\u0275\u0275advance(3),\u0275\u0275property("placeholder",ctx_r0.factorPlaceholder||""),\u0275\u0275advance(),\u0275\u0275conditional(ctx_r0.factorControl!=null&&ctx_r0.factorControl.hasError("decimals")?21:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx_r0.factorControl!=null&&ctx_r0.factorControl.hasError("number")?22:-1)}}var LiveMetricInputComponent=(()=>{class LiveMetricInputComponent2 extends RawMetricInputComponent{constructor(){super(...arguments),this.facade=inject(LiveMetricInputFacade)}static{this.\u0275fac=(()=>{let \u0275LiveMetricInputComponent_BaseFactory;return function(__ngFactoryType__){return(\u0275LiveMetricInputComponent_BaseFactory||(\u0275LiveMetricInputComponent_BaseFactory=\u0275\u0275getInheritedFactory(LiveMetricInputComponent2)))(__ngFactoryType__||LiveMetricInputComponent2)}})()}static{this.\u0275cmp=\u0275\u0275defineComponent({type:LiveMetricInputComponent2,selectors:[["ix-live-metric-input"]],features:[\u0275\u0275InheritDefinitionFeature],decls:1,vars:1,consts:[[3,"formGroup"],[1,"description",3,"innerHTML"],["fxLayout","column"],["fxFlex","","label","VARIABLE",3,"pageVersionId","selectorControl","selectors","disabled","required","metricsEnabled"],["fxLayout","row","fxLayoutGap","8px"],["fxFlex","",3,"formGroupName"],["translate",""],["formControlName","decimals","min","0","max","7","type","number","matInput",""],["formControlName","factor","type","number","matInput","",3,"placeholder"],["formControlName","unit","matInput","",3,"placeholder"],[3,"key"],[3,"setTranslationKey","key"],["matInput","","disabled","",3,"value"]],template:function(rf,ctx){rf&1&&\u0275\u0275conditionalCreate(0,LiveMetricInputComponent_Conditional_0_Template,23,19,"div",0),rf&2&&\u0275\u0275conditional(ctx.field.hidden?-1:0)},dependencies:[FlexModule,DefaultLayoutDirective,DefaultLayoutGapDirective,DefaultFlexDirective,MatFormFieldModule,MatFormField,MatLabel,MatError,MatInputModule,MatInput,MatSelectModule,ReactiveFormsModule,DefaultValueAccessor,NumberValueAccessor,NgControlStatus,NgControlStatusGroup,MinValidator,MaxValidator,FormGroupDirective,FormControlName,FormGroupName,SelectorInputComponent,TranslateModule,TranslateDirective,TranslationIconButtonComponent,RenderMarkdownPipe,TranslatePipe,TrimTranslationNamespacePipe],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] h3[_ngcontent-%COMP%]{font-size:11.5px!important;font-weight:500!important;text-transform:uppercase;letter-spacing:.8px;color:color-mix(in srgb,transparent,currentcolor 67%)}[_nghost-%COMP%] .description[_ngcontent-%COMP%]{font-size:11px}[_nghost-%COMP%] .mat-mdc-form-field[_ngcontent-%COMP%]{display:block}"],changeDetection:0})}}return LiveMetricInputComponent2})();var LiveMetricInput=class extends RawMetricInput{constructor(input2,value,context3,converter,level,injector){super(input2,value,context3,converter,level,injector),this.hidden=!injector.get(PlatformFeaturesService).instantCheck([{canInput:"live-data"}])}_getFormControls(){return omit_default(super._getFormControls(),"formula")}};var MaterialIconFieldsetFacade=(()=>{class MaterialIconFieldsetFacade2{groups(appearance){return from(import("./chunk-TRH6VHHM.js")).pipe(map(({ICONS_METADATA})=>{let groupsDict=ICONS_METADATA.reduce((groups,icon)=>(appearance==="legacy"&&icon.unsupported_families.includes("Material Icons")||appearance==="symbols"&&icon.unsupported_families.includes("Material Symbols Outlined")||icon.categories.forEach(category=>{groups[category]||(groups[category]=[]),groups[category].push(icon)}),groups),{});return Object.keys(groupsDict).map(key=>({name:key,icons:groupsDict[key]}))}),map(groups=>groups.map(group=>__spreadProps(__spreadValues({},group),{popularity:Math.round(group.icons.reduce((acc,curr)=>acc+curr.popularity,0)/group.icons.length),icons:group.icons.sort((a,b)=>b.popularity-a.popularity)})).sort((a,b)=>b.popularity-a.popularity)))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||MaterialIconFieldsetFacade2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:MaterialIconFieldsetFacade2,factory:MaterialIconFieldsetFacade2.\u0275fac,providedIn:"root"})}}return MaterialIconFieldsetFacade2})();var _forTrack06=($index,$item)=>$item.name;function MaterialIconFieldsetComponent_For_7_For_2_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"mat-option",13)(1,"mat-icon"),\u0275\u0275text(2),\u0275\u0275elementEnd()()),rf&2){let icon_r1=ctx.$implicit;\u0275\u0275property("value",icon_r1.name)("title",icon_r1.name),\u0275\u0275advance(2),\u0275\u0275textInterpolate(icon_r1.name)}}function MaterialIconFieldsetComponent_For_7_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"mat-optgroup",4),\u0275\u0275repeaterCreate(1,MaterialIconFieldsetComponent_For_7_For_2_Template,3,3,"mat-option",13,_forTrack06),\u0275\u0275elementEnd()),rf&2){let group_r2=ctx.$implicit;\u0275\u0275property("label",group_r2.name),\u0275\u0275advance(),\u0275\u0275repeater(group_r2.icons)}}function MaterialIconFieldsetComponent_ng_container_15_Template(rf,ctx){rf&1&&\u0275\u0275elementContainer(0)}function MaterialIconFieldsetComponent_Conditional_16_Template(rf,ctx){if(rf&1){let _r3=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"button",14),\u0275\u0275pipe(1,"translate"),\u0275\u0275listener("click",function(){\u0275\u0275restoreView(_r3);let ctx_r3=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r3.clear())}),\u0275\u0275elementStart(2,"mat-icon"),\u0275\u0275text(3,"close"),\u0275\u0275elementEnd()()}rf&2&&\u0275\u0275property("matTooltip",\u0275\u0275pipeBind1(1,1,"CLEAR"))}function MaterialIconFieldsetComponent_Conditional_18_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",12),\u0275\u0275text(1,"__MESSAGE__.REQUIRED"),\u0275\u0275elementEnd())}function MaterialIconFieldsetComponent_ng_template_19_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"mat-icon",15),\u0275\u0275text(1),\u0275\u0275elementEnd()),rf&2){let ctx_r3=\u0275\u0275nextContext();\u0275\u0275advance(),\u0275\u0275textInterpolate(ctx_r3.value)}}function MaterialIconFieldsetComponent_ng_template_21_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"mat-icon",16),\u0275\u0275text(1),\u0275\u0275elementEnd()),rf&2){let ctx_r3=\u0275\u0275nextContext();\u0275\u0275advance(),\u0275\u0275textInterpolate(ctx_r3.placeholderIcon)}}var MaterialIconFieldsetComponent=(()=>{class MaterialIconFieldsetComponent2{constructor(){this.appearance="symbols",this.placeholderIcon="add_reaction",this.filteredIconGroups$=new ReplaySubject(1),this.queryFormControl=new FormControl(""),this.destroy=inject(DestroyRef),this.facade=inject(MaterialIconFieldsetFacade)}get required(){return this.form.hasValidator(Validators.required)}get value(){return this.form.value}ngOnInit(){this.facade.groups(this.appearance).pipe(takeUntilDestroyed(this.destroy)).subscribe(groups=>{this.groups=groups,this.filteredIconGroups$.next(this.copyIconGroups(this.groups))}),this.queryFormControl.valueChanges.pipe(debounceTime(100),takeUntilDestroyed(this.destroy)).subscribe(()=>{this.filterIconGroups()})}ngAfterViewInit(){this.select._calculateOverlayScroll=this._calculateOverlayScroll.bind(this)}clear(){this.form.setValue(null),this.form.markAsDirty()}toggleSelect(){this.select.panelOpen?this.select.close():this.select.open()}filterIconGroups(){if(!this.groups)return;let query=this.queryFormControl.value||"",iconGroupsCopy=this.copyIconGroups(this.groups);if(!query){this.filteredIconGroups$.next(iconGroupsCopy);return}query=query.toLowerCase(),this.filteredIconGroups$.next(iconGroupsCopy.filter(iconGroup=>(iconGroup.name.toLowerCase().includes(query)||(iconGroup.icons=iconGroup.icons.filter(icon=>icon.name.toLowerCase().includes(query)||icon.tags.some(tag=>tag.toLowerCase().includes(query)))),iconGroup.icons.length>0)))}copyIconGroups(iconGroups){let iconGroupsCopy=[];return iconGroups.forEach(iconGroup=>{iconGroupsCopy.push({name:iconGroup.name,popularity:iconGroup.popularity,icons:iconGroup.icons.slice()})}),iconGroupsCopy}_calculateOverlayScroll(selectedIndex,scrollBuffer,maxScroll){let selectedLabel=this.select.selected?this.select.selected.group?.label:null,_selectedGroupIndex=selectedLabel?this.groups.findIndex(group=>group.name===selectedLabel):-1,_selectedIndex=selectedIndex-_selectedGroupIndex-2,itemHeight=40,optionOffsetFromScrollTop=itemHeight*Math.ceil(_selectedIndex/7)+Math.round((_selectedGroupIndex+1)*48),halfOptionHeight=itemHeight/2,optimalScrollPosition=optionOffsetFromScrollTop-scrollBuffer+halfOptionHeight;return Math.min(Math.max(0,optimalScrollPosition),maxScroll)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||MaterialIconFieldsetComponent2)}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:MaterialIconFieldsetComponent2,selectors:[["ix-material-icon-fieldset"]],viewQuery:function(rf,ctx){if(rf&1&&\u0275\u0275viewQuery(MatSelect,5),rf&2){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx.select=_t.first)}},inputs:{appearance:"appearance",form:"form",label:"label",placeholderIcon:"placeholderIcon"},decls:23,vars:19,consts:[["selectedIcon",""],["defaultIcon",""],["panelClass","material-icon-select-panel",1,"select",3,"formControl"],[3,"formControl","placeholderLabel","noEntriesFoundLabel"],[1,"icon-group",3,"label"],["fxLayout","column"],["data-testid","material-icon-fieldset-label",1,"label"],["fxLayout","row","fxLayoutAlign","start center"],["type","button","mat-icon-button","",1,"select-trigger-button",3,"click","disabled"],[4,"ngTemplateOutlet"],["type","button","mat-icon-button","",1,"clear-button",3,"matTooltip"],[1,"errors"],["translate",""],[1,"icon",3,"value","title"],["type","button","mat-icon-button","",1,"clear-button",3,"click","matTooltip"],["data-testid","material-icon-fieldset-selected-icon"],["data-testid","material-icon-fieldset-placeholder-icon"]],template:function(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"mat-form-field")(1,"mat-select",2)(2,"mat-option"),\u0275\u0275element(3,"ngx-mat-select-search",3),\u0275\u0275pipe(4,"translate"),\u0275\u0275pipe(5,"translate"),\u0275\u0275elementEnd(),\u0275\u0275repeaterCreate(6,MaterialIconFieldsetComponent_For_7_Template,3,1,"mat-optgroup",4,_forTrack06),\u0275\u0275pipe(8,"async"),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(9,"div",5)(10,"div",6),\u0275\u0275text(11),\u0275\u0275pipe(12,"translate"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(13,"div",7)(14,"button",8),\u0275\u0275listener("click",function(){return ctx.toggleSelect()}),\u0275\u0275template(15,MaterialIconFieldsetComponent_ng_container_15_Template,1,0,"ng-container",9),\u0275\u0275elementEnd(),\u0275\u0275conditionalCreate(16,MaterialIconFieldsetComponent_Conditional_16_Template,4,3,"button",10),\u0275\u0275elementEnd(),\u0275\u0275elementStart(17,"div",11),\u0275\u0275conditionalCreate(18,MaterialIconFieldsetComponent_Conditional_18_Template,2,0,"mat-error",12),\u0275\u0275elementEnd()(),\u0275\u0275template(19,MaterialIconFieldsetComponent_ng_template_19_Template,2,1,"ng-template",null,0,\u0275\u0275templateRefExtractor)(21,MaterialIconFieldsetComponent_ng_template_21_Template,2,1,"ng-template",null,1,\u0275\u0275templateRefExtractor)),rf&2){let selectedIcon_r5=\u0275\u0275reference(20),defaultIcon_r6=\u0275\u0275reference(22);\u0275\u0275advance(),\u0275\u0275property("formControl",ctx.form),\u0275\u0275advance(2),\u0275\u0275property("formControl",ctx.queryFormControl)("placeholderLabel",\u0275\u0275pipeBind1(4,11,"SEARCH"))("noEntriesFoundLabel",\u0275\u0275pipeBind1(5,13,"NO_RESULTS_FOUND")),\u0275\u0275advance(3),\u0275\u0275repeater(\u0275\u0275pipeBind1(8,15,ctx.filteredIconGroups$)),\u0275\u0275advance(3),\u0275\u0275classProp("with-errors",ctx.form.touched&&ctx.form.invalid),\u0275\u0275advance(2),\u0275\u0275textInterpolate1(" ",(ctx.label||\u0275\u0275pipeBind1(12,17,"ICON"))+(ctx.required?" *":"")," "),\u0275\u0275advance(3),\u0275\u0275property("disabled",ctx.form.disabled),\u0275\u0275advance(),\u0275\u0275property("ngTemplateOutlet",ctx.value?selectedIcon_r5:defaultIcon_r6),\u0275\u0275advance(),\u0275\u0275conditional(ctx.value&&!ctx.form.disabled?16:-1),\u0275\u0275advance(2),\u0275\u0275conditional(ctx.form.touched&&ctx.form.hasError("required")?18:-1)}},dependencies:[NgTemplateOutlet,FormsModule,NgControlStatus,FlexLayoutModule,DefaultLayoutDirective,DefaultLayoutAlignDirective,ReactiveFormsModule,FormControlDirective,MatButtonModule,MatIconButton,MatFormFieldModule,MatFormField,MatError,MatIconModule,MatIcon,MatTooltipModule,MatTooltip,MatSelectModule,MatSelect,MatOption,MatOptgroup,NgxMatSelectSearchModule,MatSelectSearchComponent,TranslateModule,TranslateDirective,AsyncPipe,TranslatePipe],styles:["[_nghost-%COMP%]{display:block;position:relative;padding-bottom:1.25em}[_nghost-%COMP%] .mat-mdc-form-field[_ngcontent-%COMP%]{position:absolute;left:40px;opacity:0;pointer-events:none}[_nghost-%COMP%] .select-trigger-button[_ngcontent-%COMP%]{background-color:rgba(var(--body-color-rgb),.04)}[_nghost-%COMP%] .label[_ngcontent-%COMP%]{margin-bottom:4px;transform-origin:top left;transform:scale(.75) perspective(100px) translateZ(.001px);font-size:14px;color:#0000008a}[_nghost-%COMP%] .with-errors[_ngcontent-%COMP%] .label[_ngcontent-%COMP%], [_nghost-%COMP%] .with-errors[_ngcontent-%COMP%] .select-trigger-button[_ngcontent-%COMP%]{color:var(--warn)}[_nghost-%COMP%] .errors[_ngcontent-%COMP%]{position:absolute;top:66px;left:0;font-size:10.5px}[_nghost-%COMP%] .clear-button[_ngcontent-%COMP%]{--mat-icon-button-state-layer-size: 32px;--mat-icon-button-icon-size: 20px;margin-left:4px}"],changeDetection:0})}}return MaterialIconFieldsetComponent2})();function MaterialIconInputComponent_Conditional_0_Template(rf,ctx){if(rf&1&&(\u0275\u0275element(0,"p",0),\u0275\u0275pipe(1,"renderMarkdown")),rf&2){let ctx_r0=\u0275\u0275nextContext();\u0275\u0275property("innerHTML",\u0275\u0275pipeBind1(1,1,ctx_r0.field.inputDescription.description),\u0275\u0275sanitizeHtml)}}var MaterialIconInputComponent=(()=>{class MaterialIconInputComponent2 extends ComponentInputComponent{get inputControl(){return super.inputControl}static{this.\u0275fac=(()=>{let \u0275MaterialIconInputComponent_BaseFactory;return function(__ngFactoryType__){return(\u0275MaterialIconInputComponent_BaseFactory||(\u0275MaterialIconInputComponent_BaseFactory=\u0275\u0275getInheritedFactory(MaterialIconInputComponent2)))(__ngFactoryType__||MaterialIconInputComponent2)}})()}static{this.\u0275cmp=\u0275\u0275defineComponent({type:MaterialIconInputComponent2,selectors:[["ix-material-icon-input"]],features:[\u0275\u0275InheritDefinitionFeature],decls:2,vars:3,consts:[[1,"description",3,"innerHTML"],["appearance","legacy",3,"form","label"]],template:function(rf,ctx){rf&1&&(\u0275\u0275conditionalCreate(0,MaterialIconInputComponent_Conditional_0_Template,2,3,"p",0),\u0275\u0275element(1,"ix-material-icon-fieldset",1)),rf&2&&(\u0275\u0275conditional(ctx.field.inputDescription.description?0:-1),\u0275\u0275advance(),\u0275\u0275property("form",ctx.inputControl)("label",ctx.field.inputDescription.label||""))},dependencies:[MaterialIconFieldsetComponent,RenderMarkdownPipe],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .description[_ngcontent-%COMP%]{font-size:11px}"],changeDetection:0})}}return MaterialIconInputComponent2})();var NumberInputValidatorDirective=(()=>{class NumberInputValidatorDirective2{constructor(){this.element=inject(ElementRef)}validate(){return this.element.nativeElement.validity.badInput?{number:!0,required:!1}:null}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||NumberInputValidatorDirective2)}}static{this.\u0275dir=\u0275\u0275defineDirective({type:NumberInputValidatorDirective2,selectors:[["input","type","number"]],features:[\u0275\u0275ProvidersFeature([{provide:NG_VALIDATORS,useExisting:forwardRef(()=>NumberInputValidatorDirective2),multi:!0}])]})}}return NumberInputValidatorDirective2})();var _c017=a0=>({min:a0}),_c18=a0=>({max:a0});function NumberInputComponent_Conditional_0_Template(rf,ctx){if(rf&1&&(\u0275\u0275element(0,"p",0),\u0275\u0275pipe(1,"renderMarkdown")),rf&2){let ctx_r0=\u0275\u0275nextContext();\u0275\u0275property("innerHTML",\u0275\u0275pipeBind1(1,1,ctx_r0.field.inputDescription.description),\u0275\u0275sanitizeHtml)}}function NumberInputComponent_Conditional_7_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",3),\u0275\u0275text(1,"__MESSAGE__.REQUIRED"),\u0275\u0275elementEnd())}function NumberInputComponent_Conditional_8_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",3),\u0275\u0275text(1,"__MESSAGE__.INVALID_NUMBER"),\u0275\u0275elementEnd())}function NumberInputComponent_Conditional_9_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"mat-error",4),\u0275\u0275text(1,"__MESSAGE__.MIN"),\u0275\u0275elementEnd()),rf&2){let tmp_1_0,ctx_r0=\u0275\u0275nextContext();\u0275\u0275property("translateParams",\u0275\u0275pureFunction1(1,_c017,ctx_r0.inputControl==null||(tmp_1_0=ctx_r0.inputControl.getError("min"))==null?null:tmp_1_0.min))}}function NumberInputComponent_Conditional_10_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"mat-error",4),\u0275\u0275text(1,"__MESSAGE__.MAX"),\u0275\u0275elementEnd()),rf&2){let tmp_1_0,ctx_r0=\u0275\u0275nextContext();\u0275\u0275property("translateParams",\u0275\u0275pureFunction1(1,_c18,ctx_r0.inputControl==null||(tmp_1_0=ctx_r0.inputControl.getError("max"))==null?null:tmp_1_0.max))}}var NumberInputComponent=(()=>{class NumberInputComponent2 extends ComponentInputComponent{enterKeyDownHandler(event2){event2.target.blur()}static{this.\u0275fac=(()=>{let \u0275NumberInputComponent_BaseFactory;return function(__ngFactoryType__){return(\u0275NumberInputComponent_BaseFactory||(\u0275NumberInputComponent_BaseFactory=\u0275\u0275getInheritedFactory(NumberInputComponent2)))(__ngFactoryType__||NumberInputComponent2)}})()}static{this.\u0275cmp=\u0275\u0275defineComponent({type:NumberInputComponent2,selectors:[["ix-number-input"]],features:[\u0275\u0275InheritDefinitionFeature],decls:11,vars:11,consts:[[1,"description",3,"innerHTML"],[3,"formGroup"],["matInput","","type","number","autocomplete","off","data-lpignore","true",3,"keydown.enter","step","formControlName","placeholder"],["translate",""],["translate","",3,"translateParams"]],template:function(rf,ctx){rf&1&&(\u0275\u0275conditionalCreate(0,NumberInputComponent_Conditional_0_Template,2,3,"p",0),\u0275\u0275elementStart(1,"mat-form-field",1)(2,"mat-label"),\u0275\u0275text(3),\u0275\u0275elementEnd(),\u0275\u0275elementStart(4,"input",2),\u0275\u0275listener("keydown.enter",function($event){return ctx.enterKeyDownHandler($event)}),\u0275\u0275elementEnd(),\u0275\u0275elementStart(5,"mat-hint"),\u0275\u0275text(6),\u0275\u0275elementEnd(),\u0275\u0275conditionalCreate(7,NumberInputComponent_Conditional_7_Template,2,0,"mat-error",3),\u0275\u0275conditionalCreate(8,NumberInputComponent_Conditional_8_Template,2,0,"mat-error",3),\u0275\u0275conditionalCreate(9,NumberInputComponent_Conditional_9_Template,2,3,"mat-error",4),\u0275\u0275conditionalCreate(10,NumberInputComponent_Conditional_10_Template,2,3,"mat-error",4),\u0275\u0275elementEnd()),rf&2&&(\u0275\u0275conditional(ctx.field.inputDescription.description?0:-1),\u0275\u0275advance(),\u0275\u0275property("formGroup",ctx.componentFormGroup),\u0275\u0275advance(2),\u0275\u0275textInterpolate(ctx.field.inputDescription.label),\u0275\u0275advance(),\u0275\u0275property("step",ctx.field.inputDescription.step)("formControlName",ctx.field.inputName)("placeholder",ctx.field.inputDescription.placeholder||""),\u0275\u0275advance(2),\u0275\u0275textInterpolate(ctx.field.inputDescription.hint),\u0275\u0275advance(),\u0275\u0275conditional(ctx.inputControl!=null&&ctx.inputControl.hasError("required")?7:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx.inputControl!=null&&ctx.inputControl.hasError("number")?8:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx.inputControl!=null&&ctx.inputControl.hasError("min")?9:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx.inputControl!=null&&ctx.inputControl.hasError("max")?10:-1))},dependencies:[MatFormFieldModule,MatFormField,MatLabel,MatHint,MatError,MatInputModule,MatInput,NumberInputValidatorDirective,ReactiveFormsModule,DefaultValueAccessor,NumberValueAccessor,NgControlStatus,NgControlStatusGroup,FormGroupDirective,FormControlName,TranslateModule,TranslateDirective,RenderMarkdownPipe],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .description[_ngcontent-%COMP%]{font-size:11px}[_nghost-%COMP%] .mat-mdc-form-field[_ngcontent-%COMP%]{width:100%}"],changeDetection:0})}}return NumberInputComponent2})();var NumberInput=class extends ComponentPropertiesInput{toFormControl(){let value=this.value??this.inputDescription.defaultValue,validators=this.getValidators(),formControl=new FormControl(value,validators);return this.inputDescription.disabled&&formControl.disable(),formControl}getValidators(){let validators=[],{min:min3,max:max3,required}=this.inputDescription;return required&&validators.push(Validators.required),min3!==void 0&&validators.push(Validators.min(min3)),max3!==void 0&&validators.push(Validators.max(max3)),validators}};function SelectionInputComponent_Conditional_0_Template(rf,ctx){if(rf&1&&(\u0275\u0275element(0,"p",0),\u0275\u0275pipe(1,"renderMarkdown")),rf&2){let ctx_r0=\u0275\u0275nextContext();\u0275\u0275property("innerHTML",\u0275\u0275pipeBind1(1,1,ctx_r0.field.inputDescription.description),\u0275\u0275sanitizeHtml)}}function SelectionInputComponent_For_6_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"mat-option",3),\u0275\u0275text(1),\u0275\u0275elementEnd()),rf&2){let option_r2=ctx.$implicit;\u0275\u0275property("value",option_r2.value),\u0275\u0275advance(),\u0275\u0275textInterpolate(option_r2.label)}}function SelectionInputComponent_Conditional_7_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",4),\u0275\u0275text(1,"__MESSAGE__.REQUIRED"),\u0275\u0275elementEnd())}var SelectionInputComponent=(()=>{class SelectionInputComponent2 extends ComponentInputComponent{static{this.\u0275fac=(()=>{let \u0275SelectionInputComponent_BaseFactory;return function(__ngFactoryType__){return(\u0275SelectionInputComponent_BaseFactory||(\u0275SelectionInputComponent_BaseFactory=\u0275\u0275getInheritedFactory(SelectionInputComponent2)))(__ngFactoryType__||SelectionInputComponent2)}})()}static{this.\u0275cmp=\u0275\u0275defineComponent({type:SelectionInputComponent2,selectors:[["ix-selection-input"]],features:[\u0275\u0275InheritDefinitionFeature],decls:8,vars:5,consts:[[1,"description",3,"innerHTML"],[3,"formGroup"],[3,"formControlName"],[3,"value"],["translate",""]],template:function(rf,ctx){rf&1&&(\u0275\u0275conditionalCreate(0,SelectionInputComponent_Conditional_0_Template,2,3,"p",0),\u0275\u0275elementStart(1,"mat-form-field",1)(2,"mat-label"),\u0275\u0275text(3),\u0275\u0275elementEnd(),\u0275\u0275elementStart(4,"mat-select",2),\u0275\u0275repeaterCreate(5,SelectionInputComponent_For_6_Template,2,2,"mat-option",3,\u0275\u0275repeaterTrackByIdentity),\u0275\u0275elementEnd(),\u0275\u0275conditionalCreate(7,SelectionInputComponent_Conditional_7_Template,2,0,"mat-error",4),\u0275\u0275elementEnd()),rf&2&&(\u0275\u0275conditional(ctx.field.inputDescription.description?0:-1),\u0275\u0275advance(),\u0275\u0275property("formGroup",ctx.componentFormGroup),\u0275\u0275advance(2),\u0275\u0275textInterpolate(ctx.field.inputDescription.label),\u0275\u0275advance(),\u0275\u0275property("formControlName",ctx.field.inputName),\u0275\u0275advance(),\u0275\u0275repeater(ctx.field.inputDescription.options),\u0275\u0275advance(2),\u0275\u0275conditional(ctx.inputControl!=null&&ctx.inputControl.hasError("required")?7:-1))},dependencies:[ReactiveFormsModule,NgControlStatus,NgControlStatusGroup,FormGroupDirective,FormControlName,MatFormFieldModule,MatFormField,MatLabel,MatError,MatSelectModule,MatSelect,MatOption,TranslateModule,TranslateDirective,RenderMarkdownPipe],styles:["[_nghost-%COMP%] .description[_ngcontent-%COMP%]{font-size:11px}[_nghost-%COMP%] .mat-mdc-form-field[_ngcontent-%COMP%]{display:block}"],changeDetection:0})}}return SelectionInputComponent2})();var SelectionInput=class extends ComponentPropertiesInput{constructor(input2,value,context3,converter,level){super(input2,value,context3,converter,level),this.setValue(value)}setValue(value){super.setValue(value)}transformValue(){let selectedOption=this.inputDescription.options?.find(v=>v.value===this.value);return selectedOption?__spreadProps(__spreadValues({},super.transformValue()),{["$"+this.inputDescription.key]:selectedOption}):super.transformValue()}};var nonWhitespaceValidator=formControl=>typeof formControl.value=="string"&&formControl.value.trim()===""?{nonWhitespace:!0}:null;var StringInput=class extends ComponentPropertiesInput{constructor(input2,value,context3,converter,level,injector){super(input2,value,context3,converter,level),this.translate=injector.get(TranslateService),this.setValue(value)}toFormControl(){let validators=[];this.inputDescription.required&&(validators.push(Validators.required),this.inputDescription.type==="String"&&validators.push(nonWhitespaceValidator)),this.inputDescription.pattern&&validators.push(Validators.pattern(new RegExp(this.inputDescription.pattern)));let formControl=new FormControl(this.value??this.inputDescription.defaultValue??"",validators.length?validators:null);return this.inputDescription.disabled&&formControl.disable(),formControl}transformValue(){return isString_default(this.value)&&this.value.startsWith("__TRANSLATION__.")?{[this.inputDescription.key]:trimNamespace(this.translate.instant(this.value))}:super.transformValue()}setValue(value){super.setValue(isNil_default(value)?value:String(value))}};function StringInputComponent_Conditional_0_Template(rf,ctx){if(rf&1&&(\u0275\u0275element(0,"p",0),\u0275\u0275pipe(1,"renderMarkdown")),rf&2){let ctx_r0=\u0275\u0275nextContext();\u0275\u0275property("innerHTML",\u0275\u0275pipeBind1(1,1,ctx_r0.field.inputDescription.description),\u0275\u0275sanitizeHtml)}}function StringInputComponent_Conditional_1_Conditional_4_Template(rf,ctx){if(rf&1){let _r3=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"ix-translation-icon-button",5),\u0275\u0275listener("setTranslationKey",function($event){\u0275\u0275restoreView(_r3);let ctx_r0=\u0275\u0275nextContext(2);return \u0275\u0275resetView(ctx_r0.setTranslationKey($event))}),\u0275\u0275elementEnd()}if(rf&2){let ctx_r0=\u0275\u0275nextContext(2);\u0275\u0275property("key",ctx_r0.translationKey)}}function StringInputComponent_Conditional_1_Conditional_7_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",4),\u0275\u0275text(1,"__MESSAGE__.REQUIRED"),\u0275\u0275elementEnd())}function StringInputComponent_Conditional_1_Conditional_8_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"mat-error"),\u0275\u0275text(1),\u0275\u0275elementEnd()),rf&2){let ctx_r0=\u0275\u0275nextContext(2);\u0275\u0275advance(),\u0275\u0275textInterpolate(ctx_r0.field.inputDescription.patternHint)}}function StringInputComponent_Conditional_1_Template(rf,ctx){if(rf&1){let _r2=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"mat-form-field",1)(1,"mat-label"),\u0275\u0275text(2),\u0275\u0275elementEnd(),\u0275\u0275elementStart(3,"input",2),\u0275\u0275listener("keydown.enter",function($event){\u0275\u0275restoreView(_r2);let ctx_r0=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r0.enterKeyDownHandler($event))}),\u0275\u0275elementEnd(),\u0275\u0275conditionalCreate(4,StringInputComponent_Conditional_1_Conditional_4_Template,1,1,"ix-translation-icon-button",3),\u0275\u0275elementStart(5,"mat-hint"),\u0275\u0275text(6),\u0275\u0275elementEnd(),\u0275\u0275conditionalCreate(7,StringInputComponent_Conditional_1_Conditional_7_Template,2,0,"mat-error",4)(8,StringInputComponent_Conditional_1_Conditional_8_Template,2,1,"mat-error"),\u0275\u0275elementEnd()}if(rf&2){let ctx_r0=\u0275\u0275nextContext();\u0275\u0275property("formGroup",ctx_r0.componentFormGroup),\u0275\u0275advance(2),\u0275\u0275textInterpolate(ctx_r0.field.inputDescription.label),\u0275\u0275advance(),\u0275\u0275property("formControlName",ctx_r0.field.inputName)("placeholder",ctx_r0.field.inputDescription.placeholder||""),\u0275\u0275advance(),\u0275\u0275conditional(ctx_r0.translation?4:-1),\u0275\u0275advance(2),\u0275\u0275textInterpolate(ctx_r0.field.inputDescription.hint),\u0275\u0275advance(),\u0275\u0275conditional(ctx_r0.inputControl!=null&&ctx_r0.inputControl.hasError("required")||ctx_r0.inputControl!=null&&ctx_r0.inputControl.hasError("nonWhitespace")?7:ctx_r0.inputControl!=null&&ctx_r0.inputControl.hasError("pattern")?8:-1)}}function StringInputComponent_Conditional_2_Template(rf,ctx){if(rf&1){let _r4=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"mat-form-field")(1,"mat-label"),\u0275\u0275text(2),\u0275\u0275elementEnd(),\u0275\u0275element(3,"input",6),\u0275\u0275pipe(4,"translate"),\u0275\u0275pipe(5,"trimTranslationNamespace"),\u0275\u0275elementStart(6,"ix-translation-icon-button",5),\u0275\u0275listener("setTranslationKey",function($event){\u0275\u0275restoreView(_r4);let ctx_r0=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r0.setTranslationKey($event))}),\u0275\u0275elementEnd(),\u0275\u0275elementStart(7,"mat-hint"),\u0275\u0275text(8),\u0275\u0275elementEnd()()}if(rf&2){let ctx_r0=\u0275\u0275nextContext();\u0275\u0275advance(2),\u0275\u0275textInterpolate(ctx_r0.field.inputDescription.label),\u0275\u0275advance(),\u0275\u0275property("value",ctx_r0.translationKey?\u0275\u0275pipeBind1(5,7,\u0275\u0275pipeBind1(4,5,ctx_r0.translationKey)):"")("placeholder",ctx_r0.field.inputDescription.placeholder||""),\u0275\u0275advance(3),\u0275\u0275property("key",ctx_r0.translationKey),\u0275\u0275advance(2),\u0275\u0275textInterpolate(ctx_r0.field.inputDescription.hint)}}var StringInputComponent=(()=>{class StringInputComponent2 extends ComponentInputComponent{constructor(){super(...arguments),this.translate=inject(TranslateService),this.translation=!1}ngOnInit(){this.translation=environment.appName!=="Simulator"&&(this.field?.inputDescription?.translate??!0),this.translationKey=this.inputControl?.value?.startsWith("__TRANSLATION__.")?this.inputControl.value:void 0}setTranslationKey(translationKey){this.translationKey=translationKey,this.inputControl?.markAsDirty(),translationKey?this.inputControl?.setValue(this.translationKey):this.inputControl?.setValue(this.field.value?this.translate.instant(this.field.value):"")}enterKeyDownHandler(event2){event2.target.blur()}static{this.\u0275fac=(()=>{let \u0275StringInputComponent_BaseFactory;return function(__ngFactoryType__){return(\u0275StringInputComponent_BaseFactory||(\u0275StringInputComponent_BaseFactory=\u0275\u0275getInheritedFactory(StringInputComponent2)))(__ngFactoryType__||StringInputComponent2)}})()}static{this.\u0275cmp=\u0275\u0275defineComponent({type:StringInputComponent2,selectors:[["ix-string-input"]],features:[\u0275\u0275InheritDefinitionFeature],decls:3,vars:2,consts:[[1,"description",3,"innerHTML"],[3,"formGroup"],["matInput","","autocomplete","off","data-lpignore","true",3,"keydown.enter","formControlName","placeholder"],[3,"key"],["translate",""],[3,"setTranslationKey","key"],["matInput","","disabled","","autocomplete","off","data-lpignore","true",3,"value","placeholder"]],template:function(rf,ctx){rf&1&&(\u0275\u0275conditionalCreate(0,StringInputComponent_Conditional_0_Template,2,3,"p",0),\u0275\u0275conditionalCreate(1,StringInputComponent_Conditional_1_Template,9,7,"mat-form-field",1)(2,StringInputComponent_Conditional_2_Template,9,9,"mat-form-field")),rf&2&&(\u0275\u0275conditional(ctx.field.inputDescription.description?0:-1),\u0275\u0275advance(),\u0275\u0275conditional(!ctx.translation||!ctx.translationKey?1:2))},dependencies:[ReactiveFormsModule,DefaultValueAccessor,NgControlStatus,NgControlStatusGroup,FormGroupDirective,FormControlName,MatFormFieldModule,MatFormField,MatLabel,MatHint,MatError,MatInputModule,MatInput,TranslateModule,TranslateDirective,TranslationIconButtonComponent,TranslatePipe,TrimTranslationNamespacePipe,RenderMarkdownPipe],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .description[_ngcontent-%COMP%]{font-size:11px}[_nghost-%COMP%] .mat-mdc-form-field[_ngcontent-%COMP%]{width:100%}"],changeDetection:0})}}return StringInputComponent2})();var TextInput=class extends StringInput{};function TextInputComponent_Conditional_0_Template(rf,ctx){if(rf&1&&(\u0275\u0275element(0,"p",0),\u0275\u0275pipe(1,"renderMarkdown")),rf&2){let ctx_r0=\u0275\u0275nextContext();\u0275\u0275property("innerHTML",\u0275\u0275pipeBind1(1,1,ctx_r0.field.inputDescription.description),\u0275\u0275sanitizeHtml)}}function TextInputComponent_Conditional_1_Conditional_4_Template(rf,ctx){if(rf&1){let _r2=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"ix-translation-icon-button",5),\u0275\u0275listener("setTranslationKey",function($event){\u0275\u0275restoreView(_r2);let ctx_r0=\u0275\u0275nextContext(2);return \u0275\u0275resetView(ctx_r0.setTranslationKey($event))}),\u0275\u0275elementEnd()}if(rf&2){let ctx_r0=\u0275\u0275nextContext(2);\u0275\u0275property("key",ctx_r0.translationKey)}}function TextInputComponent_Conditional_1_Conditional_7_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",4),\u0275\u0275text(1,"__MESSAGE__.REQUIRED"),\u0275\u0275elementEnd())}function TextInputComponent_Conditional_1_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"mat-form-field",1)(1,"mat-label"),\u0275\u0275text(2),\u0275\u0275elementEnd(),\u0275\u0275elementStart(3,"textarea",2),\u0275\u0275listener("keydown.enter",function($event){return $event.stopPropagation()}),\u0275\u0275elementEnd(),\u0275\u0275conditionalCreate(4,TextInputComponent_Conditional_1_Conditional_4_Template,1,1,"ix-translation-icon-button",3),\u0275\u0275elementStart(5,"mat-hint"),\u0275\u0275text(6),\u0275\u0275elementEnd(),\u0275\u0275conditionalCreate(7,TextInputComponent_Conditional_1_Conditional_7_Template,2,0,"mat-error",4),\u0275\u0275elementEnd()),rf&2){let ctx_r0=\u0275\u0275nextContext();\u0275\u0275property("formGroup",ctx_r0.componentFormGroup),\u0275\u0275advance(2),\u0275\u0275textInterpolate(ctx_r0.field.inputDescription.label),\u0275\u0275advance(),\u0275\u0275property("formControlName",ctx_r0.field.inputName)("placeholder",ctx_r0.field.inputDescription.placeholder||""),\u0275\u0275advance(),\u0275\u0275conditional(ctx_r0.translation?4:-1),\u0275\u0275advance(2),\u0275\u0275textInterpolate(ctx_r0.field.inputDescription.hint),\u0275\u0275advance(),\u0275\u0275conditional(ctx_r0.inputControl!=null&&ctx_r0.inputControl.hasError("required")?7:-1)}}function TextInputComponent_Conditional_2_Template(rf,ctx){if(rf&1){let _r3=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"mat-form-field")(1,"mat-label"),\u0275\u0275text(2),\u0275\u0275elementEnd(),\u0275\u0275element(3,"textarea",6),\u0275\u0275pipe(4,"translate"),\u0275\u0275pipe(5,"trimTranslationNamespace"),\u0275\u0275elementStart(6,"ix-translation-icon-button",5),\u0275\u0275listener("setTranslationKey",function($event){\u0275\u0275restoreView(_r3);let ctx_r0=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r0.setTranslationKey($event))}),\u0275\u0275elementEnd(),\u0275\u0275elementStart(7,"mat-hint"),\u0275\u0275text(8),\u0275\u0275elementEnd()()}if(rf&2){let ctx_r0=\u0275\u0275nextContext();\u0275\u0275advance(2),\u0275\u0275textInterpolate(ctx_r0.field.inputDescription.label),\u0275\u0275advance(),\u0275\u0275property("value",ctx_r0.translationKey?\u0275\u0275pipeBind1(5,7,\u0275\u0275pipeBind1(4,5,ctx_r0.translationKey)):"")("placeholder",ctx_r0.field.inputDescription.placeholder||""),\u0275\u0275advance(3),\u0275\u0275property("key",ctx_r0.translationKey),\u0275\u0275advance(2),\u0275\u0275textInterpolate(ctx_r0.field.inputDescription.hint)}}var TextInputComponent=(()=>{class TextInputComponent2 extends StringInputComponent{static{this.\u0275fac=(()=>{let \u0275TextInputComponent_BaseFactory;return function(__ngFactoryType__){return(\u0275TextInputComponent_BaseFactory||(\u0275TextInputComponent_BaseFactory=\u0275\u0275getInheritedFactory(TextInputComponent2)))(__ngFactoryType__||TextInputComponent2)}})()}static{this.\u0275cmp=\u0275\u0275defineComponent({type:TextInputComponent2,selectors:[["ix-text-input"]],features:[\u0275\u0275InheritDefinitionFeature],decls:3,vars:2,consts:[[1,"description",3,"innerHTML"],[3,"formGroup"],["matInput","","cdkTextareaAutosize","true","cdkAutosizeMinRows","2","cdkAutosizeMaxRows","15",3,"keydown.enter","formControlName","placeholder"],[3,"key"],["translate",""],[3,"setTranslationKey","key"],["matInput","","cdkTextareaAutosize","true","cdkAutosizeMinRows","2","cdkAutosizeMaxRows","15","disabled","",3,"value","placeholder"]],template:function(rf,ctx){rf&1&&(\u0275\u0275conditionalCreate(0,TextInputComponent_Conditional_0_Template,2,3,"p",0),\u0275\u0275conditionalCreate(1,TextInputComponent_Conditional_1_Template,8,7,"mat-form-field",1)(2,TextInputComponent_Conditional_2_Template,9,9,"mat-form-field")),rf&2&&(\u0275\u0275conditional(ctx.field.inputDescription.description?0:-1),\u0275\u0275advance(),\u0275\u0275conditional(!ctx.translation||!ctx.translationKey?1:2))},dependencies:[ReactiveFormsModule,DefaultValueAccessor,NgControlStatus,NgControlStatusGroup,FormGroupDirective,FormControlName,MatFormFieldModule,MatFormField,MatLabel,MatHint,MatError,MatInputModule,MatInput,CdkTextareaAutosize,TranslateModule,TranslateDirective,TranslationIconButtonComponent,TranslatePipe,TrimTranslationNamespacePipe,RenderMarkdownPipe],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .description[_ngcontent-%COMP%]{font-size:11px}[_nghost-%COMP%] .mat-mdc-form-field[_ngcontent-%COMP%]{width:100%}[_nghost-%COMP%] .mat-mdc-form-field[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{width:calc(100% - 40px)}"],changeDetection:0})}}return TextInputComponent2})();var RichTextInput=class extends StringInput{};var MarkdownModule=(()=>{class MarkdownModule2{static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||MarkdownModule2)}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:MarkdownModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({})}}return MarkdownModule2})();var defaultModules={toolbar:[["bold","italic","underline","strike"],["blockquote","code-block"],[{header:1},{header:2}],[{list:"ordered"},{list:"bullet"}],[{script:"sub"},{script:"super"}],[{indent:"-1"},{indent:"+1"}],[{direction:"rtl"}],[{size:["small",!1,"large","huge"]}],[{header:[1,2,3,4,5,6,!1]}],[{color:[]},{background:[]}],[{font:[]}],[{align:[]}],["clean"],["link","image","video"],["table"]]},QUILL_CONFIG_TOKEN=new InjectionToken("config",{providedIn:"root",factory:()=>({modules:defaultModules})});var _c018=[[["","above-quill-editor-toolbar",""]],[["","quill-editor-toolbar",""]],[["","below-quill-editor-toolbar",""]]],_c19=["[above-quill-editor-toolbar]","[quill-editor-toolbar]","[below-quill-editor-toolbar]"];function QuillEditorComponent_Conditional_0_Template(rf,ctx){rf&1&&\u0275\u0275domElement(0,"div",0)}function QuillEditorComponent_Conditional_4_Template(rf,ctx){rf&1&&\u0275\u0275domElement(0,"div",0)}var getFormat2=(format3,configFormat)=>format3||configFormat||"html",QuillService=(()=>{class QuillService2{constructor(){this.config=inject(QUILL_CONFIG_TOKEN)||{modules:defaultModules},this.quill$=defer(()=>__async(this,null,function*(){if(!this.Quill){let{Quill}=yield import("./chunk-SKTEPXFY.js");this.Quill=Quill}return this.config.customOptions?.forEach(customOption=>{let newCustomOption=this.Quill.import(customOption.import);newCustomOption.whitelist=customOption.whitelist,this.Quill.register(newCustomOption,!0,this.config.suppressGlobalRegisterWarning)}),new Promise(resolve=>{this.registerCustomModules(this.Quill,this.config.customModules,this.config.suppressGlobalRegisterWarning).subscribe(resolve)})})).pipe(shareReplay({bufferSize:1,refCount:!1})),this.registeredModules=new Set}getQuill(){return this.quill$}beforeRender(Quill,customModules,beforeRender=this.config.beforeRender){let sources=[this.registerCustomModules(Quill,customModules)];return beforeRender&&sources.push(beforeRender()),forkJoin(sources).pipe(map(()=>Quill))}registerCustomModules(Quill,customModules,suppressGlobalRegisterWarning){if(!Array.isArray(customModules))return of(Quill);let sources=[];for(let customModule of customModules){let{path,implementation:maybeImplementation}=customModule;this.registeredModules.has(path)||(this.registeredModules.add(path),isObservable(maybeImplementation)?sources.push(maybeImplementation.pipe(tap(implementation=>{Quill.register(path,implementation,suppressGlobalRegisterWarning)}))):Quill.register(path,maybeImplementation,suppressGlobalRegisterWarning))}return sources.length>0?forkJoin(sources).pipe(map(()=>Quill)):of(Quill)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||QuillService2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:QuillService2,factory:QuillService2.\u0275fac,providedIn:"root"})}}return QuillService2})(),QuillEditorBase=(()=>{class QuillEditorBase2{constructor(){this.format=input(),this.theme=input(),this.modules=input(),this.debug=input(!1),this.readOnly=input(!1,{transform:booleanAttribute}),this.placeholder=input(),this.maxLength=input(),this.minLength=input(),this.required=input(!1,{transform:booleanAttribute}),this.formats=input(),this.customToolbarPosition=input("top"),this.sanitize=input(),this.beforeRender=input(),this.styles=input(null),this.registry=input(),this.bounds=input(),this.customOptions=input([]),this.customModules=input([]),this.trackChanges=input(),this.classes=input(),this.trimOnValidation=input(!1,{transform:booleanAttribute}),this.linkPlaceholder=input(),this.compareValues=input(!1,{transform:booleanAttribute}),this.filterNull=input(!1,{transform:booleanAttribute}),this.debounceTime=input(),this.onlyFormatEventData=input(!1),this.defaultEmptyValue=input(null),this.onEditorCreated=new EventEmitter,this.onEditorChanged=new EventEmitter,this.onContentChanged=new EventEmitter,this.onSelectionChanged=new EventEmitter,this.onFocus=new EventEmitter,this.onBlur=new EventEmitter,this.onNativeFocus=new EventEmitter,this.onNativeBlur=new EventEmitter,this.disabled=!1,this.toolbarPosition=signal("top"),this.eventsSubscription=null,this.quillSubscription=null,this.elementRef=inject(ElementRef),this.domSanitizer=inject(DomSanitizer),this.platformId=inject(PLATFORM_ID),this.renderer=inject(Renderer2),this.service=inject(QuillService),this.destroyRef=inject(DestroyRef),this.init=!1,this.valueGetter=input(this.getter.bind(this)),this.valueSetter=input((quillEditor,value)=>{let format3=getFormat2(this.format(),this.service.config.format);if(format3==="html")return(typeof this.sanitize()=="boolean"?this.sanitize():this.service.config.sanitize)&&(value=this.domSanitizer.sanitize(SecurityContext.HTML,value)),quillEditor.clipboard.convert({html:value});if(format3==="json")try{return JSON.parse(value)}catch(e){return[{insert:value}]}return value}),this.selectionChangeHandler=(range4,oldRange,source)=>{let trackChanges=this.trackChanges()||this.service.config.trackChanges,shouldTriggerOnModelTouched=!range4&&!!this.onModelTouched&&(source==="user"||trackChanges&&trackChanges==="all");!this.onBlur.observed&&!this.onFocus.observed&&!this.onSelectionChanged.observed&&!shouldTriggerOnModelTouched||(range4===null?this.onBlur.emit({editor:this.quillEditor,source}):oldRange===null&&this.onFocus.emit({editor:this.quillEditor,source}),this.onSelectionChanged.emit({editor:this.quillEditor,oldRange,range:range4,source}),shouldTriggerOnModelTouched&&this.onModelTouched())},this.textChangeHandler=(delta,oldDelta,source)=>{let trackChanges=this.trackChanges()||this.service.config.trackChanges,shouldTriggerOnModelChange=(source==="user"||trackChanges&&trackChanges==="all")&&!!this.onModelChange;if(!this.onContentChanged.observed&&!shouldTriggerOnModelChange)return;let data=this.eventCallbackFormats();shouldTriggerOnModelChange&&this.onModelChange(data.noFormat?this.valueGetter()(this.quillEditor):data[data.format]),this.onContentChanged.emit({content:data.object,delta,editor:this.quillEditor,html:data.html,oldDelta,source,text:data.text})},this.editorChangeHandler=(event2,current,old,source)=>{if(this.onEditorChanged.observed)if(event2==="text-change"){let data=this.eventCallbackFormats();this.onEditorChanged.emit({content:data.object,delta:current,editor:this.quillEditor,event:event2,html:data.html,oldDelta:old,source,text:data.text})}else this.onEditorChanged.emit({editor:this.quillEditor,event:event2,oldRange:old,range:current,source})},afterNextRender(()=>{isPlatformServer(this.platformId)||(this.quillSubscription=this.service.getQuill().pipe(mergeMap(Quill=>this.service.beforeRender(Quill,this.customModules(),this.beforeRender()))).subscribe(Quill=>{this.editorElem=this.elementRef.nativeElement.querySelector("[quill-editor-element]");let toolbarElem=this.elementRef.nativeElement.querySelector("[quill-editor-toolbar]"),modules=Object.assign({},this.modules()||this.service.config.modules);toolbarElem?modules.toolbar=toolbarElem:modules.toolbar===void 0&&(modules.toolbar=defaultModules.toolbar);let placeholder=this.placeholder()!==void 0?this.placeholder():this.service.config.placeholder;placeholder===void 0&&(placeholder="Insert text here ...");let styles=this.styles();styles&&(this.previousStyles=styles,Object.keys(styles).forEach(key=>{this.renderer.setStyle(this.editorElem,key,styles[key])}));let previousClasses=this.classes();previousClasses&&(this.previousClasses=previousClasses,this.addClasses(previousClasses)),this.customOptions().forEach(customOption=>{let newCustomOption=Quill.import(customOption.import);newCustomOption.whitelist=customOption.whitelist,Quill.register(newCustomOption,!0)});let bounds=this.bounds()&&this.bounds()==="self"?this.editorElem:this.bounds();bounds||(bounds=this.service.config.bounds?this.service.config.bounds:document.body);let debug2=this.debug();!debug2&&debug2!==!1&&this.service.config.debug&&(debug2=this.service.config.debug);let readOnly=this.readOnly();!readOnly&&this.readOnly()!==!1&&(readOnly=this.service.config.readOnly!==void 0?this.service.config.readOnly:!1);let formats=this.formats();if(!formats&&formats===void 0&&(formats=this.service.config.formats?[...this.service.config.formats]:this.service.config.formats===null?null:void 0),this.quillEditor=new Quill(this.editorElem,{bounds,debug:debug2,formats,modules,placeholder,readOnly,registry:this.registry(),theme:this.theme()||(this.service.config.theme?this.service.config.theme:"snow")}),this.onNativeBlur.observed){fromEvent(this.quillEditor.scroll.domNode,"blur").pipe(takeUntilDestroyed(this.destroyRef)).subscribe(()=>this.onNativeBlur.next({editor:this.quillEditor,source:"dom"}));let toolbar=this.quillEditor.getModule("toolbar");toolbar.container&&fromEvent(toolbar.container,"mousedown").pipe(takeUntilDestroyed(this.destroyRef)).subscribe(e=>e.preventDefault())}if(this.onNativeFocus.observed&&fromEvent(this.quillEditor.scroll.domNode,"focus").pipe(takeUntilDestroyed(this.destroyRef)).subscribe(()=>this.onNativeFocus.next({editor:this.quillEditor,source:"dom"})),this.linkPlaceholder()){let input2=this.quillEditor?.theme?.tooltip?.root?.querySelector("input[data-link]");input2?.dataset&&(input2.dataset.link=this.linkPlaceholder())}if(this.content){if(getFormat2(this.format(),this.service.config.format)==="text")this.quillEditor.setText(this.content,"silent");else{let newValue=this.valueSetter()(this.quillEditor,this.content);this.quillEditor.setContents(newValue,"silent")}this.quillEditor.getModule("history").clear()}if(this.setDisabledState(),this.addQuillEventListeners(),!this.onEditorCreated.observed&&!this.onValidatorChanged){this.init=!0;return}this.onValidatorChanged&&this.onValidatorChanged(),this.onEditorCreated.emit(this.quillEditor),this.init=!0}))}),effect(()=>{let customToolbarPosition=this.customToolbarPosition();this.init&&this.toolbarPosition()!==customToolbarPosition&&this.toolbarPosition.set(customToolbarPosition)}),effect(()=>{let readOnly=this.readOnly();this.init&&(readOnly?this.quillEditor?.disable():this.quillEditor?.enable(!0))}),effect(()=>{let placeholder=this.placeholder();this.init&&this.quillEditor&&(this.quillEditor.root.dataset.placeholder=placeholder)}),effect(()=>{let styles=this.styles();if(!this.init||!this.editorElem)return;let currentStyling=styles,previousStyling=this.previousStyles;previousStyling&&Object.keys(previousStyling).forEach(key=>{this.renderer.removeStyle(this.editorElem,key)}),currentStyling&&Object.keys(currentStyling).forEach(key=>{this.renderer.setStyle(this.editorElem,key,currentStyling[key])})}),effect(()=>{let classes=this.classes();if(!this.init||!this.quillEditor)return;let currentClasses=classes,previousClasses=this.previousClasses;previousClasses&&this.removeClasses(previousClasses),currentClasses&&this.addClasses(currentClasses)}),effect(()=>{let debounceTime2=this.debounceTime();!this.init||!this.quillEditor||debounceTime2&&this.addQuillEventListeners()}),this.destroyRef.onDestroy(()=>{this.dispose(),this.quillSubscription?.unsubscribe(),this.quillSubscription=null})}static normalizeClassNames(classes){return classes.trim().split(" ").reduce((prev,cur)=>{let trimmed=cur.trim();return trimmed&&prev.push(trimmed),prev},[])}addClasses(classList){QuillEditorBase2.normalizeClassNames(classList).forEach(c=>{this.renderer.addClass(this.editorElem,c)})}removeClasses(classList){QuillEditorBase2.normalizeClassNames(classList).forEach(c=>{this.renderer.removeClass(this.editorElem,c)})}writeValue(currentValue){if(this.filterNull()&¤tValue===null||(this.content=currentValue,!this.quillEditor))return;let format3=getFormat2(this.format(),this.service.config.format),newValue=this.valueSetter()(this.quillEditor,currentValue);if(this.compareValues()){let currentEditorValue=this.quillEditor.getContents();if(JSON.stringify(currentEditorValue)===JSON.stringify(newValue))return}if(currentValue){format3==="text"?this.quillEditor.setText(currentValue):this.quillEditor.setContents(newValue);return}this.quillEditor.setText("")}setDisabledState(isDisabled=this.disabled){this.disabled=isDisabled,this.quillEditor&&(isDisabled?(this.quillEditor.disable(),this.renderer.setAttribute(this.elementRef.nativeElement,"disabled","disabled")):(this.readOnly()||this.quillEditor.enable(),this.renderer.removeAttribute(this.elementRef.nativeElement,"disabled")))}registerOnChange(fn2){this.onModelChange=fn2}registerOnTouched(fn2){this.onModelTouched=fn2}registerOnValidatorChange(fn2){this.onValidatorChanged=fn2}validate(){if(!this.quillEditor)return null;let err={},valid=!0,text2=this.quillEditor.getText(),textLength=this.trimOnValidation()?text2.trim().length:text2.length===1&&text2.trim().length===0?0:text2.length-1,deltaOperations=this.quillEditor.getContents().ops,onlyEmptyOperation=!!deltaOperations&&deltaOperations.length===1&&[`
|
|
892
|
-
`,""].includes(deltaOperations[0].insert?.toString()||""),minLength=this.minLength();minLength&&textLength&&textLength<minLength&&(err.minLengthError={given:textLength,minLength},valid=!1);let maxLength=this.maxLength();return maxLength&&textLength>maxLength&&(err.maxLengthError={given:textLength,maxLength},valid=!1),this.required()&&!textLength&&onlyEmptyOperation&&(err.requiredError={empty:!0},valid=!1),valid?null:err}addQuillEventListeners(){this.dispose(),this.eventsSubscription=new Subscription,this.eventsSubscription.add(fromEvent(this.quillEditor,"selection-change").subscribe(([range4,oldRange,source])=>{this.selectionChangeHandler(range4,oldRange,source)}));let textChange$=fromEvent(this.quillEditor,"text-change"),editorChange$=fromEvent(this.quillEditor,"editor-change"),_debounceTime=this.debounceTime();typeof _debounceTime=="number"&&(textChange$=textChange$.pipe(debounceTime(_debounceTime)),editorChange$=editorChange$.pipe(debounceTime(_debounceTime))),this.eventsSubscription.add(textChange$.subscribe(([delta,oldDelta,source])=>{this.textChangeHandler(delta,oldDelta,source)})),this.eventsSubscription.add(editorChange$.subscribe(([event2,current,old,source])=>{this.editorChangeHandler(event2,current,old,source)}))}dispose(){this.eventsSubscription?.unsubscribe(),this.eventsSubscription=null}isEmptyValue(html){return html==="<p></p>"||html==="<div></div>"||html==="<p><br></p>"||html==="<div><br></div>"}getter(quillEditor,forceFormat){let modelValue=null,format3=forceFormat??getFormat2(this.format(),this.service.config.format);if(format3==="html"){let html=quillEditor.getSemanticHTML();this.isEmptyValue(html)&&(html=this.defaultEmptyValue()),modelValue=html}else if(format3==="text")modelValue=quillEditor.getText();else if(format3==="object")modelValue=quillEditor.getContents();else if(format3==="json")try{modelValue=JSON.stringify(quillEditor.getContents())}catch(e){modelValue=quillEditor.getText()}return modelValue}eventCallbackFormats(){let format3=getFormat2(this.format(),this.service.config.format),onlyFormat=this.onlyFormatEventData()===!0,noFormat=this.onlyFormatEventData()==="none",text2=null,html=null,object=null,json=null;if(noFormat)return{format:format3,onlyFormat,noFormat,text:text2,object,json,html};let value=this.valueGetter()(this.quillEditor);return format3==="text"?text2=value:format3==="html"?html=value:format3==="object"?(object=value,json=JSON.stringify(value)):format3==="json"&&(json=value,object=JSON.parse(value)),onlyFormat?{format:format3,onlyFormat,noFormat,text:text2,json,html,object}:{format:format3,onlyFormat,noFormat,text:format3==="text"?text2:this.getter(this.quillEditor,"text"),json:format3==="json"?json:this.getter(this.quillEditor,"json"),html:format3==="html"?html:this.getter(this.quillEditor,"html"),object:format3==="object"?object:this.getter(this.quillEditor,"object")}}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||QuillEditorBase2)}}static{this.\u0275dir=\u0275\u0275defineDirective({type:QuillEditorBase2,inputs:{format:[1,"format"],theme:[1,"theme"],modules:[1,"modules"],debug:[1,"debug"],readOnly:[1,"readOnly"],placeholder:[1,"placeholder"],maxLength:[1,"maxLength"],minLength:[1,"minLength"],required:[1,"required"],formats:[1,"formats"],customToolbarPosition:[1,"customToolbarPosition"],sanitize:[1,"sanitize"],beforeRender:[1,"beforeRender"],styles:[1,"styles"],registry:[1,"registry"],bounds:[1,"bounds"],customOptions:[1,"customOptions"],customModules:[1,"customModules"],trackChanges:[1,"trackChanges"],classes:[1,"classes"],trimOnValidation:[1,"trimOnValidation"],linkPlaceholder:[1,"linkPlaceholder"],compareValues:[1,"compareValues"],filterNull:[1,"filterNull"],debounceTime:[1,"debounceTime"],onlyFormatEventData:[1,"onlyFormatEventData"],defaultEmptyValue:[1,"defaultEmptyValue"],valueGetter:[1,"valueGetter"],valueSetter:[1,"valueSetter"]},outputs:{onEditorCreated:"onEditorCreated",onEditorChanged:"onEditorChanged",onContentChanged:"onContentChanged",onSelectionChanged:"onSelectionChanged",onFocus:"onFocus",onBlur:"onBlur",onNativeFocus:"onNativeFocus",onNativeBlur:"onNativeBlur"}})}}return QuillEditorBase2})(),QuillEditorComponent=(()=>{class QuillEditorComponent2 extends QuillEditorBase{static{this.\u0275fac=(()=>{let \u0275QuillEditorComponent_BaseFactory;return function(__ngFactoryType__){return(\u0275QuillEditorComponent_BaseFactory||(\u0275QuillEditorComponent_BaseFactory=\u0275\u0275getInheritedFactory(QuillEditorComponent2)))(__ngFactoryType__||QuillEditorComponent2)}})()}static{this.\u0275cmp=\u0275\u0275defineComponent({type:QuillEditorComponent2,selectors:[["quill-editor"]],features:[\u0275\u0275ProvidersFeature([{multi:!0,provide:NG_VALUE_ACCESSOR,useExisting:forwardRef(()=>QuillEditorComponent2)},{multi:!0,provide:NG_VALIDATORS,useExisting:forwardRef(()=>QuillEditorComponent2)}]),\u0275\u0275InheritDefinitionFeature],ngContentSelectors:_c19,decls:5,vars:2,consts:[["quill-editor-element",""]],template:function(rf,ctx){rf&1&&(\u0275\u0275projectionDef(_c018),\u0275\u0275conditionalCreate(0,QuillEditorComponent_Conditional_0_Template,1,0,"div",0),\u0275\u0275projection(1),\u0275\u0275projection(2,1),\u0275\u0275projection(3,2),\u0275\u0275conditionalCreate(4,QuillEditorComponent_Conditional_4_Template,1,0,"div",0)),rf&2&&(\u0275\u0275conditional(ctx.toolbarPosition()!=="top"?0:-1),\u0275\u0275advance(4),\u0275\u0275conditional(ctx.toolbarPosition()==="top"?4:-1))},styles:["[_nghost-%COMP%]{display:inline-block}"],changeDetection:0})}}return QuillEditorComponent2})();function renderMarkdownToHtml(markdown){let markdownIt=new lib_default({typographer:!0}),defaultRender=markdownIt.renderer.rules.link_open||function(tokens,idx,options,env,self2){return self2.renderToken(tokens,idx,options)};return markdownIt.renderer.rules.link_open=function(tokens,idx,options,env,self2){return tokens[idx].attrPush(["target","_blank"]),defaultRender(tokens,idx,options,env,self2)},markdownIt.render(markdown)}var indentRegex=/^ql-indent-([0-9]+)/;function addStylingToQuillContent(content){let htmlObject=document.createElement("div");return htmlObject.innerHTML=content,addStylingToHtmlChildNodes(htmlObject.childNodes),htmlObject.innerHTML}function addStylingToHtmlChildNodes(children){children.forEach(child=>{let element=child;setCodeBlockStyling(element),setIndentStyling(element),setListStyling(element),setQuotesStyling(element),child.childNodes.length&&addStylingToHtmlChildNodes(child.childNodes)})}function setCodeBlockStyling(element){element.tagName==="PRE"&&(element.hasAttribute("data-language")||element.classList?.contains("ql-syntax"))&&(element.style.backgroundColor="#f6f8fa",element.style.color="initial",element.style.overflow="visible",element.style.padding="5px 10px")}function setIndentStyling(element){element.classList?.forEach(className=>{let matches=className.match(indentRegex);if(matches?.[1]){let identNumber=parseInt(matches?.[1]);element.style.paddingLeft=3*identNumber+"em"}})}function setListStyling(element){element.tagName==="OL"&&(element.style.paddingLeft="1.5em"),element.tagName==="LI"&&(element.style.listStylePosition="inside")}function setQuotesStyling(element){element.tagName==="BLOCKQUOTE"&&(element.style.borderLeft="4px solid #ccc",element.style.margin="5px 0",element.style.paddingLeft="16px")}function registerQuillModules(){registerAlignStyle(),registerBlock()}function registerAlignStyle(){let alignStyle=quill_default.import("attributors/style/align");quill_default.register(alignStyle,!0)}function registerBlock(){let block2=quill_default.import("blots/block");block2.tagName="DIV",quill_default.register(block2)}var _c019=()=>({height:"400px"});function RichTextFormFieldComponent_Conditional_0_Template(rf,ctx){if(rf&1){let _r1=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"form",0)(1,"quill-editor",2),\u0275\u0275listener("onEditorCreated",function($event){\u0275\u0275restoreView(_r1);let ctx_r1=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r1.onEditorCreated($event))})("keydown.backspace",function($event){return $event.stopPropagation()})("keydown.delete",function($event){return $event.stopPropagation()}),\u0275\u0275elementStart(2,"div",3)(3,"span",4)(4,"select",5),\u0275\u0275element(5,"option",6)(6,"option",7)(7,"option",8)(8,"option",9)(9,"option",10)(10,"option",11),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(11,"span",4),\u0275\u0275element(12,"button",12)(13,"button",13)(14,"button",14)(15,"button",15),\u0275\u0275elementEnd(),\u0275\u0275elementStart(16,"span",4),\u0275\u0275element(17,"button",16)(18,"button",17),\u0275\u0275elementEnd(),\u0275\u0275elementStart(19,"span",4)(20,"select",18),\u0275\u0275element(21,"option",6)(22,"option",19)(23,"option",20)(24,"option",21),\u0275\u0275elementEnd(),\u0275\u0275element(25,"button",22)(26,"button",23),\u0275\u0275elementEnd(),\u0275\u0275elementStart(27,"span",4),\u0275\u0275element(28,"button",24)(29,"button",25),\u0275\u0275elementEnd(),\u0275\u0275elementStart(30,"span",4),\u0275\u0275element(31,"button",26)(32,"button",27)(33,"button",28),\u0275\u0275elementEnd()()()()}if(rf&2){let ctx_r1=\u0275\u0275nextContext();\u0275\u0275property("formGroup",ctx_r1.form),\u0275\u0275advance(),\u0275\u0275property("styles",\u0275\u0275pureFunction0(16,_c019))("placeholder",ctx_r1.field.inputDescription.placeholder||""),\u0275\u0275advance(11),\u0275\u0275property("matTooltip","Bold"),\u0275\u0275advance(),\u0275\u0275property("matTooltip","Italic"),\u0275\u0275advance(),\u0275\u0275property("matTooltip","Underline"),\u0275\u0275advance(),\u0275\u0275property("matTooltip","Strike-through"),\u0275\u0275advance(2),\u0275\u0275property("matTooltip","Text color"),\u0275\u0275advance(),\u0275\u0275property("matTooltip","Highlight color"),\u0275\u0275advance(7),\u0275\u0275property("matTooltip","Decrease indent"),\u0275\u0275advance(),\u0275\u0275property("matTooltip","Increase indent"),\u0275\u0275advance(2),\u0275\u0275property("matTooltip","Bulleted list"),\u0275\u0275advance(),\u0275\u0275property("matTooltip","Numbered list"),\u0275\u0275advance(2),\u0275\u0275property("matTooltip","Blockquote"),\u0275\u0275advance(),\u0275\u0275property("matTooltip","Code Block"),\u0275\u0275advance(),\u0275\u0275property("matTooltip","Insert link")}}function RichTextFormFieldComponent_Conditional_1_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"div",1)(1,"textarea",29),\u0275\u0275listener("keydown.enter",function($event){return $event.stopPropagation()}),\u0275\u0275elementEnd(),\u0275\u0275elementStart(2,"a",30),\u0275\u0275pipe(3,"translate"),\u0275\u0275elementStart(4,"mat-icon"),\u0275\u0275text(5,"markdown"),\u0275\u0275elementEnd()()()),rf&2){let ctx_r1=\u0275\u0275nextContext();\u0275\u0275advance(),\u0275\u0275property("formControl",ctx_r1.form.controls.editor)("placeholder",ctx_r1.field.inputDescription.placeholder||""),\u0275\u0275advance(),\u0275\u0275property("matTooltip",\u0275\u0275pipeBind1(3,4,"MARKDOWN_IS_SUPPORTED"))("matTooltipPosition","left")}}var RichTextFormFieldComponent=(()=>{class RichTextFormFieldComponent2{constructor(){this.mode="rich-text",this.modeChange=new EventEmitter,this.valueChange=new EventEmitter,this.destroy=inject(DestroyRef),this.dialog=inject(MatDialog),this.doc=inject(DOCUMENT),this.formBuilder=inject(FormBuilder),this.colorPickerPanelService=inject(ColorPickerPanelService),this.ngZone=inject(NgZone),this.translate=inject(TranslateService),this.activeMode="rich-text",this.modules={toolbar:{container:"#toolbar"}},this.form=this.formBuilder.nonNullable.group({editor:[""]})}blockPaste(e){e.stopPropagation()}blockCopy(e){e.stopPropagation()}blockCut(e){e.stopPropagation()}get isDark(){return this.doc.body.classList.contains("dark")}ngOnInit(){registerQuillModules(),typeof this.field.value=="string"&&this.form.setValue({editor:this.field.value}),this.form.controls.editor.valueChanges.pipe(takeUntilDestroyed(this.destroy)).subscribe(value=>this.valueChange.emit(this.mode==="rich-text"?addStylingToQuillContent(value):value))}ngOnChanges(changes){changes.mode.firstChange&&(this.activeMode=this.mode),changes.mode.previousValue==="plain-text"&&changes.mode.currentValue==="rich-text"&&this.switchFromPlainTextToRichText(),changes.mode.previousValue==="rich-text"&&changes.mode.currentValue==="plain-text"&&this.mode!==this.activeMode&&(this.previousFormValue=this.form.value,this.activeMode=this.mode)}onEditorCreated(editor){this.quill=editor;let toolbar=editor.getModule("toolbar"),backgroundButton=toolbar.container?.querySelector(".ql-background"),colorButton=toolbar.container?.querySelector(".ql-color");backgroundButton&&toolbar.addHandler("background",()=>this.openColorPicker(backgroundButton,"background")),colorButton&&toolbar.addHandler("color",()=>this.openColorPicker(colorButton,"color")),editor.on("selection-change",range4=>{range4&&(this.setColorButtonColor(range4),this.setBackgroundButtonColor(range4))})}getColors(colors){return[...colors||[],"#F44336","#2196F3","#4CAF50","#FFC107","#9E9E9E"]}openColorPicker(element,format3){this.ngZone.run(()=>{let range4=this.quill.getSelection();if(range4){let defaultForegroundColor=this.isDark?"#FFFFFF":"#000000",defaultBackgroundColor=this.isDark?"#000000":"#FFFFFF",defaultColor=format3==="color"?defaultForegroundColor:defaultBackgroundColor,item=this.quill.getFormat(range4),colors=this.getColors([defaultColor]),currentColor=(item[format3]??defaultColor).toUpperCase(),colorPickerColor=currentColor==="TRANSPARENT"?defaultColor:currentColor;colors.includes(colorPickerColor)||colors.push(colorPickerColor),this.colorPickerPanelService.show(element,{color:colorPickerColor,colors}).afterClosed().subscribe(color=>{this.quill.format(format3,color===defaultColor?!1:color,quill_default.sources.USER),this[format3==="color"?"updateColorButtonColor":"updateBackgroundButtonColor"]()})}})}updateColorButtonColor(){let range4=this.quill.getSelection();range4&&this.setColorButtonColor(range4)}updateBackgroundButtonColor(){let range4=this.quill.getSelection();range4&&this.setBackgroundButtonColor(range4)}setColorButtonColor(range4){let color=this.quill.getFormat(range4)?.color?.toUpperCase(),colorLabel=this.quill.getModule("toolbar").container?.querySelector(".ql-color .ql-stroke");colorLabel&&(color&&color!=="TRANSPARENT"?colorLabel.style.stroke=color==="#FFFFFF"?"#E1E1E1":color:colorLabel.style.stroke=this.isDark?"#FFFFFF":"#000000")}setBackgroundButtonColor(range4){let color=this.quill.getFormat(range4)?.background?.toUpperCase(),colorLabel=this.quill.getModule("toolbar").container?.querySelector(".ql-background .ql-fill");colorLabel&&(color&&color!=="TRANSPARENT"?colorLabel.style.fill=color:colorLabel.style.fill="#E1E1E1")}switchFromPlainTextToRichText(){let formValue=this.form.value;formValue.editor!==""&&formValue.editor!==this.previousFormValue?.editor?this.dialog.open(ConfirmDialogComponent,{data:{title:this.translate.instant("WARNING"),message:this.translate.instant("__TEXT__.MARKDOWN_FORMATTING_TO_RICH_TEXT")}}).afterClosed().subscribe(confirmed=>{if(confirmed){if(this.activeMode="rich-text",this.modeChange.emit("rich-text"),formValue.editor){let html=renderMarkdownToHtml(formValue.editor),editor=addStylingToQuillContent(html);this.form.patchValue({editor})}}else this.modeChange.emit("plain-text")}):(this.activeMode="rich-text",this.modeChange.emit("rich-text"))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||RichTextFormFieldComponent2)}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:RichTextFormFieldComponent2,selectors:[["ix-rich-text-form-field"]],hostBindings:function(rf,ctx){rf&1&&\u0275\u0275listener("paste",function($event){return ctx.blockPaste($event)})("copy",function($event){return ctx.blockCopy($event)})("cut",function($event){return ctx.blockCut($event)})},inputs:{field:"field",mode:"mode"},outputs:{modeChange:"modeChange",valueChange:"valueChange"},features:[\u0275\u0275NgOnChangesFeature],decls:2,vars:1,consts:[[3,"formGroup"],[1,"plain-text"],["bounds","self","formControlName","editor",3,"onEditorCreated","keydown.backspace","keydown.delete","styles","placeholder"],["quill-editor-toolbar","","data-testid","rich-text-toolbar"],[1,"ql-formats"],[1,"ql-header"],["selected",""],["value","1"],["value","2"],["value","3"],["value","4"],["value","5"],["matTooltipShowDelay","500",1,"ql-bold",3,"matTooltip"],["matTooltipShowDelay","500",1,"ql-italic",3,"matTooltip"],["matTooltipShowDelay","500",1,"ql-underline",3,"matTooltip"],["matTooltipShowDelay","500",1,"ql-strike",3,"matTooltip"],["matTooltipShowDelay","500","data-testid","rich-text-color-button",1,"ql-color",3,"matTooltip"],["matTooltipShowDelay","500",1,"ql-background",3,"matTooltip"],[1,"ql-align"],["value","center"],["value","right"],["value","justify"],["value","-1","matTooltipShowDelay","500",1,"ql-indent",3,"matTooltip"],["value","+1","matTooltipShowDelay","500",1,"ql-indent",3,"matTooltip"],["value","bullet","matTooltipShowDelay","500",1,"ql-list",3,"matTooltip"],["value","ordered","matTooltipShowDelay","500",1,"ql-list",3,"matTooltip"],["matTooltipShowDelay","500",1,"ql-blockquote",3,"matTooltip"],["matTooltipShowDelay","500",1,"ql-code-block",3,"matTooltip"],["matTooltipShowDelay","500",1,"ql-link",3,"matTooltip"],[3,"keydown.enter","formControl","placeholder"],["href","https://commonmark.org/help/","target","_blank","matIconButton","",1,"markdown-info-button",3,"matTooltip","matTooltipPosition"]],template:function(rf,ctx){rf&1&&\u0275\u0275conditionalCreate(0,RichTextFormFieldComponent_Conditional_0_Template,34,17,"form",0)(1,RichTextFormFieldComponent_Conditional_1_Template,6,6,"div",1),rf&2&&\u0275\u0275conditional(ctx.activeMode==="rich-text"?0:1)},dependencies:[ReactiveFormsModule,\u0275NgNoValidate,NgSelectOption,\u0275NgSelectMultipleOption,DefaultValueAccessor,NgControlStatus,NgControlStatusGroup,FormControlDirective,FormGroupDirective,FormControlName,FlexLayoutModule,MatButtonModule,MatIconButton,MatDialogModule,MatFormFieldModule,MatIconModule,MatIcon,MatInputModule,MatTooltipModule,MatTooltip,QuillEditorComponent,TranslateModule,TranslatePipe],styles:['[_nghost-%COMP%]{display:block}[_nghost-%COMP%] quill-editor[_ngcontent-%COMP%]{width:100%;color:var(--mat-sys-on-surface)}[_nghost-%COMP%] form[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .plain-text[_ngcontent-%COMP%]{display:flex;position:relative;width:100%;font-family:Roboto,sans-serif;white-space:pre-wrap;overflow-wrap:break-word}[_nghost-%COMP%] .plain-text[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{width:100%;height:441px;max-height:441px;box-sizing:border-box;padding:12px;border-radius:4px 4px 0 0;background-color:var(--mat-sys-surface-variant);border:none;border-bottom:1px solid rgba(0,0,0,.42);resize:none}[_nghost-%COMP%] .plain-text[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]:focus-visible{outline:none}[_nghost-%COMP%] .plain-text[_ngcontent-%COMP%] .markdown-info-button[_ngcontent-%COMP%]{position:absolute;right:5px;bottom:5px}[_nghost-%COMP%] .ql-toolbar{border-radius:4px 4px 0 0}[_nghost-%COMP%] .ql-toolbar.ql-snow{display:flex;flex-flow:row wrap;row-gap:4px;background-color:var(--mat-sys-surface-variant);border:none;border-bottom:1px solid rgba(0,0,0,.12)}[_nghost-%COMP%] .ql-toolbar.ql-snow button, [_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker-label, [_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker-item{color:var(--mat-sys-on-surface)}[_nghost-%COMP%] .ql-toolbar.ql-snow button .ql-fill, [_nghost-%COMP%] .ql-toolbar.ql-snow button .ql-stroke.ql-fill, [_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker-label .ql-fill, [_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker-label .ql-stroke.ql-fill, [_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker-item .ql-fill, [_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker-item .ql-stroke.ql-fill{fill:var(--mat-sys-on-surface)}[_nghost-%COMP%] .ql-toolbar.ql-snow button .ql-stroke, [_nghost-%COMP%] .ql-toolbar.ql-snow button .ql-stroke-miter, [_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker-label .ql-stroke, [_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker-label .ql-stroke-miter, [_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker-item .ql-stroke, [_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker-item .ql-stroke-miter{stroke:var(--mat-sys-on-surface)}[_nghost-%COMP%] .ql-toolbar.ql-snow button:hover, [_nghost-%COMP%] .ql-toolbar.ql-snow button:focus, [_nghost-%COMP%] .ql-toolbar.ql-snow button.ql-active, [_nghost-%COMP%] .ql-toolbar.ql-snow button.ql-selected, [_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker-label:hover, [_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker-label:focus, [_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker-label.ql-active, [_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker-label.ql-selected, [_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker-item:hover, [_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker-item:focus, [_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker-item.ql-active, [_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker-item.ql-selected{background-color:#00000014;border-radius:4px}[_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label{border-color:transparent}[_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker .ql-picker-options{border-radius:8px;border:none}[_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker.ql-header .ql-picker-label.ql-active:not(:hover,:focus){background-color:inherit}[_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker.ql-header .ql-picker-label>svg>polygon:nth-child(1){stroke-linejoin:initial;transform:translateY(-2px)}[_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker.ql-header .ql-picker-label>svg>polygon:nth-child(2){display:none}[_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker.ql-header .ql-picker-options{padding-left:0;padding-right:0}[_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker.ql-header .ql-picker-options .ql-picker-item{padding-left:8px;padding-right:8px;border-radius:0}[_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker.ql-header .ql-picker-options .ql-picker-item[data-value="1"]{padding-top:10px}[_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker.ql-header .ql-picker-options .ql-picker-item[data-value="2"]{padding-top:8px}[_nghost-%COMP%] .ql-toolbar.ql-snow .ql-align.ql-picker.ql-expanded .ql-picker-options{display:flex;padding:4px 4px 3px}[_nghost-%COMP%] .ql-toolbar.ql-snow .ql-align.ql-picker.ql-expanded .ql-picker-options .ql-picker-item{padding:4px}[_nghost-%COMP%] .ql-toolbar.ql-snow .ql-color .ql-color-label.ql-stroke.ql-transparent{opacity:1;stroke-linecap:square;stroke-width:4}@media(min-resolution:2dppx){[_nghost-%COMP%] .ql-toolbar.ql-snow .ql-color .ql-color-label.ql-stroke.ql-transparent{stroke-width:3}}[_nghost-%COMP%] .ql-snow{font-family:Roboto,sans-serif}[_nghost-%COMP%] .ql-snow a{color:var(--mat-sys-primary)}[_nghost-%COMP%] .ql-snow .ql-code-block-container{background-color:#f6f8fa!important;border:1px solid rgba(0,0,0,.12);color:initial!important}[_nghost-%COMP%] .ql-container{border-radius:0}[_nghost-%COMP%] .ql-container.ql-snow{background-color:var(--mat-sys-surface-variant);border:none;border-bottom:1px solid color-mix(in srgb,transparent,currentcolor 42%)}[_nghost-%COMP%] .ql-container .ql-editor.ql-blank:before{font-style:normal;color:color-mix(in srgb,transparent,currentcolor 42%)}'],changeDetection:0})}}return RichTextFormFieldComponent2})();var RichTextDialogComponent=(()=>{class RichTextDialogComponent2{constructor(){this.destroy=inject(DestroyRef),this.dialog=inject(MatDialog),this.dialogRef=inject(MatDialogRef),this.data=inject(MAT_DIALOG_DATA),this.modules={toolbar:{container:"#toolbar"}}}ngOnInit(){this.dialogRef.keydownEvents().pipe(takeUntilDestroyed(this.destroy)).subscribe(event2=>{event2.key==="Escape"&&this.openDiscardChangesWarningDialog()}),this.dialogRef.backdropClick().pipe(takeUntilDestroyed(this.destroy)).subscribe(()=>this.openDiscardChangesWarningDialog())}get activeMode(){return this.formField?.activeMode??this.data.mode}submit(){let formValue=this.formField.form.value,editor=formValue.editor?addStylingToQuillContent(formValue.editor):null;this.dialogRef.close({value:editor})}toggleMode(){this.data.mode=this.data.mode==="rich-text"?"plain-text":"rich-text"}updateMode(mode){this.data.mode=mode}openDiscardChangesWarningDialog(){this.formField.form.dirty?this.dialog.open(DiscardChangesDialogComponent,{panelClass:"fullscreen"}).afterClosed().subscribe(confirmed=>{confirmed&&this.dialogRef.close()}):this.dialogRef.close()}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||RichTextDialogComponent2)}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:RichTextDialogComponent2,selectors:[["ix-rich-text-dialog"]],viewQuery:function(rf,ctx){if(rf&1&&\u0275\u0275viewQuery(RichTextFormFieldComponent,5),rf&2){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx.formField=_t.first)}},decls:16,vars:8,consts:[["mat-dialog-title","","translate","","data-testid","rich-text-dialog-title"],[1,"pb-2"],[3,"modeChange","field","mode"],["type","button","matButton","outlined","data-testid","change-mode-button",1,"change-mode-button",3,"click"],["fxFlex",""],["matButton","","mat-dialog-close",""],["translate",""],["matButton","","color","primary",3,"click"]],template:function(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"h1",0),\u0275\u0275text(1),\u0275\u0275pipe(2,"titlecase"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(3,"mat-dialog-content",1)(4,"ix-rich-text-form-field",2),\u0275\u0275listener("modeChange",function($event){return ctx.updateMode($event)}),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(5,"mat-dialog-actions")(6,"button",3),\u0275\u0275listener("click",function(){return ctx.toggleMode()}),\u0275\u0275text(7),\u0275\u0275pipe(8,"translate"),\u0275\u0275elementEnd(),\u0275\u0275element(9,"span",4),\u0275\u0275elementStart(10,"button",5)(11,"span",6),\u0275\u0275text(12,"CANCEL"),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(13,"button",7),\u0275\u0275listener("click",function(){return ctx.submit()}),\u0275\u0275elementStart(14,"span",6),\u0275\u0275text(15,"CONFIRM"),\u0275\u0275elementEnd()()()),rf&2&&(\u0275\u0275advance(),\u0275\u0275textInterpolate(\u0275\u0275pipeBind1(2,4,ctx.data.field.inputName)),\u0275\u0275advance(3),\u0275\u0275property("field",ctx.data.field)("mode",ctx.data.mode),\u0275\u0275advance(3),\u0275\u0275textInterpolate1(" ",\u0275\u0275pipeBind1(8,6,ctx.activeMode==="rich-text"?"SWITCH_TO_PLAIN_TEXT_EDITING":"SWITCH_TO_RICH_TEXT_EDITING")," "))},dependencies:[FlexModule,DefaultFlexDirective,MatButtonModule,MatButton,MatDialogModule,MatDialogClose,MatDialogTitle,MatDialogActions,MatDialogContent,MatFormFieldModule,MatIconModule,MatInputModule,MatTooltipModule,TranslateModule,TranslateDirective,RichTextFormFieldComponent,TitleCasePipe,TranslatePipe],styles:["[_nghost-%COMP%] .mat-mdc-dialog-actions[_ngcontent-%COMP%] .change-mode-button[_ngcontent-%COMP%]{--mat-button-outlined-container-height: 30px;--mat-button-outlined-label-text-size: 13px}"],changeDetection:0})}}return RichTextDialogComponent2})();function RichTextInputComponent_Conditional_0_Template(rf,ctx){if(rf&1&&(\u0275\u0275element(0,"p",0),\u0275\u0275pipe(1,"renderMarkdown")),rf&2){let ctx_r0=\u0275\u0275nextContext();\u0275\u0275property("innerHTML",\u0275\u0275pipeBind1(1,1,ctx_r0.field.inputDescription.description),\u0275\u0275sanitizeHtml)}}function RichTextInputComponent_Conditional_1_Template(rf,ctx){if(rf&1){let _r2=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"ix-rich-text-form-field",2),\u0275\u0275listener("valueChange",function($event){\u0275\u0275restoreView(_r2);let ctx_r0=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r0.updateValue($event))})("modeChange",function($event){\u0275\u0275restoreView(_r2);let ctx_r0=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r0.updateMode($event))}),\u0275\u0275elementEnd(),\u0275\u0275elementStart(1,"button",3),\u0275\u0275listener("click",function(){\u0275\u0275restoreView(_r2);let ctx_r0=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r0.toggleMode())}),\u0275\u0275text(2),\u0275\u0275pipe(3,"translate"),\u0275\u0275elementEnd()}if(rf&2){let ctx_r0=\u0275\u0275nextContext();\u0275\u0275property("field",ctx_r0.field)("mode",ctx_r0.mode),\u0275\u0275advance(2),\u0275\u0275textInterpolate1(" ",\u0275\u0275pipeBind1(3,3,ctx_r0.activeMode==="rich-text"?"SWITCH_TO_PLAIN_TEXT_EDITING":"SWITCH_TO_RICH_TEXT_EDITING")," ")}}function RichTextInputComponent_Conditional_2_Conditional_4_Template(rf,ctx){if(rf&1){let _r4=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"ix-translation-icon-button",7),\u0275\u0275listener("setTranslationKey",function($event){\u0275\u0275restoreView(_r4);let ctx_r0=\u0275\u0275nextContext(2);return \u0275\u0275resetView(ctx_r0.setTranslationKey($event))}),\u0275\u0275elementEnd()}if(rf&2){let ctx_r0=\u0275\u0275nextContext(2);\u0275\u0275property("key",ctx_r0.translationKey)}}function RichTextInputComponent_Conditional_2_Conditional_7_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",6),\u0275\u0275text(1,"__MESSAGE__.REQUIRED"),\u0275\u0275elementEnd())}function RichTextInputComponent_Conditional_2_Template(rf,ctx){if(rf&1){let _r3=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"mat-form-field",1)(1,"mat-label"),\u0275\u0275text(2),\u0275\u0275elementEnd(),\u0275\u0275elementStart(3,"textarea",4),\u0275\u0275listener("click",function(){\u0275\u0275restoreView(_r3);let ctx_r0=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r0.openEditRichTextDialog())}),\u0275\u0275elementEnd(),\u0275\u0275conditionalCreate(4,RichTextInputComponent_Conditional_2_Conditional_4_Template,1,1,"ix-translation-icon-button",5),\u0275\u0275elementStart(5,"mat-hint"),\u0275\u0275text(6),\u0275\u0275elementEnd(),\u0275\u0275conditionalCreate(7,RichTextInputComponent_Conditional_2_Conditional_7_Template,2,0,"mat-error",6),\u0275\u0275elementEnd()}if(rf&2){let ctx_r0=\u0275\u0275nextContext();\u0275\u0275property("formGroup",ctx_r0.componentFormGroup),\u0275\u0275advance(2),\u0275\u0275textInterpolate(ctx_r0.field.inputDescription.label),\u0275\u0275advance(),\u0275\u0275property("value",ctx_r0.text)("placeholder",ctx_r0.field.inputDescription.placeholder||""),\u0275\u0275advance(),\u0275\u0275conditional(ctx_r0.translation?4:-1),\u0275\u0275advance(2),\u0275\u0275textInterpolate(ctx_r0.field.inputDescription.hint),\u0275\u0275advance(),\u0275\u0275conditional(ctx_r0.inputControl!=null&&ctx_r0.inputControl.hasError("required")?7:-1)}}function RichTextInputComponent_Conditional_3_Template(rf,ctx){if(rf&1){let _r5=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"mat-form-field")(1,"mat-label"),\u0275\u0275text(2),\u0275\u0275elementEnd(),\u0275\u0275element(3,"textarea",8),\u0275\u0275pipe(4,"translate"),\u0275\u0275pipe(5,"trimTranslationNamespace"),\u0275\u0275elementStart(6,"ix-translation-icon-button",7),\u0275\u0275listener("setTranslationKey",function($event){\u0275\u0275restoreView(_r5);let ctx_r0=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r0.setTranslationKey($event))}),\u0275\u0275elementEnd(),\u0275\u0275elementStart(7,"mat-hint"),\u0275\u0275text(8),\u0275\u0275elementEnd()()}if(rf&2){let ctx_r0=\u0275\u0275nextContext();\u0275\u0275advance(2),\u0275\u0275textInterpolate(ctx_r0.field.inputDescription.label),\u0275\u0275advance(),\u0275\u0275property("value",ctx_r0.translationKey?\u0275\u0275pipeBind1(5,7,\u0275\u0275pipeBind1(4,5,ctx_r0.translationKey)):"")("placeholder",ctx_r0.field.inputDescription.placeholder||""),\u0275\u0275advance(3),\u0275\u0275property("key",ctx_r0.translationKey),\u0275\u0275advance(2),\u0275\u0275textInterpolate(ctx_r0.field.inputDescription.hint)}}var RichTextInputComponent=(()=>{class RichTextInputComponent2 extends StringInputComponent{constructor(){super(...arguments),this.destroy=inject(DestroyRef),this.dialog=inject(MatDialog),this.dialogContainer=inject(MatDialogContainer,{optional:!0,skipSelf:!0}),this.domParser=new DOMParser,this.mode="rich-text"}get activeMode(){return this.formField?.activeMode??this.mode}get embedded(){return!!this.dialogContainer&&!this.translation}ngOnInit(){super.ngOnInit(),this.inputControl?.valueChanges.pipe(takeUntilDestroyed(this.destroy)).subscribe(value=>this.field.setValue(value));let initialValue=this.inputControl?.value;this.field.setValue(initialValue),initialValue&&!this.isHtml(initialValue)&&(this.mode="plain-text")}openEditRichTextDialog(){this.dialog.open(RichTextDialogComponent,{data:{field:this.field,mode:this.mode},autoFocus:!0,disableClose:!0,panelClass:["ix-dialog","ix-dialog--larger"]}).afterClosed().subscribe(result=>{result&&this.updateValue(result.value)})}get text(){let value=this.field.value;return value?value.replace(/<[^>]+>/g," ").replace(/\s+/g," ").trim():""}toggleMode(){this.mode=this.mode==="rich-text"?"plain-text":"rich-text"}updateMode(mode){this.mode=mode}updateValue(value){this.inputControl?.markAsDirty(),this.inputControl?.setValue(value)}isHtml(value){let doc=this.domParser.parseFromString(value,"text/html");return Array.from(doc.body.childNodes).some(node=>node.nodeType===Node.ELEMENT_NODE)}static{this.\u0275fac=(()=>{let \u0275RichTextInputComponent_BaseFactory;return function(__ngFactoryType__){return(\u0275RichTextInputComponent_BaseFactory||(\u0275RichTextInputComponent_BaseFactory=\u0275\u0275getInheritedFactory(RichTextInputComponent2)))(__ngFactoryType__||RichTextInputComponent2)}})()}static{this.\u0275cmp=\u0275\u0275defineComponent({type:RichTextInputComponent2,selectors:[["ix-rich-text-input"]],viewQuery:function(rf,ctx){if(rf&1&&\u0275\u0275viewQuery(RichTextFormFieldComponent,5),rf&2){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx.formField=_t.first)}},features:[\u0275\u0275InheritDefinitionFeature],decls:4,vars:2,consts:[[1,"description",3,"innerHTML"],[3,"formGroup"],[3,"valueChange","modeChange","field","mode"],["type","button","matButton","outlined","data-testid","change-mode-button",1,"change-mode-button",3,"click"],["matInput","","cdkTextareaAutosize","true","cdkAutosizeMinRows","2","cdkAutosizeMaxRows","5","readonly","",3,"click","value","placeholder"],[3,"key"],["translate",""],[3,"setTranslationKey","key"],["matInput","","cdkTextareaAutosize","true","cdkAutosizeMinRows","2","cdkAutosizeMaxRows","15","disabled","",3,"value","placeholder"]],template:function(rf,ctx){rf&1&&(\u0275\u0275conditionalCreate(0,RichTextInputComponent_Conditional_0_Template,2,3,"p",0),\u0275\u0275conditionalCreate(1,RichTextInputComponent_Conditional_1_Template,4,5)(2,RichTextInputComponent_Conditional_2_Template,8,7,"mat-form-field",1)(3,RichTextInputComponent_Conditional_3_Template,9,9,"mat-form-field")),rf&2&&(\u0275\u0275conditional(ctx.field.inputDescription.description?0:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx.embedded?1:!ctx.translation||!ctx.translationKey?2:3))},dependencies:[TranslateModule,TranslateDirective,ReactiveFormsModule,NgControlStatusGroup,FormGroupDirective,MatButtonModule,MatButton,MatFormFieldModule,MatFormField,MatLabel,MatHint,MatError,MatInputModule,MatInput,CdkTextareaAutosize,TranslationIconButtonComponent,MarkdownModule,RichTextFormFieldComponent,TranslatePipe,RenderMarkdownPipe,TrimTranslationNamespacePipe],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .mat-mdc-form-field[_ngcontent-%COMP%]{width:100%}[_nghost-%COMP%] .mat-mdc-form-field[_ngcontent-%COMP%] .hidden[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .mat-mdc-form-field[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{overflow:hidden;width:calc(100% - 40px)}[_nghost-%COMP%] ix-rich-text-form-field[_ngcontent-%COMP%]{margin-bottom:12px}[_nghost-%COMP%] .change-mode-button[_ngcontent-%COMP%]{--mat-button-outlined-container-height: 30px;--mat-button-outlined-label-text-size: 13px;margin-bottom:22px}"],changeDetection:0})}}return RichTextInputComponent2})();var ResourceSelectionInputFacade=(()=>{class ResourceSelectionInputFacade2{constructor(){this.store=inject(Store),this.translate=inject(TranslateService)}getAgentOrAssetId(version2,field){return version2?.previewAgent?.publicId?of(version2?.previewAgent?.publicId):version2?.previewAsset?.publicId?this.isGroupedResource(field.inputDescription.resource?.type)?this.store.select(selectEntity9(version2?.previewAsset?.publicId)).pipe(map(asset=>asset?.agent?.publicId)):of(version2?.previewAsset?.publicId):of(void 0)}isGroupedResource(resourceName){return resourceName?["AgentDataTag","AgentDataVariable"].includes(resourceName):!0}options(field,query){return this.store.select(selectEntity6(field.context.component.pageVersion?.publicId||null)).pipe(switchMap(version2=>combineLatest([this.getAgentOrAssetId(version2,field),query.valueChanges.pipe(startWith(query.value)),this.store.select(selectEntity(field?.context?.component?.template?.publicId||null))])),switchMap(([agentId,query2,pageComponent])=>{if(agentId){let resourceName=field.inputDescription.resource?.type,backendComponentId=pageComponent?pageComponent?.backendComponent?.publicId:"";switch(resourceName){case"AgentDataTag":return this.store.dispatch(ensureAll28({agentId,fields:AGENT_DATA_TAG_WITH_VARIABLE_LIST_FIELDS})),this.getGroupedAgentDataTags(agentId,query2);case"AgentDataVariable":return this.store.dispatch(ensureAll29({agentId})),this.getGroupedAgentDataVariables(agentId,query2,field.inputDescription.resource?.allowedTypes);case"AssetAppConfigResource":return this.store.dispatch(ensureAllForRoot({rootId:agentId})),this.getAssetAppConfigResources(agentId,backendComponentId,query2);default:return of([])}}return of([])}))}getAssetAppConfigResources(assetId,backendComponentId,query){return combineLatest([this.store.select(selectAllForRoot(assetId)),this.store.select(selectAll29),this.store.select(selectEntities27)]).pipe(map(([assetTree,configs,resources])=>{let filteredConfigs=configs.filter(config4=>config4.app?.publicId===backendComponentId),options=this.findAssetResources(assetTree,filteredConfigs,resources).map(resource2=>({publicId:resource2?.publicId,name:resource2.name?isTranslationKey(resource2.name)?this.translate.instant(resource2.name):resource2.name:void 0}));if(query){let q=deburr_default(query.toLowerCase());options=options.filter(option=>option.name?.toLocaleLowerCase().includes(q))}return options}))}findAssetResources(assetList,configList,resourcesList){let allFoundResources=[],processedResourceIds=new Set,configMap=new Map;return configList.forEach(config4=>{config4.publicId&&configMap.set(config4.publicId,config4)}),assetList.forEach(asset=>{asset.appConfigs&&Array.isArray(asset.appConfigs)&&asset.appConfigs.forEach(appConfig=>{if(appConfig.publicId){let config4=configMap.get(appConfig.publicId);config4&&config4.resources&&Array.isArray(config4.resources)&&config4.resources.forEach(resourceRef=>{if(resourceRef.publicId){let resource2=resourcesList[resourceRef.publicId];resource2&&!processedResourceIds.has(resource2.publicId)&&(allFoundResources.push(resource2),processedResourceIds.add(resource2.publicId))}})}})}),allFoundResources}getGroupedAgentDataTags(agentId,query){return combineLatest([this.store.select(selectEntities30),this.store.select(selectAllForAgent2(agentId)),this.store.select(selectEntities24)]).pipe(map(([sourceEntities,tags,variableEntities])=>{let filteredTags=tags;if(query){let q=deburr_default(query.toLowerCase());filteredTags=tags.filter(tag=>tag.name?.toLocaleLowerCase().includes(q))}let optionGroups={};for(let tag of filteredTags)tag.source?.publicId&&tag.variable?.publicId&&!variableEntities[tag.variable.publicId]?.internalUse&&(optionGroups[tag.source?.publicId]||(optionGroups[tag.source?.publicId]=[]),optionGroups[tag.source?.publicId].push({publicId:tag.publicId,label:tag.name,sublabel:tag.slug}));return Object.keys(optionGroups).map(key=>({label:sourceEntities[key]?.name,options:optionGroups[key]}))}))}getGroupedAgentDataVariables(agentId,query,allowedTypes){return combineLatest([this.store.select(selectEntities30),this.store.select(selectAllForAgent(agentId)),this.store.select(selectEntities24)]).pipe(map(([sourceEntities,variables,variableEntities])=>{let filteredVariables=variables;if(query){let q=deburr_default(query.toLowerCase());filteredVariables=variables.filter(variable=>variable.name?.toLocaleLowerCase().includes(q))}let optionGroups={};for(let variable of filteredVariables)variable.source?.publicId&&variable?.publicId&&!variableEntities[variable.publicId]?.internalUse&&(!allowedTypes||variable.type&&allowedTypes.includes(variable.type))&&(optionGroups[variable.source.publicId]||(optionGroups[variable.source.publicId]=[]),optionGroups[variable.source.publicId].push({publicId:variable.publicId,label:variable.name,sublabel:variable.slug}));return Object.keys(optionGroups).map(key=>({label:sourceEntities[key]?.name,options:optionGroups[key]}))}))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||ResourceSelectionInputFacade2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:ResourceSelectionInputFacade2,factory:ResourceSelectionInputFacade2.\u0275fac,providedIn:"root"})}}return ResourceSelectionInputFacade2})();var _forTrack07=($index,$item)=>$item.publicId,_forTrack12=($index,$item)=>$item==null?null:$item.publicId;function ResourceSelectionInputComponent_Conditional_0_Template(rf,ctx){if(rf&1&&(\u0275\u0275element(0,"p",0),\u0275\u0275pipe(1,"renderMarkdown")),rf&2){let ctx_r0=\u0275\u0275nextContext();\u0275\u0275property("innerHTML",\u0275\u0275pipeBind1(1,1,ctx_r0.field.inputDescription.description),\u0275\u0275sanitizeHtml)}}function ResourceSelectionInputComponent_Conditional_11_For_1_Conditional_0_For_2_Conditional_4_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"span",7),\u0275\u0275text(1),\u0275\u0275elementEnd()),rf&2){let option_r2=\u0275\u0275nextContext().$implicit;\u0275\u0275advance(),\u0275\u0275textInterpolate(option_r2.sublabel)}}function ResourceSelectionInputComponent_Conditional_11_For_1_Conditional_0_For_2_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"mat-option",5)(1,"span",6)(2,"span"),\u0275\u0275text(3),\u0275\u0275elementEnd(),\u0275\u0275conditionalCreate(4,ResourceSelectionInputComponent_Conditional_11_For_1_Conditional_0_For_2_Conditional_4_Template,2,1,"span",7),\u0275\u0275elementEnd()()),rf&2){let option_r2=ctx.$implicit;\u0275\u0275property("value",option_r2.publicId),\u0275\u0275advance(3),\u0275\u0275textInterpolate(option_r2.label),\u0275\u0275advance(),\u0275\u0275conditional(option_r2.sublabel?4:-1)}}function ResourceSelectionInputComponent_Conditional_11_For_1_Conditional_0_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"mat-optgroup",4),\u0275\u0275repeaterCreate(1,ResourceSelectionInputComponent_Conditional_11_For_1_Conditional_0_For_2_Template,5,3,"mat-option",5,_forTrack07),\u0275\u0275elementEnd()),rf&2){let groupOption_r3=\u0275\u0275nextContext().$implicit;\u0275\u0275property("label",groupOption_r3.label),\u0275\u0275advance(),\u0275\u0275repeater(groupOption_r3==null?null:groupOption_r3.options)}}function ResourceSelectionInputComponent_Conditional_11_For_1_Template(rf,ctx){if(rf&1&&\u0275\u0275conditionalCreate(0,ResourceSelectionInputComponent_Conditional_11_For_1_Conditional_0_Template,3,1,"mat-optgroup",4),rf&2){let groupOption_r3=ctx.$implicit,ctx_r0=\u0275\u0275nextContext(2);\u0275\u0275conditional(ctx_r0.isOptionGroup(groupOption_r3)&&groupOption_r3.options.length?0:-1)}}function ResourceSelectionInputComponent_Conditional_11_Template(rf,ctx){if(rf&1&&\u0275\u0275repeaterCreate(0,ResourceSelectionInputComponent_Conditional_11_For_1_Template,1,1,null,null,\u0275\u0275repeaterTrackByIdentity),rf&2){let ctx_r0=\u0275\u0275nextContext();\u0275\u0275repeater(ctx_r0.groupedOptions)}}function ResourceSelectionInputComponent_Conditional_12_For_1_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"mat-option",5)(1,"span",6)(2,"span"),\u0275\u0275text(3),\u0275\u0275elementEnd()()()),rf&2){let option_r4=ctx.$implicit;\u0275\u0275property("value",option_r4.publicId),\u0275\u0275advance(3),\u0275\u0275textInterpolate(option_r4.name)}}function ResourceSelectionInputComponent_Conditional_12_Template(rf,ctx){if(rf&1&&\u0275\u0275repeaterCreate(0,ResourceSelectionInputComponent_Conditional_12_For_1_Template,4,2,"mat-option",5,_forTrack12),rf&2){let ctx_r0=\u0275\u0275nextContext();\u0275\u0275repeater(ctx_r0.options)}}function ResourceSelectionInputComponent_Conditional_13_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",3),\u0275\u0275text(1,"__MESSAGE__.REQUIRED"),\u0275\u0275elementEnd())}var ResourceSelectionInputComponent=(()=>{class ResourceSelectionInputComponent2 extends ComponentInputComponent{constructor(){super(...arguments),this.cdRef=inject(ChangeDetectorRef),this.destroy=inject(DestroyRef),this.facade=inject(ResourceSelectionInputFacade),this.groupedOptions=[],this.isGrouped=!1,this.options=[],this.queryFormControl=new FormControl("")}ngOnInit(){this.resourceName=this.field.inputDescription.resource?.type,this.isGrouped=this.facade.isGroupedResource(this.field.inputDescription.resource?.type||""),this.facade.options(this.field,this.queryFormControl).pipe(takeUntilDestroyed(this.destroy)).subscribe(options=>{this.isGrouped&&Array.isArray(options)&&options.length&&"options"in options[0]?this.groupedOptions=options:this.options=options;let initialValue=this.publicIdControl?.value;initialValue&&this.selectionChanged(initialValue),this.cdRef.markForCheck()})}get publicIdControl(){return this.componentFormGroup.get([this.field.inputDescription.key,"publicId"])}selectionChanged(value){let selectedOption;this.isGrouped?(selectedOption=this.groupedOptions.reduce((options,groupedOption)=>options.concat(groupedOption.options),[]).find(option=>option.publicId===value),selectedOption&&"label"in selectedOption&&(this.selectedOptionName=selectedOption?.label||"")):(selectedOption=this.options.find(option=>option.publicId===value),selectedOption&&"name"in selectedOption&&(this.selectedOptionName=selectedOption?.name||""))}isOptionGroup(option){return typeof option=="object"&&option!==null&&"options"in option}static{this.\u0275fac=(()=>{let \u0275ResourceSelectionInputComponent_BaseFactory;return function(__ngFactoryType__){return(\u0275ResourceSelectionInputComponent_BaseFactory||(\u0275ResourceSelectionInputComponent_BaseFactory=\u0275\u0275getInheritedFactory(ResourceSelectionInputComponent2)))(__ngFactoryType__||ResourceSelectionInputComponent2)}})()}static{this.\u0275cmp=\u0275\u0275defineComponent({type:ResourceSelectionInputComponent2,selectors:[["ix-resource-selection-input"]],features:[\u0275\u0275InheritDefinitionFeature],decls:14,vars:13,consts:[[1,"description",3,"innerHTML"],["panelClass","select-resource-selector-panel",3,"selectionChange","formControl"],[3,"formControl","placeholderLabel","noEntriesFoundLabel"],["translate",""],[3,"label"],[3,"value"],["fxLayout","column"],[1,"sublabel"]],template:function(rf,ctx){rf&1&&(\u0275\u0275conditionalCreate(0,ResourceSelectionInputComponent_Conditional_0_Template,2,3,"p",0),\u0275\u0275elementStart(1,"mat-form-field")(2,"mat-label"),\u0275\u0275text(3),\u0275\u0275elementEnd(),\u0275\u0275elementStart(4,"mat-select",1),\u0275\u0275listener("selectionChange",function($event){return ctx.selectionChanged($event.value)}),\u0275\u0275elementStart(5,"mat-select-trigger"),\u0275\u0275text(6),\u0275\u0275elementEnd(),\u0275\u0275elementStart(7,"mat-option"),\u0275\u0275element(8,"ngx-mat-select-search",2),\u0275\u0275pipe(9,"translate"),\u0275\u0275pipe(10,"translate"),\u0275\u0275elementEnd(),\u0275\u0275conditionalCreate(11,ResourceSelectionInputComponent_Conditional_11_Template,2,0)(12,ResourceSelectionInputComponent_Conditional_12_Template,2,0),\u0275\u0275elementEnd(),\u0275\u0275conditionalCreate(13,ResourceSelectionInputComponent_Conditional_13_Template,2,0,"mat-error",3),\u0275\u0275elementEnd()),rf&2&&(\u0275\u0275conditional(ctx.field.inputDescription.description?0:-1),\u0275\u0275advance(3),\u0275\u0275textInterpolate(ctx.field.inputDescription.label),\u0275\u0275advance(),\u0275\u0275property("formControl",ctx.publicIdControl),\u0275\u0275advance(2),\u0275\u0275textInterpolate(ctx.selectedOptionName),\u0275\u0275advance(2),\u0275\u0275property("formControl",ctx.queryFormControl)("placeholderLabel",\u0275\u0275pipeBind1(9,9,"SEARCH"))("noEntriesFoundLabel",\u0275\u0275pipeBind1(10,11,"NO_RESULTS_FOUND")),\u0275\u0275advance(3),\u0275\u0275conditional(ctx.isGrouped?11:12),\u0275\u0275advance(2),\u0275\u0275conditional(ctx.inputControl!=null&&ctx.inputControl.hasError("required")?13:-1))},dependencies:[FlexModule,DefaultLayoutDirective,MatFormFieldModule,MatFormField,MatLabel,MatError,MatSelectModule,MatSelect,MatSelectTrigger,MatOption,MatOptgroup,NgxMatSelectSearchModule,MatSelectSearchComponent,ReactiveFormsModule,NgControlStatus,FormControlDirective,TranslateModule,TranslateDirective,RenderMarkdownPipe,TranslatePipe],styles:["[_nghost-%COMP%] .mat-mdc-form-field[_ngcontent-%COMP%]{display:block} .mat-mdc-select-panel.select-resource-selector-panel mat-option.mat-mdc-option{line-height:1em} .mat-mdc-select-panel.select-resource-selector-panel mat-option.mat-mdc-option .sublabel{font-size:13px;color:#0000008a}"],changeDetection:0})}}return ResourceSelectionInputComponent2})();var ResourceSelectionInput=class extends ComponentPropertiesInput{constructor(input2,value,context3,converter,level){super(input2,value,context3,converter,level),this.setValue(value)}setValue(value){super.setValue(value),this.publicId=value?.publicId}toFormControl(){let required=this.inputDescription.required?Validators.required:null;return new FormGroup({publicId:new FormControl({value:this.publicId,disabled:!!this.inputDescription.disabled},required)})}};function inputConstructor(input2){switch(input2.type){case"Number":return NumberInput;case"Group":return GroupInput;case"List":return ListInput;case"RichText":return RichTextInput;case"Selection":return SelectionInput;case"String":return StringInput;case"Text":return TextInput;default:return ComponentPropertiesInput}}function pageComponentInputConstructor(input2){switch(input2.type){case"AggregatedMetric":return AggregatedMetricInput;case"LiveMetric":return LiveMetricInput;case"RawMetric":return RawMetricInput;case"ResourceSelection":return ResourceSelectionInput;default:return inputConstructor(input2)}}function getComponentType(field){switch(field.inputDescription.type){case"Text":return TextInputComponent;case"Color":return ColorInputComponent;case"Date":return DateInputComponent;case"DateTime":return DateTimeInputComponent;case"File":return FileInputComponent;case"MaterialIcon":return MaterialIconInputComponent;case"Number":return NumberInputComponent;case"Image":return ImageInputComponent;case"Checkbox":return CheckboxInputComponent;case"Selection":return SelectionInputComponent;case"RichText":return RichTextInputComponent;case"Group":return GroupInputComponent;case"List":return ListInputComponent;default:return StringInputComponent}}function getPageComponentComponentType(field){switch(field.inputDescription.type){case"AggregatedMetric":return AggregatedMetricInputComponent;case"LiveMetric":return LiveMetricInputComponent;case"RawMetric":return RawMetricInputComponent;case"ResourceSelection":return ResourceSelectionInputComponent;default:return getComponentType(field)}}function getPendingFormValue(form){return Object.keys(form.controls).reduce((formValue,formControlName)=>{let _control=form.controls[formControlName];return _control instanceof FormGroup?__spreadProps(__spreadValues({},formValue),{[formControlName]:getPendingFormValue(_control)}):_control instanceof FormControl&&_control._pendingDirty?__spreadProps(__spreadValues({},formValue),{[formControlName]:_control._pendingValue}):formValue},form.value)}var ComponentPropertiesComponent=(()=>{class ComponentPropertiesComponent3{constructor(){this.cdRef=inject(ChangeDetectorRef),this.destroy=inject(DestroyRef),this.inputConverter=inject(INPUT_CONVERTER_TOKEN),this.facade=inject(ComponentPropertiesFacade),this.contextService=inject(ComponentContextService),this.afterViewInit$=new BehaviorSubject(!1),this.component$=new ReplaySubject(1),this.template$=new ReplaySubject(1),this.remove=new EventEmitter,this.update=new EventEmitter,this.unsavedChanges=new EventEmitter,this.form=new FormGroup({},{updateOn:"blur"})}ngOnInit(){this.component$.pipe(distinctUntilChanged((a,b)=>a.publicId===b.publicId),pairwise(),takeUntilDestroyed(this.destroy)).subscribe(([previous])=>{this.emitPendingChanges(previous)}),combineLatest([this.component$,this.template$,this.afterViewInit$]).pipe(filter(([,,afterViewInit])=>afterViewInit),switchMap(([component,template])=>combineLatest([of([component,template]),this.contextService.contextChanges.pipe(map(()=>this.inputConverter.hasFields({component})),distinctUntilChanged())])),filter(([,hasFields2])=>hasFields2),switchMap(([[component,template]])=>template?this.facade.manifest(template).pipe(map(manifest=>({component,manifest}))):of({component,manifest:null})),takeUntilDestroyed(this.destroy)).subscribe(({component,manifest})=>{if(this.currentComponentId===component.publicId)return;this.currentInputs=void 0,this.form.contains("inputs")&&this.form.removeControl("inputs"),this.fields=this.inputConverter.getFields({component},manifest?.inputs??null);let formControls=this.inputConverter.getFormControls(this.fields),inputs=new FormGroup(formControls);this.form.markAsPristine(),this.form.addControl("inputs",inputs),this.formDirective&&(this.formDirective.viewContainerRef.clear(),this.inputConverter.loadComponentInputs(this.fields,inputs,this.formDirective.viewContainerRef)),this.currentComponentId=component.publicId}),this.form.statusChanges.pipe(takeUntilDestroyed(this.destroy)).subscribe(()=>{this.unsavedChanges.emit(this.form.dirty&&this.form.invalid),this.cdRef.markForCheck()}),this.form.valueChanges.pipe(takeUntilDestroyed(this.destroy)).subscribe(data=>{let doSubmit=!1;if(!(!this.form.valid&&this.currentInputs!==void 0)){if("inputs"in data){this.fields.forEach(field=>field.setValue(data.inputs[field.inputDescription.key]));let inputsString=JSON.stringify(data.inputs);inputsString!==this.currentInputs&&(this.currentInputs!==void 0&&this.form.dirty&&(doSubmit=!0),this.currentInputs=inputsString)}doSubmit&&this.submit()}})}ngOnChanges(changes){changes.template&&this.template$.next(this.template),changes.component&&this.component$.next(this.component)}ngAfterViewInit(){setTimeout(()=>{this.afterViewInit$.next(!0)},0)}ngOnDestroy(){this.emitPendingChanges(this.component),this.component$.complete(),this.template$.complete(),this.afterViewInit$.complete()}emitPendingChanges(component){if(component.inputs&&this.form.controls.inputs){let snapshot=cloneDeep_default(this.form.value);this.form.patchValue({inputs:getPendingFormValue(this.form.controls.inputs)},{emitEvent:!1}),!this.form.invalid&&!isEqual_default(snapshot,this.form.value)&&(isEqual_default(this.form.value.inputs,JSON.parse(component.inputs))||this.update.emit({publicId:component.publicId,inputs:JSON.stringify(this.form.value.inputs)}))}}submit(){let formValue=this.form.value.inputs?{inputs:JSON.stringify(this.form.value.inputs)}:{},component=__spreadValues(__spreadValues({},this.component),formValue);this.update.emit(component),this.form.markAsPristine()}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||ComponentPropertiesComponent3)}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:ComponentPropertiesComponent3,selectors:[["ix-page-component-properties"]],viewQuery:function(rf,ctx){if(rf&1&&\u0275\u0275viewQuery(InputControlFormDirective,5)(MatExpansionPanel,5),rf&2){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx.formDirective=_t.first),\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx.panelRefs=_t)}},inputs:{template:"template",component:"component"},outputs:{remove:"remove",update:"update",unsavedChanges:"unsavedChanges"},standalone:!1,features:[\u0275\u0275NgOnChangesFeature],decls:3,vars:1,consts:[["autocomplete","off",3,"ngSubmit","formGroup"],["fxLayout","column",1,"more-actions"],["ixInputControlForm",""]],template:function(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"form",0),\u0275\u0275listener("ngSubmit",function(){return ctx.submit()}),\u0275\u0275elementStart(1,"div",1),\u0275\u0275element(2,"div",2),\u0275\u0275elementEnd()()),rf&2&&\u0275\u0275property("formGroup",ctx.form)},dependencies:[InputControlFormDirective,\u0275NgNoValidate,NgControlStatusGroup,FormGroupDirective,DefaultLayoutDirective],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] form[_ngcontent-%COMP%]{display:flex;flex-direction:column}[_nghost-%COMP%] button[type=submit][_ngcontent-%COMP%]{margin:16px}[_nghost-%COMP%] .mat-expansion-panel[_ngcontent-%COMP%]{background-color:transparent;border-radius:0}[_nghost-%COMP%] .mat-expansion-panel-header-title[_ngcontent-%COMP%]{color:var(--body-color)}[_nghost-%COMP%] .mat-expansion-panel[_ngcontent-%COMP%]:not(.mat-expanded){box-shadow:none!important}[_nghost-%COMP%] .mat-expansion-panel[_ngcontent-%COMP%]:not(.mat-expanded) + .mat-expansion-panel.mat-expanded[_ngcontent-%COMP%]{border-top-left-radius:8px;border-top-right-radius:8px}[_nghost-%COMP%] .mat-expansion-panel.mat-expanded[_ngcontent-%COMP%]{background-color:var(--mat-sys-surface)}[_nghost-%COMP%] .mat-expansion-panel.mat-expanded[_ngcontent-%COMP%] + .mat-expansion-panel.mat-expanded[_ngcontent-%COMP%]{border-top:1px solid var(--mat-sys-outline-variant)}[_nghost-%COMP%] .mat-expansion-panel.border-radius-bottom[_ngcontent-%COMP%]{border-bottom-left-radius:8px!important;border-bottom-right-radius:8px!important}[_nghost-%COMP%] .mat-expansion-panel[_ngcontent-%COMP%] .mat-expansion-panel-header[_ngcontent-%COMP%]{padding:0 20px 0 16px}[_nghost-%COMP%] .mat-expansion-panel[_ngcontent-%COMP%] .mat-expansion-panel-body{padding:0 16px 16px}[_nghost-%COMP%] .mat-mdc-form-field[_ngcontent-%COMP%]{margin-bottom:8px}[_nghost-%COMP%] .more-actions[_ngcontent-%COMP%] .component-property-level-0{border-bottom:1px solid var(--mat-sys-outline-variant);padding:16px}[_nghost-%COMP%] .more-actions[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{margin-right:4px}"]})}}return ComponentPropertiesComponent3})();var InputConverterService=class{constructor(){this.injector=inject(Injector)}convertInput(input2,values,context3,level){let constructor=this.getInputConstructor(input2);return new constructor(input2,values?.[input2.key],context3,this,level,this.injector)}getFormControls(inputs){return inputs.reduce((acc,cur)=>__spreadProps(__spreadValues({},acc),{[cur.inputDescription.key]:cur.toFormControl()}),{})}getFields(context3,inputs){let componentInput=this.getInputs(context3);return inputs?.map(input2=>this.convertInput(input2,componentInput,context3,0))||[]}loadComponentInputs(fields,form,ref){for(let field of fields){let componentType=this.getComponentType(field),componentRef=ref.createComponent(componentType);componentRef.instance.field=field,componentRef.instance.componentFormGroup=form,componentRef.location.nativeElement.classList.add(`component-property-level-${field.level}`)}}};var PageComponentInputConverterService=(()=>{class PageComponentInputConverterService2 extends InputConverterService{constructor(){super(...arguments),this.service=inject(ComponentContextService)}getInputs({component}){let context3=this.service.getContext(component);if(context3===void 0)throw Error(`ComponentContext could not be found for component ${component.publicId}.`);let inputs=cloneDeep_default(context3.inputs)||{};return Object.keys(context3._translationKeys).forEach(key=>set_default(inputs,key,context3._translationKeys[key])),inputs}getInputConstructor(input2){return pageComponentInputConstructor(input2)}getComponentType(field){return getPageComponentComponentType(field)}hasFields({component}){return this.service.getContext(component)!==void 0}static{this.\u0275fac=(()=>{let \u0275PageComponentInputConverterService_BaseFactory;return function(__ngFactoryType__){return(\u0275PageComponentInputConverterService_BaseFactory||(\u0275PageComponentInputConverterService_BaseFactory=\u0275\u0275getInheritedFactory(PageComponentInputConverterService2)))(__ngFactoryType__||PageComponentInputConverterService2)}})()}static{this.\u0275prov=\u0275\u0275defineInjectable({token:PageComponentInputConverterService2,factory:PageComponentInputConverterService2.\u0275fac,providedIn:"root"})}}return PageComponentInputConverterService2})();var InputControlModule=(()=>{class InputControlModule2{static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||InputControlModule2)}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:InputControlModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({providers:[{provide:INPUT_CONVERTER_TOKEN,useClass:PageComponentInputConverterService}],imports:[AggregatedMetricInputComponent,CheckboxInputComponent,ColorInputComponent,DateInputComponent,FileInputComponent,GroupInputComponent,ImageInputComponent,ListInputComponent,LiveMetricInputComponent,MaterialIconInputComponent,NumberInputComponent,RawMetricInputComponent,ResourceSelectionInputComponent,RichTextInputComponent,SelectionInputComponent,StringInputComponent,TextInputComponent]})}}return InputControlModule2})();var ComponentPropertiesModule=(()=>{class ComponentPropertiesModule2{static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||ComponentPropertiesModule2)}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:ComponentPropertiesModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({imports:[InputControlModule,ReactiveFormsModule,FlexModule,InputControlModule]})}}return ComponentPropertiesModule2})();var ComponentContextCleanupDirective=(()=>{class ComponentContextCleanupDirective3{set agentOrAssetId(agentOrAssetId){this.agentOrAssetId$.next(agentOrAssetId)}set pageVersionId(pageVersionId){this.pageVersionId$.next(pageVersionId)}constructor(scopeRef,contextService){this.scopeRef=scopeRef,this.contextService=contextService,this.agentOrAssetId$=new ReplaySubject(1),this.pageVersionId$=new ReplaySubject(1),this.destroy=inject(DestroyRef)}ngOnInit(){combineLatest([this.agentOrAssetId$,this.pageVersionId$]).pipe(filter(ids=>ids.every(Boolean)),distinctUntilChanged(isEqual_default),skip(1),takeUntilDestroyed(this.destroy)).subscribe(()=>{this.contextService.destroyAll(this.scopeRef?.value)})}ngOnDestroy(){this.agentOrAssetId$.complete(),this.pageVersionId$.complete()}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||ComponentContextCleanupDirective3)(\u0275\u0275directiveInject(ComponentGridScopeDirective,8),\u0275\u0275directiveInject(ComponentContextService))}}static{this.\u0275dir=\u0275\u0275defineDirective({type:ComponentContextCleanupDirective3,selectors:[["","ixComponentContextCleanup",""]],inputs:{agentOrAssetId:"agentOrAssetId",pageVersionId:"pageVersionId"}})}}return ComponentContextCleanupDirective3})();function getAssetDescendants(assetId,assetEntities){let result=[],stack=[assetId],visited=new Set;for(;stack.length>0;){let currentId=stack.pop();if(visited.has(currentId))continue;visited.add(currentId);let asset=assetEntities[currentId];asset&&(result.push(asset),Object.values(assetEntities).forEach(child=>{child&&!visited.has(child.publicId)&&child.parent?.publicId===currentId&&stack.push(child.publicId)}))}return result}var LoggingDataPrefetcher=(()=>{class LoggingDataPrefetcher2{constructor(store,actions$){this.store=store,this.actions$=actions$}forQueries(agentId,queries){let parsedSelectors=queries.map(query=>query.selector?parseSelector(query.selector):{type:"",target:"",dataSource:"",logType:"",logName:""}).filter(r=>r?.target==="selected"),hasAssetSelectors=parsedSelectors.some(r=>r.type==="Asset"),uniqDataSourceSlugs=compact_default(uniq_default(parsedSelectors.map(r=>r?.dataSource))),uniqDataTagPublicIds=compact_default(uniq_default(queries.filter(q=>q.tag).map(q=>q.tag?.publicId))),uniqDataTagSlugs=compact_default(uniq_default(parsedSelectors.filter(r=>r?.logType==="tag").map(r=>r?.logName))),uniqDataVariableSlugs=compact_default(uniq_default(parsedSelectors.filter(r=>r?.logType==="variable").map(r=>r?.logName)));return combineLatest([this.handleDataSourceSlugs(agentId,uniqDataSourceSlugs),this.handleDataTagSlugs(agentId,uniqDataTagSlugs,uniqDataTagPublicIds,hasAssetSelectors),this.handleDataVariableSlugs(agentId,uniqDataVariableSlugs)]).pipe(mergeMap(()=>of(queries)))}handleDataSourceSlugs(agentId,slugs){return agentId&&slugs.length?combineLatest([this.store.select(selectAllLoadedForAgent3(agentId)),this.store.select(selectAllForAgent3(agentId))]).pipe(take(1),mergeMap(([sourcesLoaded,sources])=>{if(sourcesLoaded&&sources.length===0)return of([]);let unmatchedSlugs=slugs.filter(slug=>!sources?.find(s2=>s2?.slug===slug));if(unmatchedSlugs.length){let filters=`in(slug,"${unmatchedSlugs.join('","')}")`,queryTooLarge=("?fields="+AGENT_DATA_SOURCE_LIST_FIELDS.join(",")+"&").length+filters.length+`&page-after=publicid0000&page-size=${4e3}`.length>4096,reference3=`${agentId}_${filters}`;return this.store.dispatch(loadAll2({agentId,filters:queryTooLarge?void 0:filters})),this.actions$.pipe(ofType(loadAllSuccess3,loadAllFailure2),filter(({agentId:agentId2,filters:filters2})=>`${agentId2}_${filters2}`===reference3||queryTooLarge),take(1),map(()=>[]))}return of([])}),map(()=>[])):of([])}handleDataTagSlugs(agentId,slugs,publicIds,hasAssetSelectors){return agentId&&(slugs.length||publicIds.length||hasAssetSelectors)?combineLatest([this.store.select(selectAllLoadedForAgent3(agentId)),this.store.select(selectAllForAgent3(agentId)),this.store.select(selectAllLoadedForAgent2(agentId)),this.store.select(selectAllForAgent2(agentId))]).pipe(take(1),mergeMap(([sourcesLoaded,sources,tagsLoaded,tags])=>{if(sourcesLoaded&&sources.length===0)return of([]);let unmatchedSlugs=slugs.filter(slug=>!tags?.find(t=>t?.slug===slug)),unmatchedPublicIds=publicIds.filter(publicId=>!tags?.find(t=>t?.publicId===publicId));if(!tagsLoaded&&(hasAssetSelectors||unmatchedSlugs.length||unmatchedPublicIds.length)){let fields=AGENT_DATA_TAG_WITH_VARIABLE_LIST_FIELDS,filters;hasAssetSelectors||unmatchedSlugs.length&&unmatchedPublicIds.length?filters=void 0:unmatchedPublicIds.length?filters=`in(publicId,"${unmatchedPublicIds.join('","')}")`:unmatchedSlugs.length&&(filters=`in(slug,"${unmatchedSlugs.join('","')}")`),filters&&("?fields="+fields.join(",")+"&").length+filters.length+`&page-after=publicid0000&page-size=${4e3}`.length>4096&&(filters=void 0);let reference3=`${agentId}_${filters}`;return this.store.dispatch(loadAll31({agentId,fields,filters})),this.actions$.pipe(ofType(loadAllSuccess32,loadAllFailure31),filter(({agentId:id,filters:f})=>`${id}_${f}`===reference3),take(1),map(()=>[]))}return of([])}),map(()=>[])):of([])}handleDataVariableSlugs(agentId,slugs){return agentId&&slugs.length?this.store.select(selectAllLoadedForAgent(agentId)).pipe(take(1),mergeMap(loaded=>{if(!loaded){let reference3=agentId;return this.store.dispatch(loadAll32({agentId})),this.actions$.pipe(ofType(loadAllSuccess33,loadAllFailure32),filter(({agentId:agentId2})=>agentId2===reference3),take(1),map(()=>[]))}return of([])}),map(()=>[])):of([])}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||LoggingDataPrefetcher2)(\u0275\u0275inject(Store),\u0275\u0275inject(Actions))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:LoggingDataPrefetcher2,factory:LoggingDataPrefetcher2.\u0275fac,providedIn:"root"})}}return LoggingDataPrefetcher2})();var LoggingDataBrokerDirective=(()=>{class LoggingDataBrokerDirective3{constructor(scopeRef,store,activePeriodSpec,authTokenService,localization,loggingDataClient,loggingDataFetcherFactory,loggingDataPrefetcher){this.scopeRef=scopeRef,this.store=store,this.activePeriodSpec=activePeriodSpec,this.authTokenService=authTokenService,this.localization=localization,this.loggingDataClient=loggingDataClient,this.loggingDataFetcherFactory=loggingDataFetcherFactory,this.loggingDataPrefetcher=loggingDataPrefetcher,this.agentOrAssetId$=new ReplaySubject(1),this.agentId=null,this.agentId$=this.agentOrAssetId$.pipe(switchMap(agentOrAssetId=>this.store.select(selectEntities18).pipe(map(entities=>entities[agentOrAssetId]?findClosestAgentToAsset(agentOrAssetId,entities)?.publicId??null:agentOrAssetId),distinctUntilChanged()))),this._authToken$=combineLatest([timer(0,3300*1e3),this.agentId$]).pipe(mergeMap(([,id])=>{let canUseLiveData=this.features.instantCanUse("live-data",{agentId:id}),canUseHistoricalData=this.features.instantCanUse("historical-data",{agentId:id});return id&&(canUseLiveData||canUseHistoricalData)?this.authTokenService.getForData({agents:[{publicId:id}],expiresIn:3600}).pipe(map(response=>response.data.secretId),catchError(()=>EMPTY)):EMPTY}),share()),this.authTokenRequired$=new ReplaySubject(1),this.authToken$=new ReplaySubject(1),this.dataSources$=this.agentId$.pipe(mergeMap(id=>this.store.select(selectAllForAgent3(id)))),this.tags$=this.agentId$.pipe(mergeMap(id=>this.store.select(selectAllForAgent2(id)))),this.variables$=this.agentId$.pipe(mergeMap(id=>this.store.select(selectAllForAgent(id)))),this.assets$=this.agentOrAssetId$.pipe(mergeMap(assetId=>this.store.select(selectEntities18).pipe(map(entities=>getAssetDescendants(assetId,entities))))),this.selectedAssetId$=this.agentOrAssetId$,this.assetAppConfigResources$=this.agentOrAssetId$.pipe(distinctUntilChanged(),mergeMap(assetId=>{if(!assetId)return of([]);let assetTree$=this.store.select(selectEntities18).pipe(map(entities=>getAssetDescendants(assetId,entities)));return this.store.select(selectEntities27).pipe(withLatestFrom(assetTree$),map(([resourceMap,assets])=>{let assetAppConfigs=assets.map(a=>a.appConfigs).flat(),resources=[];return assetAppConfigs.forEach(appConfig=>{let matchingResources=Object.values(resourceMap).filter(res=>!!res&&res.config?.publicId===appConfig?.publicId);resources.push(...matchingResources)}),resources}))})),this.features=inject(PlatformFeaturesService),this.destroy=inject(DestroyRef)}ngOnInit(){this.agentId$.pipe(distinctUntilChanged()).subscribe(agentId=>this.agentId=agentId),this.fetcher=this.loggingDataFetcherFactory.create({agentId:this.agentId$.pipe(distinctUntilChanged()),authToken:this.authToken$.asObservable(),companyId:this.store.select(selectMyCompanyId),locale:this.localization.getLocale(),timeRange:this.activePeriodSpec.asTimeRange(this.scopeRef?.value),timeZone:of(Settings.defaultZone.name),dataSources:this.dataSources$,tags:this.tags$,variables:this.variables$,availabilityStrategy:LoggingDataConfigAvailabilityStrategy.Lazy,scope:this.scopeRef?.value,assetAppConfigResources:this.assetAppConfigResources$,assets:this.assets$,selectedAssetId:this.selectedAssetId$,beforeFetch:queries=>this.agentId?this.loggingDataPrefetcher.forQueries(this.agentId,queries).pipe(mergeMap(queries2=>queries2.some(q=>q.selector?parseSelector(q.selector).logType==="variable":!1)?(this.authTokenRequired$.next(!0),this.authToken$.pipe(take(1),map(()=>queries2))):of(queries2))):of(queries)}),this.authTokenRequired$.pipe(distinctUntilChanged(),switchMap(required=>required?this._authToken$:EMPTY),takeUntilDestroyed(this.destroy)).subscribe(this.authToken$),merge(this.loggingDataClient.onQuery(this.scopeRef?.value),this.loggingDataClient.onDestroy(this.scopeRef?.value)).pipe(bufferDebounceTime(100),mergeMap(buffer2=>{let queries=[],destroyEvents=buffer2.filter(item=>item instanceof CustomEvent);return destroyEvents.length?queries=flatten_default(buffer2.filter(item=>!(item instanceof CustomEvent))).filter(q=>!destroyEvents.some(e=>q._clientRef?.startsWith(e.detail)&&(q._timeStamp?q._timeStamp<e.timeStamp:!0))):queries=flatten_default(buffer2),queries.length?of(queries):EMPTY}),mergeMap(queries=>this.fetcher.fetch(queries)),distinctUntilChanged(),takeUntilDestroyed(this.destroy)).subscribe(metrics=>{this.loggingDataClient.emitMetrics(metrics,this.scopeRef?.value)}),this.loggingDataClient.onExport(this.scopeRef?.value).pipe(mergeMap(({queries,csvDelimiter})=>this.fetcher.export(queries,csvDelimiter)),takeUntilDestroyed(this.destroy)).subscribe(blob=>{this.loggingDataClient.emitBlob(blob,this.scopeRef?.value)})}ngOnChanges(changes){changes.agentOrAssetId&&this.agentOrAssetId&&this.agentOrAssetId$.next(this.agentOrAssetId)}ngOnDestroy(){this.agentOrAssetId$.complete(),this.authToken$.complete(),this.authTokenRequired$.complete(),this.fetcher.destroy()}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||LoggingDataBrokerDirective3)(\u0275\u0275directiveInject(ComponentGridScopeDirective,8),\u0275\u0275directiveInject(Store),\u0275\u0275directiveInject(ActivePeriodSpec),\u0275\u0275directiveInject(AuthTokenService),\u0275\u0275directiveInject(LocalizationService),\u0275\u0275directiveInject(LoggingDataClientProxyService),\u0275\u0275directiveInject(LoggingDataFetcherFactory),\u0275\u0275directiveInject(LoggingDataPrefetcher))}}static{this.\u0275dir=\u0275\u0275defineDirective({type:LoggingDataBrokerDirective3,selectors:[["","ixLoggingDataBroker",""]],inputs:{agentOrAssetId:"agentOrAssetId"},features:[\u0275\u0275NgOnChangesFeature]})}}return LoggingDataBrokerDirective3})();var ComponentGridFocusDirective=(()=>{class ComponentGridFocusDirective3{constructor(){this.elRef=inject(ElementRef),this.service=inject(ComponentGridFocusService),this.destroy=inject(DestroyRef)}ngOnInit(){fromEvent(this.elRef.nativeElement,"mousedown").pipe(takeUntilDestroyed(this.destroy)).subscribe(()=>this.service.next())}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||ComponentGridFocusDirective3)}}static{this.\u0275dir=\u0275\u0275defineDirective({type:ComponentGridFocusDirective3,selectors:[["","ixComponentGridFocus",""]]})}}return ComponentGridFocusDirective3})();function PeriodBottomSheetComponent_For_4_Template(rf,ctx){if(rf&1){let _r1=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"mat-list-item",13),\u0275\u0275listener("click",function(){let range_r2=\u0275\u0275restoreView(_r1).$implicit,ctx_r2=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r2.applyRange(range_r2.code))}),\u0275\u0275text(1),\u0275\u0275pipe(2,"translate"),\u0275\u0275elementEnd()}if(rf&2){let range_r2=ctx.$implicit;\u0275\u0275advance(),\u0275\u0275textInterpolate1(" ",\u0275\u0275pipeBind2(2,1,range_r2.translateKey,range_r2.translateParams)," ")}}function PeriodBottomSheetComponent_Conditional_12_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",5),\u0275\u0275text(1,"FROM_MUST_BE_BEFORE_TO"),\u0275\u0275elementEnd())}function PeriodBottomSheetComponent_Conditional_13_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",5),\u0275\u0275text(1,"__MESSAGE__.MAX_DATE"),\u0275\u0275elementEnd())}function PeriodBottomSheetComponent_Conditional_18_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",5),\u0275\u0275text(1,"TO_MUST_BE_AFTER_FROM"),\u0275\u0275elementEnd())}function PeriodBottomSheetComponent_Conditional_19_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",5),\u0275\u0275text(1,"__MESSAGE__.MAX_DATE"),\u0275\u0275elementEnd())}function PeriodBottomSheetComponent_Conditional_21_Template(rf,ctx){if(rf&1){let _r4=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"button",14),\u0275\u0275listener("click",function(){\u0275\u0275restoreView(_r4);let ctx_r2=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r2.resetPeriodSpec())}),\u0275\u0275elementStart(1,"span",5),\u0275\u0275text(2,"RESET_TO_DEFAULT"),\u0275\u0275elementEnd()()}if(rf&2){let ctx_r2=\u0275\u0275nextContext();\u0275\u0275property("disabled",!ctx_r2.canResetPeriodSpec)}}var PeriodBottomSheetComponent=(()=>{class PeriodBottomSheetComponent2{constructor(){this.data=inject(MAT_BOTTOM_SHEET_DATA),this.ref=inject(MatBottomSheetRef),this.ranges=TIME_RANGE_OPTIONS,this.maxDate=DateTime.now().endOf("day").toISO()}ngOnInit(){let timeRange=toTimeRange(this.data.periodSpec);this.form=new FormGroup({from:new FormControl(DateTime.fromMillis(timeRange.from).set({millisecond:0}).toISO({includeOffset:!1,suppressMilliseconds:!0}),{validators:[Validators.required,DateTimeValidators.maxDate(this.maxDate)],nonNullable:!0}),to:new FormControl(DateTime.fromMillis(timeRange.to).set({millisecond:0}).toISO({includeOffset:!1,suppressMilliseconds:!0}),{validators:[Validators.required,DateTimeValidators.maxDate(this.maxDate)],nonNullable:!0})},{validators:DateTimeValidators.fromToInverted()})}applyRange(range4){this.ref.dismiss(range4)}cancel(){this.ref.dismiss()}get showReset(){return this.data.default!==void 0}get canResetPeriodSpec(){return this.data.periodSpec!=this.data.default}resetPeriodSpec(){this.ref.dismiss(this.data.default)}submit(){let periodSpec={from:DateTime.fromISO(this.form.controls.from.value).toMillis(),to:DateTime.fromISO(this.form.controls.to.value).toMillis()};this.ref.dismiss(periodSpec)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||PeriodBottomSheetComponent2)}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:PeriodBottomSheetComponent2,selectors:[["ix-period-bottom-sheet"]],decls:29,vars:11,consts:[["fxLayout","column"],[1,"ranges"],["autocomplete","off",3,"ngSubmit","formGroup"],["fxLayout","row","fxLayoutGap","8px"],["fxFlex","grow"],["translate",""],["type","datetime-local","matInput","","formControlName","from","step","1",3,"max"],["type","datetime-local","matInput","","formControlName","to","step","1",3,"min","max"],["fxLayout","row",1,"actions"],["type","button","mat-button","","color","primary",3,"disabled"],["fxLayout","row"],["type","button","mat-button","",3,"click"],["type","submit","mat-button","","color","primary",3,"disabled"],[3,"click"],["type","button","mat-button","","color","primary",3,"click","disabled"]],template:function(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"div",0)(1,"div",1)(2,"mat-action-list"),\u0275\u0275repeaterCreate(3,PeriodBottomSheetComponent_For_4_Template,3,4,"mat-list-item",null,\u0275\u0275repeaterTrackByIdentity),\u0275\u0275elementEnd()(),\u0275\u0275element(5,"mat-divider"),\u0275\u0275elementStart(6,"form",2),\u0275\u0275listener("ngSubmit",function(){return ctx.submit()}),\u0275\u0275elementStart(7,"fieldset",3)(8,"mat-form-field",4)(9,"mat-label",5),\u0275\u0275text(10,"FROM__DATE"),\u0275\u0275elementEnd(),\u0275\u0275element(11,"input",6),\u0275\u0275conditionalCreate(12,PeriodBottomSheetComponent_Conditional_12_Template,2,0,"mat-error",5),\u0275\u0275conditionalCreate(13,PeriodBottomSheetComponent_Conditional_13_Template,2,0,"mat-error",5),\u0275\u0275elementEnd(),\u0275\u0275elementStart(14,"mat-form-field",4)(15,"mat-label",5),\u0275\u0275text(16,"TO__DATE"),\u0275\u0275elementEnd(),\u0275\u0275element(17,"input",7),\u0275\u0275conditionalCreate(18,PeriodBottomSheetComponent_Conditional_18_Template,2,0,"mat-error",5),\u0275\u0275conditionalCreate(19,PeriodBottomSheetComponent_Conditional_19_Template,2,0,"mat-error",5),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(20,"div",8),\u0275\u0275conditionalCreate(21,PeriodBottomSheetComponent_Conditional_21_Template,3,1,"button",9),\u0275\u0275elementStart(22,"div",10)(23,"button",11),\u0275\u0275listener("click",function(){return ctx.cancel()}),\u0275\u0275elementStart(24,"span",5),\u0275\u0275text(25,"CANCEL"),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(26,"button",12)(27,"span",5),\u0275\u0275text(28,"APPLY"),\u0275\u0275elementEnd()()()()()()),rf&2){let tmp_2_0,tmp_6_0;\u0275\u0275advance(3),\u0275\u0275repeater(ctx.ranges),\u0275\u0275advance(3),\u0275\u0275property("formGroup",ctx.form),\u0275\u0275advance(5),\u0275\u0275property("max",(tmp_2_0=ctx.form.get("to"))==null?null:tmp_2_0.value)("max",ctx.maxDate),\u0275\u0275advance(),\u0275\u0275conditional(ctx.form.controls.from.hasError("inverted")?12:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx.form.controls.from.hasError("maxDate")?13:-1),\u0275\u0275advance(4),\u0275\u0275property("min",(tmp_6_0=ctx.form.get("from"))==null?null:tmp_6_0.value)("max",ctx.maxDate),\u0275\u0275advance(),\u0275\u0275conditional(ctx.form.controls.to.hasError("inverted")?18:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx.form.controls.to.hasError("maxDate")?19:-1),\u0275\u0275advance(2),\u0275\u0275conditional(ctx.showReset?21:-1),\u0275\u0275advance(5),\u0275\u0275property("disabled",ctx.form.invalid)}},dependencies:[FlexModule,DefaultLayoutDirective,DefaultLayoutGapDirective,DefaultFlexDirective,MatButtonModule,MatButton,MatDividerModule,MatDivider,MatFormFieldModule,MatFormField,MatLabel,MatError,MatInputModule,MatInput,MatListModule,MatActionList,MatListItem,ReactiveFormsModule,\u0275NgNoValidate,DefaultValueAccessor,NgControlStatus,NgControlStatusGroup,FormGroupDirective,FormControlName,TranslateModule,TranslateDirective,TranslatePipe],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .ranges[_ngcontent-%COMP%]{max-height:50vh;overflow-y:auto}[_nghost-%COMP%] form[_ngcontent-%COMP%]{display:block;padding-top:16px}[_nghost-%COMP%] form[_ngcontent-%COMP%] fieldset[_ngcontent-%COMP%]{margin:0;padding:0;border:none}[_nghost-%COMP%] form[_ngcontent-%COMP%] fieldset[_ngcontent-%COMP%] .mat-mdc-form-field[_ngcontent-%COMP%]{max-width:calc(50vw - 24px)!important}[_nghost-%COMP%] form[_ngcontent-%COMP%] fieldset[_ngcontent-%COMP%] input[type=datetime-local][_ngcontent-%COMP%]::-webkit-inner-spin-button, [_nghost-%COMP%] form[_ngcontent-%COMP%] fieldset[_ngcontent-%COMP%] input[type=datetime-local][_ngcontent-%COMP%]::-webkit-calendar-picker-indicator{appearance:none;display:none}[_nghost-%COMP%] .actions[_ngcontent-%COMP%]{padding-bottom:8px;gap:8px}[_nghost-%COMP%] .actions[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{gap:8px;margin-left:auto}"]})}}return PeriodBottomSheetComponent2})();var PERIOD_PANEL_DATA=new InjectionToken("device-board-header-period-panel-data");var import_dayjs4=__toESM(require_dayjs_min()),import_utc=__toESM(require_utc()),import_timezone=__toESM(require_timezone());var PeriodPanelRef=class{constructor(overlayRef){this.overlayRef=overlayRef,this._afterClosed=new Subject}afterClosed(){return this._afterClosed.asObservable()}close(data){this.overlayRef.dispose(),data&&(this._afterClosed.next(data),this._afterClosed.complete())}};function PeriodPanelComponent_Conditional_21_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"button",6)(1,"div",4)(2,"mat-icon"),\u0275\u0275text(3,"public"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(4,"span"),\u0275\u0275text(5),\u0275\u0275pipe(6,"translate"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(7,"span"),\u0275\u0275text(8,":\xA0"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(9,"span"),\u0275\u0275text(10),\u0275\u0275elementEnd(),\u0275\u0275elementStart(11,"mat-icon"),\u0275\u0275text(12,"arrow_drop_down"),\u0275\u0275elementEnd()()()),rf&2){let ctx_r0=\u0275\u0275nextContext(),timeZoneMenu_r2=\u0275\u0275reference(4);\u0275\u0275property("matMenuTriggerFor",timeZoneMenu_r2),\u0275\u0275advance(5),\u0275\u0275textInterpolate(\u0275\u0275pipeBind1(6,3,ctx_r0.timeZoneSpec==="device"?"DEVICE_TIME_ZONE":"MY_TIME_ZONE")),\u0275\u0275advance(5),\u0275\u0275textInterpolate(ctx_r0.timeZoneSpec==="device"?ctx_r0.deviceTimeZone:ctx_r0.myTimeZone)}}function PeriodPanelComponent_Conditional_32_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",5),\u0275\u0275text(1,"FROM_MUST_BE_BEFORE_TO"),\u0275\u0275elementEnd())}function PeriodPanelComponent_Conditional_33_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",5),\u0275\u0275text(1,"__MESSAGE__.MAX_DATE"),\u0275\u0275elementEnd())}function PeriodPanelComponent_Conditional_34_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",5),\u0275\u0275text(1,"__MESSAGE__.BEFORE_MIN_DATE"),\u0275\u0275elementEnd())}function PeriodPanelComponent_Conditional_35_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",5),\u0275\u0275text(1,"__MESSAGE__.INVALID_DATE_AND_TIME"),\u0275\u0275elementEnd())}function PeriodPanelComponent_Conditional_36_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",5),\u0275\u0275text(1,"__MESSAGE__.INVALID_DATE_AND_TIME"),\u0275\u0275elementEnd())}function PeriodPanelComponent_Conditional_42_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",5),\u0275\u0275text(1,"TO_MUST_BE_AFTER_FROM"),\u0275\u0275elementEnd())}function PeriodPanelComponent_Conditional_43_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",5),\u0275\u0275text(1,"__MESSAGE__.MAX_DATE"),\u0275\u0275elementEnd())}function PeriodPanelComponent_Conditional_44_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",5),\u0275\u0275text(1,"__MESSAGE__.BEFORE_MIN_DATE"),\u0275\u0275elementEnd())}function PeriodPanelComponent_Conditional_45_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",5),\u0275\u0275text(1,"__MESSAGE__.INVALID_DATE_AND_TIME"),\u0275\u0275elementEnd())}function PeriodPanelComponent_Conditional_46_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",5),\u0275\u0275text(1,"__MESSAGE__.INVALID_DATE_AND_TIME"),\u0275\u0275elementEnd())}function PeriodPanelComponent_Conditional_48_Template(rf,ctx){if(rf&1){let _r3=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"button",21),\u0275\u0275listener("click",function(){\u0275\u0275restoreView(_r3);let ctx_r0=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r0.resetPeriodSpec())}),\u0275\u0275elementStart(1,"span",5),\u0275\u0275text(2,"RESET_TO_DEFAULT"),\u0275\u0275elementEnd()()}if(rf&2){let ctx_r0=\u0275\u0275nextContext();\u0275\u0275property("disabled",!ctx_r0.canResetPeriodSpec)}}function PeriodPanelComponent_For_59_Template(rf,ctx){if(rf&1){let _r4=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"mat-list-item",22),\u0275\u0275listener("click",function(){let range_r5=\u0275\u0275restoreView(_r4).$implicit,ctx_r0=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r0.applyRange(range_r5.code))}),\u0275\u0275text(1),\u0275\u0275pipe(2,"translate"),\u0275\u0275elementEnd()}if(rf&2){let range_r5=ctx.$implicit;\u0275\u0275advance(),\u0275\u0275textInterpolate1(" ",\u0275\u0275pipeBind2(2,1,range_r5.translateKey,range_r5.translateParams)," ")}}import_dayjs4.default.extend(import_utc.default);import_dayjs4.default.extend(import_timezone.default);var PeriodPanelComponent=(()=>{class PeriodPanelComponent2{constructor(data,formBuilder,localizationService,ref){this.data=data,this.formBuilder=formBuilder,this.localizationService=localizationService,this.ref=ref,this.browserTimeZone=Intl.DateTimeFormat().resolvedOptions().timeZone,this.locale={format:"YYYY-MM-DDTHH:mm:ss.SSSZ",displayFormat:"MM/DD/YYYY",direction:"ltr",weekLabel:"W",daysOfWeek:[Info.weekdays("short")[6],...Info.weekdays("short").slice(0,-1)],monthNames:Info.months("short"),firstDay:1},this.maxISO=DateTime.now().endOf("day").toISO(),this.ranges=TIME_RANGE_OPTIONS,this.myTimeZone=this.localizationService.getTimeZone()}ngOnInit(){this.deviceTimeZone=this.data.deviceTimeZone||null,this.timeZone=Settings.defaultZone.name,this.timeZoneSpec=this.data.timeZoneSpec||"user",this.minISO=this.data.minDate?(0,import_dayjs4.default)(this.data.minDate).toISOString():null,this.processRange()}applyRange(range4){this.ref.close(range4)}cancel(){this.ref.close()}get showReset(){return this.data.default!==void 0}get canResetPeriodSpec(){return this.data.periodSpec!=this.data.default}resetPeriodSpec(){this.ref.close(this.data.default)}choosedDate(selection){this.form.setValue({from:DateTime.fromISO(selection.startDate.toISOString(),{zone:this.browserTimeZone}).setZone(this.timeZone,{keepLocalTime:!0}).toFormat("F"),to:DateTime.fromISO(selection.endDate.toISOString(),{zone:this.browserTimeZone}).setZone(this.timeZone,{keepLocalTime:!0}).toFormat("F")})}submit(){let periodSpec={from:DateTime.fromFormat(this.form.value.from,"F").toMillis(),to:DateTime.fromFormat(this.form.value.to,"F").toMillis()};this.ref.close(periodSpec)}setTimeZoneSpec(timeZoneSpec){this.timeZoneSpec=timeZoneSpec,this.timeZone=timeZoneSpec==="device"&&this.deviceTimeZone?this.deviceTimeZone:this.myTimeZone,this.processRange(),this.data.timeZoneSpecSelected?.emit({name:this.timeZone,spec:timeZoneSpec})}processRange(){let timeRange=toTimeRange(this.data.periodSpec||"yesterday");if(this.selected={startDate:(0,import_dayjs4.default)(DateTime.fromMillis(timeRange.from,{zone:this.timeZone}).setZone(this.browserTimeZone,{keepLocalTime:!0}).toMillis()),endDate:(0,import_dayjs4.default)(DateTime.fromMillis(timeRange.to,{zone:this.timeZone}).setZone(this.browserTimeZone,{keepLocalTime:!0}).toMillis())},this.form)this.form.setValue({from:DateTime.fromMillis(timeRange.from).toFormat("F"),to:DateTime.fromMillis(timeRange.to).toFormat("F")});else{let formatter=value=>DateTime.fromFormat(value,"F");this.form=this.formBuilder.group({from:[DateTime.fromMillis(timeRange.from).toFormat("F"),[Validators.required,DateTimeValidators.format(formatter),...this.minISO?[DateTimeValidators.minDate(this.minISO,formatter)]:[],DateTimeValidators.maxDate(this.maxISO,formatter)]],to:[DateTime.fromMillis(timeRange.to).toFormat("F"),[Validators.required,DateTimeValidators.format(formatter),...this.minISO?[DateTimeValidators.minDate(this.minISO,formatter)]:[],DateTimeValidators.maxDate(this.maxISO,formatter)]]},{validators:DateTimeValidators.fromToInverted(formatter)})}}onEscapeHandler(event2){event2.stopPropagation(),event2.preventDefault(),this.ref.close()}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||PeriodPanelComponent2)(\u0275\u0275directiveInject(PERIOD_PANEL_DATA),\u0275\u0275directiveInject(FormBuilder),\u0275\u0275directiveInject(LocalizationService),\u0275\u0275directiveInject(PeriodPanelRef))}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:PeriodPanelComponent2,selectors:[["ix-period-panel"]],hostBindings:function(rf,ctx){rf&1&&\u0275\u0275listener("keydown.escape",function($event){return ctx.onEscapeHandler($event)},\u0275\u0275resolveDocument)},decls:60,vars:35,consts:[["timeZoneMenu","matMenu"],["fxFlex","","translate",""],[1,"dense"],["mat-menu-item","",3,"click"],["fxLayout","row","fxLayoutAlign","start center"],["translate",""],["mat-button","",1,"time-zone-select",3,"matMenuTriggerFor"],["fxLayout","row"],["fxFlex","",1,"picker"],[3,"choosedDate","autoApply","linkedCalendars","minDate","maxDate","locale","startDate","endDate"],["autocomplete","off",3,"ngSubmit","formGroup"],["fxlayout","row","fxLayoutGap","16px"],["fxFlex","grow"],["matInput","","formControlName","from",3,"placeholder"],["matInput","","formControlName","to",3,"placeholder"],["fxLayout","row",1,"actions"],["type","button","mat-stroked-button","","color","primary",3,"disabled"],["type","button","mat-stroked-button","","color","primary",3,"click"],["type","submit","mat-flat-button","","color","primary",3,"disabled"],[1,"ranges"],["dense",""],["type","button","mat-stroked-button","","color","primary",3,"click","disabled"],[3,"click"]],template:function(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-toolbar")(1,"span",1),\u0275\u0275text(2,"TIME_RANGE_SELECTION"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(3,"mat-menu",2,0)(5,"button",3),\u0275\u0275listener("click",function(){return ctx.setTimeZoneSpec("user")}),\u0275\u0275elementStart(6,"div",4)(7,"span",5),\u0275\u0275text(8,"MY_TIME_ZONE"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(9,"span"),\u0275\u0275text(10,":\xA0"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(11,"span"),\u0275\u0275text(12),\u0275\u0275elementEnd()()(),\u0275\u0275elementStart(13,"button",3),\u0275\u0275listener("click",function(){return ctx.setTimeZoneSpec("device")}),\u0275\u0275elementStart(14,"div",4)(15,"span",5),\u0275\u0275text(16,"DEVICE_TIME_ZONE"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(17,"span"),\u0275\u0275text(18,":\xA0"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(19,"span"),\u0275\u0275text(20),\u0275\u0275elementEnd()()()(),\u0275\u0275conditionalCreate(21,PeriodPanelComponent_Conditional_21_Template,13,5,"button",6),\u0275\u0275elementEnd(),\u0275\u0275elementStart(22,"div",7)(23,"div",8)(24,"ngx-daterangepicker-material",9),\u0275\u0275listener("choosedDate",function($event){return ctx.choosedDate($event)}),\u0275\u0275elementEnd(),\u0275\u0275elementStart(25,"form",10),\u0275\u0275listener("ngSubmit",function(){return ctx.submit()}),\u0275\u0275elementStart(26,"fieldset",11)(27,"mat-form-field",12)(28,"mat-label",5),\u0275\u0275text(29,"FROM__DATE"),\u0275\u0275elementEnd(),\u0275\u0275element(30,"input",13),\u0275\u0275pipe(31,"translate"),\u0275\u0275conditionalCreate(32,PeriodPanelComponent_Conditional_32_Template,2,0,"mat-error",5),\u0275\u0275conditionalCreate(33,PeriodPanelComponent_Conditional_33_Template,2,0,"mat-error",5),\u0275\u0275conditionalCreate(34,PeriodPanelComponent_Conditional_34_Template,2,0,"mat-error",5),\u0275\u0275conditionalCreate(35,PeriodPanelComponent_Conditional_35_Template,2,0,"mat-error",5),\u0275\u0275conditionalCreate(36,PeriodPanelComponent_Conditional_36_Template,2,0,"mat-error",5),\u0275\u0275elementEnd(),\u0275\u0275elementStart(37,"mat-form-field",12)(38,"mat-label",5),\u0275\u0275text(39,"TO__DATE"),\u0275\u0275elementEnd(),\u0275\u0275element(40,"input",14),\u0275\u0275pipe(41,"translate"),\u0275\u0275conditionalCreate(42,PeriodPanelComponent_Conditional_42_Template,2,0,"mat-error",5),\u0275\u0275conditionalCreate(43,PeriodPanelComponent_Conditional_43_Template,2,0,"mat-error",5),\u0275\u0275conditionalCreate(44,PeriodPanelComponent_Conditional_44_Template,2,0,"mat-error",5),\u0275\u0275conditionalCreate(45,PeriodPanelComponent_Conditional_45_Template,2,0,"mat-error",5),\u0275\u0275conditionalCreate(46,PeriodPanelComponent_Conditional_46_Template,2,0,"mat-error",5),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(47,"div",15),\u0275\u0275conditionalCreate(48,PeriodPanelComponent_Conditional_48_Template,3,1,"button",16),\u0275\u0275elementStart(49,"div",7)(50,"button",17),\u0275\u0275listener("click",function(){return ctx.cancel()}),\u0275\u0275elementStart(51,"span",5),\u0275\u0275text(52,"CANCEL"),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(53,"button",18)(54,"span",5),\u0275\u0275text(55,"APPLY"),\u0275\u0275elementEnd()()()()()(),\u0275\u0275elementStart(56,"div",19)(57,"mat-action-list",20),\u0275\u0275repeaterCreate(58,PeriodPanelComponent_For_59_Template,3,4,"mat-list-item",null,\u0275\u0275repeaterTrackByIdentity),\u0275\u0275elementEnd()()()),rf&2&&(\u0275\u0275advance(5),\u0275\u0275classProp("active",ctx.timeZoneSpec==="user"),\u0275\u0275advance(7),\u0275\u0275textInterpolate(ctx.myTimeZone),\u0275\u0275advance(),\u0275\u0275classProp("active",ctx.timeZoneSpec==="device"),\u0275\u0275advance(7),\u0275\u0275textInterpolate(ctx.deviceTimeZone),\u0275\u0275advance(),\u0275\u0275conditional(ctx.deviceTimeZone&&ctx.deviceTimeZone!==ctx.myTimeZone?21:-1),\u0275\u0275advance(3),\u0275\u0275property("autoApply",!0)("linkedCalendars",!0)("minDate",ctx.minISO)("maxDate",ctx.maxISO)("locale",ctx.locale)("startDate",ctx.selected.startDate)("endDate",ctx.selected.endDate||null),\u0275\u0275advance(),\u0275\u0275property("formGroup",ctx.form),\u0275\u0275advance(5),\u0275\u0275property("placeholder",\u0275\u0275interpolate(\u0275\u0275pipeBind1(31,31,"FROM__DATE"))),\u0275\u0275advance(2),\u0275\u0275conditional(ctx.form.controls.from.hasError("inverted")?32:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx.form.controls.from.hasError("maxDate")?33:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx.form.controls.from.hasError("minDate")?34:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx.form.controls.from.hasError("unitOutOfRange")?35:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx.form.controls.from.hasError("unparsable")?36:-1),\u0275\u0275advance(4),\u0275\u0275property("placeholder",\u0275\u0275interpolate(\u0275\u0275pipeBind1(41,33,"TO__DATE"))),\u0275\u0275advance(2),\u0275\u0275conditional(ctx.form.controls.to.hasError("inverted")?42:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx.form.controls.to.hasError("maxDate")?43:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx.form.controls.to.hasError("minDate")?44:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx.form.controls.to.hasError("unitOutOfRange")?45:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx.form.controls.to.hasError("unparsable")?46:-1),\u0275\u0275advance(2),\u0275\u0275conditional(ctx.showReset?48:-1),\u0275\u0275advance(5),\u0275\u0275property("disabled",ctx.form.invalid),\u0275\u0275advance(5),\u0275\u0275repeater(ctx.ranges))},dependencies:[FlexModule,DefaultLayoutDirective,DefaultLayoutGapDirective,DefaultLayoutAlignDirective,DefaultFlexDirective,MatButtonModule,MatButton,MatFormFieldModule,MatFormField,MatLabel,MatError,MatIconModule,MatIcon,MatInputModule,MatInput,MatListModule,MatActionList,MatListItem,MatMenuModule,MatMenu,MatMenuItem,MatMenuTrigger,MatToolbarModule,MatToolbar,NgxDaterangepickerMd,DaterangepickerComponent,ReactiveFormsModule,\u0275NgNoValidate,DefaultValueAccessor,NgControlStatus,NgControlStatusGroup,FormGroupDirective,FormControlName,TranslateModule,TranslateDirective,TranslatePipe],styles:['@keyframes _ngcontent-%COMP%_zoom-in{0%{transform:scale(.75);opacity:.9}to{transform:scale(1);opacity:1}}[_nghost-%COMP%]{min-width:754px;max-height:514px;background-color:var(--mat-sys-surface-container);animation:_ngcontent-%COMP%_zoom-in .14s cubic-bezier(0,0,.2,1) both;border-radius:4px;box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f;transform-origin:top right}[_nghost-%COMP%] .mat-toolbar[_ngcontent-%COMP%]{border-bottom:1px solid var(--mat-sys-outline-variant);--mat-toolbar-container-background-color: var(--mat-sys-surface-container);--mat-toolbar-title-text-size: 14px}[_nghost-%COMP%] .time-zone-select[_ngcontent-%COMP%]{padding:0 4px 0 8px;font-size:12px;color:color-mix(in srgb,transparent,var(--mat-sys-on-surface) 67%)}[_nghost-%COMP%] .time-zone-select[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]:first-child{height:20px;width:20px;margin-right:4px;font-size:20px}[_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker{margin-top:0;background-color:var(--mat-sys-surface-container);box-shadow:none;border-radius:0}[_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker .calendar-table{background-color:var(--mat-sys-surface-container);border-color:var(--mat-sys-surface-container)}[_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker td.available:hover, [_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker th.available:hover{background-color:var(--mat-sys-surface-container-highest)}[_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker td{transition-property:none;opacity:1}[_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker td.off{color:color-mix(in srgb,transparent,currentcolor 16%)}[_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker td.off.active:hover{background-color:#eee;border-radius:50%}[_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker td.off, [_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker td.off.in-range, [_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker td.off.start-date, [_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker td.off.end-date{background-color:var(--mat-sys-surface-container)}[_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker tbody tr td{height:32px}[_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker th.month{font-weight:500;color:color-mix(in srgb,transparent,currentcolor 77%)}[_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker th.next, [_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker th.prev{min-width:28px}[_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker td.available.prev, [_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker th.available.prev, [_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker td.available.next, [_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker th.available.next{background-image:none}[_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker td.available.prev:after, [_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker th.available.prev:after, [_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker td.available.next:after, [_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker th.available.next:after{content:"";display:block;height:2em;width:2em;background-color:var(--mat-sys-on-surface);background-image:none;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:.5em;mask-size:.5em;-webkit-mask-position:center;mask-position:center}[_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker td.available.prev:after, [_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker th.available.prev:after{-webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K);mask-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)}[_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker td.available.next:after, [_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker th.available.next:after{-webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K);mask-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)}[_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker tr.week-days th{font-size:11px;font-weight:400;color:color-mix(in srgb,transparent,currentcolor 38%)}[_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker td.in-range{background-color:color-mix(in srgb,transparent,var(--mat-sys-primary) 12%);color:color-mix(in srgb,transparent,currentcolor 87%)}[_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker td.today:not(.active,.in-range,.off){border:1px solid color-mix(in srgb,transparent,currentcolor 38%)}[_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker td.active:not(.off), [_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker td.active:not(.off):hover{background-color:var(--mat-sys-primary);color:var(--mat-sys-on-primary);border-radius:50%;opacity:1;transition-property:border-radius}[_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker td.active:not(.off).start-date:not(.end-date), [_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker td.active:not(.off):hover.start-date:not(.end-date){border-top-right-radius:0;border-bottom-right-radius:0}[_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker td.active:not(.off).end-date:not(.start-date), [_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker td.active:not(.off):hover.end-date:not(.start-date){border-top-left-radius:0;border-bottom-left-radius:0}[_nghost-%COMP%] .ranges[_ngcontent-%COMP%]{border-left:1px solid var(--mat-sys-outline-variant);height:449px;width:200px;overflow-y:auto}[_nghost-%COMP%] .ranges[_ngcontent-%COMP%] .mat-mdc-action-list[dense][_ngcontent-%COMP%]{padding:4px 0}[_nghost-%COMP%] .ranges[_ngcontent-%COMP%] .mat-mdc-action-list[dense][_ngcontent-%COMP%] .mat-mdc-list-item[_ngcontent-%COMP%]{padding-top:6px;padding-bottom:6px;--mat-list-list-item-one-line-container-height: auto;--mat-list-list-item-label-text-line-height: 14px;--mat-list-list-item-label-text-size: 12px}[_nghost-%COMP%] .ranges[_ngcontent-%COMP%] .mat-mdc-action-list[dense][_ngcontent-%COMP%] .mat-mdc-list-item[_ngcontent-%COMP%] .mdc-list-item__primary-text{white-space:normal}[_nghost-%COMP%] fieldset[_ngcontent-%COMP%]{margin:0;padding:0 16px;border:none}[_nghost-%COMP%] .actions[_ngcontent-%COMP%]{padding:12px 16px;gap:8px}[_nghost-%COMP%] .actions[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{gap:8px;margin-left:auto}']})}}return PeriodPanelComponent2})();var DEFAULT_CONNECTED_POSITIONS=[{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top",offsetX:0,offsetY:0}],PeriodPanelService=(()=>{class PeriodPanelService2{constructor(){this.injector=inject(Injector),this.overlay=inject(Overlay)}show(origin,data,positions){let overlayRef=this.createOverlay(origin,positions),instance=new PeriodPanelRef(overlayRef);return this.attachPanelContainer(overlayRef,instance,data,this.getTransformOrigin(positions)),instance}getTransformOrigin(positions){if(!positions)return;let positionOriginX=positions[0].originX,originX=positionOriginX==="start"?"left":positionOriginX==="end"?"right":"center",originY=positions[0].originY;return`${originX} ${originY}`}createOverlay(origin,positions){let overlayRef=this.overlay.create(this.getOverlayConfig(origin,positions));return overlayRef.backdropClick().subscribe(()=>overlayRef.dispose()),overlayRef}createInjector(panelRef,data){return Injector.create({providers:[{provide:PeriodPanelRef,useValue:panelRef},{provide:PERIOD_PANEL_DATA,useValue:data}],parent:this.injector})}attachPanelContainer(overlayRef,panelRef,data,transformOrigin){let injector=this.createInjector(panelRef,data),containerPortal=new ComponentPortal(PeriodPanelComponent,null,injector),containerRef=overlayRef.attach(containerPortal);if(transformOrigin){let panelElement=overlayRef.overlayElement.firstElementChild;panelElement.style.transformOrigin=transformOrigin}return containerRef.instance}getOverlayConfig(origin,positions){let positionStrategy=this.overlay.position().flexibleConnectedTo(origin).withPositions(positions||DEFAULT_CONNECTED_POSITIONS);return new OverlayConfig({hasBackdrop:!0,backdropClass:"overlay-transparent-backdrop",panelClass:"ix-period-panel-container",scrollStrategy:this.overlay.scrollStrategies.noop(),positionStrategy})}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||PeriodPanelService2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:PeriodPanelService2,factory:PeriodPanelService2.\u0275fac,providedIn:"root"})}}return PeriodPanelService2})();function PeriodControlsComponent_Conditional_0_Template(rf,ctx){if(rf&1){let _r1=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"button",2),\u0275\u0275pipe(1,"translate"),\u0275\u0275listener("click",function(){\u0275\u0275restoreView(_r1);let ctx_r1=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r1.handleZoomOutButtonClick())}),\u0275\u0275elementStart(2,"mat-icon"),\u0275\u0275text(3,"zoom_out"),\u0275\u0275elementEnd()()}rf&2&&\u0275\u0275property("matTooltip",\u0275\u0275pipeBind1(1,1,"ZOOM_OUT"))}var PeriodControlsComponent=(()=>{class PeriodControlsComponent3{get gtSm(){return this.bpObserver.isMatched("(min-width: 960px)")}constructor(bpObserver,bottomSheet,periodPanel,translate){this.bpObserver=bpObserver,this.bottomSheet=bottomSheet,this.periodPanel=periodPanel,this.translate=translate,this.periodSpecSelected=new EventEmitter,this.timeZoneSpecSelected=new EventEmitter}ngOnChanges(changes){changes.periodSpecs&&(this.periodButtonLabel=this.getPeriodButtonLabel(),this.zoomOutIsVisible=this.getZoomOutIsVisible())}handleZoomOutButtonClick(){this.zoomOut()}handlePeriodButtonClick(event2){return this.gtSm?this.openPeriodPanel(event2):this.openPeriodBottomSheet()}openPeriodBottomSheet(){this.periodSpecs&&this.bottomSheet.open(PeriodBottomSheetComponent,{data:{periodSpec:this.periodSpecs.active,default:this.periodSpecs.default}}).afterDismissed().subscribe(periodSpec=>{periodSpec&&(this.periodSpecs=__spreadProps(__spreadValues({},this.periodSpecs),{selected:periodSpec}),this.periodSpecSelected.emit(periodSpec))})}openPeriodPanel(event2){this.periodSpecs&&this.periodPanel.show(event2.currentTarget,{periodSpec:this.periodSpecs.active||null,default:this.periodSpecs.default,deviceTimeZone:this.deviceTimeZone,timeZoneSpec:this.timeZoneSpec,timeZoneSpecSelected:this.timeZoneSpecSelected}).afterClosed().subscribe(periodSpec=>{periodSpec&&(this.periodSpecs=__spreadProps(__spreadValues({},this.periodSpecs),{selected:periodSpec}),this.periodSpecSelected.emit(periodSpec))})}getPeriodButtonLabel(){return this.periodSpecs?.active?typeof this.periodSpecs.active=="string"?this.translate.instant(getTranslateKeyForPeriod(this.periodSpecs.active),getTranslateParamsForPeriod(this.periodSpecs.active)):toStringTimeRange(this.periodSpecs.active):""}getZoomOutIsVisible(){return this.periodSpecs?!isEqual_default(this.periodSpecs.active,this.periodSpecs.selected):!1}zoomOut(){this.periodSpecSelected.emit(this.periodSpecs.selected)}enterKeyDownHandler(event2){event2.target.blur()}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||PeriodControlsComponent3)(\u0275\u0275directiveInject(BreakpointObserver),\u0275\u0275directiveInject(MatBottomSheet),\u0275\u0275directiveInject(PeriodPanelService),\u0275\u0275directiveInject(TranslateService))}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:PeriodControlsComponent3,selectors:[["ix-period-controls"]],inputs:{deviceTimeZone:"deviceTimeZone",periodSpecs:"periodSpecs",timeZoneSpec:"timeZoneSpec",mobile:"mobile"},outputs:{periodSpecSelected:"periodSpecSelected",timeZoneSpecSelected:"timeZoneSpecSelected"},standalone:!1,features:[\u0275\u0275NgOnChangesFeature],decls:3,vars:2,consts:[["mat-stroked-button","",1,"zoom-out-button",3,"matTooltip"],["mat-stroked-button","",3,"keydown.enter","click"],["mat-stroked-button","",1,"zoom-out-button",3,"click","matTooltip"]],template:function(rf,ctx){rf&1&&(\u0275\u0275conditionalCreate(0,PeriodControlsComponent_Conditional_0_Template,4,3,"button",0),\u0275\u0275elementStart(1,"button",1),\u0275\u0275listener("keydown.enter",function($event){return ctx.enterKeyDownHandler($event)})("click",function($event){return ctx.handlePeriodButtonClick($event)}),\u0275\u0275text(2),\u0275\u0275elementEnd()),rf&2&&(\u0275\u0275conditional(ctx.zoomOutIsVisible?0:-1),\u0275\u0275advance(2),\u0275\u0275textInterpolate1(" ",ctx.periodButtonLabel,`
|
|
893
|
-
`))},dependencies:[MatButton,MatIcon,MatTooltip,TranslatePipe],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .zoom-out-button[_ngcontent-%COMP%]{min-width:0;padding:0 7px;margin-right:8px}[_nghost-%COMP%] .zoom-out-button[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{margin:0}"],changeDetection:0})}}return PeriodControlsComponent3})();var BackendComponentBrokerDirective=(()=>{class BackendComponentBrokerDirective3{constructor(){this.scopeRef=inject(ComponentGridScopeDirective,{optional:!0}),this.callerFactory=inject(BackendComponentCallerServiceFactory),this.facade=inject(BackendComponentBrokerFacade),this.clientProxy=inject(BackendComponentClientProxyService),this.destroyRef=inject(DestroyRef),this.myCompany$=this.facade.myCompany$,this.myUser$=this.facade.myUser$,this.agentOrAssetId$=new ReplaySubject(1)}set agentOrAssetId(agentOrAssetId){this.agentOrAssetId$.next(agentOrAssetId)}ngOnInit(){combineLatest([this.facade.findAgentAndAsset(this.agentOrAssetId$),this.facade.myCompany$,this.facade.myUser$]).pipe(filter(([,myCompany,myUser])=>!!myCompany&&!!myUser),takeUntilDestroyed(this.destroyRef)).subscribe(([[agent,asset],myCompany,myUser])=>{this.caller=this.callerFactory.create({agent,asset,myCompany,myUser})}),this.clientProxy.onCall(this.scopeRef?.value).pipe(mergeMap(call=>this.facade.resolveTemplateFromPageComponent(call.pageComponentId).pipe(first(),map(result=>({call:call.call,template:{publicId:result}})))),mergeMap(call=>this.caller?this.caller.call(call).pipe(map(result=>({result,call})),catchError(error3=>(this.clientProxy.emitError({call:call.call,data:error3},this.scopeRef?.value),EMPTY))):EMPTY),takeUntilDestroyed(this.destroyRef)).subscribe(({result,call})=>{this.clientProxy.emitResult({call:call.call,data:result.value},this.scopeRef?.value)})}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||BackendComponentBrokerDirective3)}}static{this.\u0275dir=\u0275\u0275defineDirective({type:BackendComponentBrokerDirective3,selectors:[["","ixBackendComponentBroker",""]],inputs:{agentOrAssetId:"agentOrAssetId"}})}}return BackendComponentBrokerDirective3})();var PagesModule=(()=>{class PagesModule2{static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||PagesModule2)}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:PagesModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({providers:[ComponentContextService],imports:[SharedModule,NgxDaterangepickerMd,ComponentGridModule,ComponentPropertiesModule,FileSaveModule,PeriodBottomSheetComponent,PeriodPanelComponent,ComponentGridModule,ComponentPropertiesModule]})}}return PagesModule2})();function mutationObservableFactory(target,options){return new Observable(subscriber=>{let observer=new MutationObserver(records=>{subscriber.next(records)});return observer.observe(target,options),function(){observer.disconnect()}})}var _c020=["*"],ButtonToggleComponent=(()=>{class ButtonToggleComponent3{constructor(){this.elRef=inject(ElementRef),this.disabled=!1,this.valueChange=new EventEmitter}getWidth(){return this.elRef.nativeElement.clientWidth??0}getOffset(){return this.elRef.nativeElement.offsetLeft??0}select(){this.selected=!0}unselect(){this.selected=!1}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||ButtonToggleComponent3)}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:ButtonToggleComponent3,selectors:[["ix-button-toggle"]],inputs:{value:"value",disabled:"disabled"},outputs:{valueChange:"valueChange"},ngContentSelectors:_c020,decls:2,vars:4,consts:[["role","tab","tabindex","0",1,"button",3,"click"]],template:function(rf,ctx){rf&1&&(\u0275\u0275projectionDef(),\u0275\u0275domElementStart(0,"div",0),\u0275\u0275domListener("click",function(){return ctx.valueChange.emit(ctx.value)}),\u0275\u0275projection(1),\u0275\u0275domElementEnd()),rf&2&&\u0275\u0275classProp("disabled",ctx.disabled)("selected",ctx.selected)},styles:["[_nghost-%COMP%] .button[_ngcontent-%COMP%]{display:flex;flex-direction:row;align-items:center;padding:0 12px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:normal;cursor:pointer;font-size:14px;max-width:100%;position:relative;height:34px;color:color-mix(in srgb,currentcolor 50%,transparent);transition:box-shadow .2s cubic-bezier(.4,1,.75,.9);-webkit-user-select:none;user-select:none}[_nghost-%COMP%] .button.selected[_ngcontent-%COMP%]{color:currentcolor;font-weight:500;z-index:1}[_nghost-%COMP%] .button.disabled[_ngcontent-%COMP%]{color:color-mix(in srgb,currentcolor 25%,transparent);pointer-events:none}[_nghost-%COMP%] .button[_ngcontent-%COMP%]:focus{outline:none;outline-offset:0;-moz-outline-radius:0}[_nghost-%COMP%]:hover [_ngcontent-%COMP%]:not(.selected,.disabled){border-bottom:none;color:color-mix(in srgb,currentcolor 75%,transparent);background-color:color-mix(in srgb,currentcolor 4%,transparent)!important;border-radius:12px;box-shadow:none!important;transition:all .2s cubic-bezier(.4,1,.75,.9)}"]})}}return ButtonToggleComponent3})();var _c021=["*"],ButtonToggleGroupComponent=(()=>{class ButtonToggleGroupComponent3{constructor(){this.cdRef=inject(ChangeDetectorRef),this.elRef=inject(ElementRef),this.destroy=inject(DestroyRef),this.ngZone=inject(NgZone),this.indicatorStyle=null,this._animate=!1,mutationObservableFactory(this.elRef.nativeElement,{childList:!0}).pipe(takeUntilDestroyed(this.destroy)).subscribe(()=>{this.animate(),this.cdRef.markForCheck()}),resizeObservableFactory(this.elRef.nativeElement).pipe(skip(1),takeUntilDestroyed(this.destroy)).subscribe(()=>{this.animate(),this.cdRef.markForCheck()})}ngOnChanges(changes){changes.value&&!changes.value.isFirstChange()&&this.animate()}animate(){this._active=this._buttons?.find(segment=>segment.value===this.value)??null,this._active?.select(),this._buttons?.filter(s2=>s2!==this._active).forEach(s2=>s2.unselect()),this.indicatorStyle=this._active?{width:`${this._active.getWidth()}px`,transform:`translateX(${this._active.getOffset()}px)`}:null,this._active&&!this._animate&&this.ngZone.runOutsideAngular(()=>{setTimeout(()=>{this._animate=!0,this.elRef.nativeElement.classList.add("animate")},0)})}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||ButtonToggleGroupComponent3)}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:ButtonToggleGroupComponent3,selectors:[["ix-button-toggle-group"]],contentQueries:function(rf,ctx,dirIndex){if(rf&1&&\u0275\u0275contentQuery(dirIndex,ButtonToggleComponent,4),rf&2){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx._buttons=_t)}},inputs:{value:"value"},features:[\u0275\u0275NgOnChangesFeature],ngContentSelectors:_c021,decls:3,vars:2,consts:[["role","tablist",1,"button-list"],[1,"active-indicator"]],template:function(rf,ctx){rf&1&&(\u0275\u0275projectionDef(),\u0275\u0275domElementStart(0,"div",0),\u0275\u0275domElement(1,"div",1),\u0275\u0275projection(2),\u0275\u0275domElementEnd()),rf&2&&(\u0275\u0275advance(),\u0275\u0275styleMap(ctx.indicatorStyle))},styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .button-list[_ngcontent-%COMP%]{align-items:flex-end;border:none;display:flex;flex:0 0 auto;list-style:none;margin:0;padding:0;position:relative;background-color:var(--button-toggle-bg, var(--mat-sys-background));color:var(--button-toggle-color, var(--mat-sys-on-background));box-shadow:0 0 0 1px color-mix(in srgb,transparent,var(--button-toggle-color, var(--mat-sys-on-background)) 24%);border-radius:12px}[_nghost-%COMP%] .button-list[_ngcontent-%COMP%] .active-indicator[_ngcontent-%COMP%]{left:0;pointer-events:none;position:absolute;top:0;transform:translate(0);transition:height,transform,width;transition-duration:0;transition-timing-function:cubic-bezier(.4,1,.75,.9);border-radius:12px;box-shadow:0 0 0 1px var(--button-toggle-color, var(--mat-sys-on-background)),inset 0 0 0 1px var(--button-toggle-color, var(--mat-sys-on-background));height:34px;background-color:var(--button-toggle-bg, var(--mat-sys-background));z-index:1}.animate[_nghost-%COMP%] .button-list[_ngcontent-%COMP%] .active-indicator[_ngcontent-%COMP%]{transition-duration:.2s}"],changeDetection:0})}}return ButtonToggleGroupComponent3})();var ButtonToggleModule=(()=>{class ButtonToggleModule2{static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||ButtonToggleModule2)}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:ButtonToggleModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({})}}return ButtonToggleModule2})();var ReloadOnValueChangeDirective=(()=>{class ReloadOnValueChangeDirective2{constructor(cdRef,templateRef,viewContainer){this.cdRef=cdRef,this.templateRef=templateRef,this.viewContainer=viewContainer,this.changes=new ReplaySubject,this.destroy=inject(DestroyRef)}ngOnInit(){this.viewContainer.createEmbeddedView(this.templateRef),this.changes.pipe(distinctUntilChanged(isEqual_default),takeUntilDestroyed(this.destroy)).subscribe(()=>{this.viewContainer.clear(),this.viewContainer.createEmbeddedView(this.templateRef),this.cdRef.markForCheck()})}ngOnChanges(changes){changes.value.isFirstChange()||this.changes.next(changes.value.currentValue)}ngOnDestroy(){this.changes.complete()}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||ReloadOnValueChangeDirective2)(\u0275\u0275directiveInject(ChangeDetectorRef),\u0275\u0275directiveInject(TemplateRef),\u0275\u0275directiveInject(ViewContainerRef))}}static{this.\u0275dir=\u0275\u0275defineDirective({type:ReloadOnValueChangeDirective2,selectors:[["","ixReloadOnValueChange",""]],inputs:{value:[0,"ixReloadOnValueChange","value"]},features:[\u0275\u0275NgOnChangesFeature]})}}return ReloadOnValueChangeDirective2})();function assetsToAssetTreeOptions(rootId,descendantAssets){let sortedDescendants=sortBy_default(descendantAssets,["order"]),assetDict=Object.fromEntries(sortedDescendants.map(a=>[a.publicId,a])),childrenMap=new Map;sortedDescendants.forEach(asset=>{let parentId=asset.parent?.publicId;parentId&&(childrenMap.has(parentId)||childrenMap.set(parentId,[]),childrenMap.get(parentId)?.push(asset))});let assetDepthMap=new Map(sortedDescendants.map(a=>[a.publicId,_getAssetDepth(a,assetDict)])),directSubAssets=childrenMap.get(rootId)||[];if(directSubAssets.length===0)return[];let flattenedTree=[];return directSubAssets.forEach(asset=>_buildAssetArray(asset,childrenMap,flattenedTree)),flattenedTree.map(a=>{let depth=assetDepthMap.get(a.publicId)??0;return{id:a.publicId,name:a.name??"",depth,match:null}})}function _buildAssetArray(asset,childrenMap,arr){arr.push(asset),(childrenMap.get(asset.publicId)||[]).forEach(child=>_buildAssetArray(child,childrenMap,arr))}function _getAssetDepth(asset,entities,depth=0){let parentId=asset.parent?.publicId;return parentId&&entities[parentId]?_getAssetDepth(entities[parentId],entities,depth+1):depth}var PreviewDeviceSelectFacade=(()=>{class PreviewDeviceSelectFacade2{constructor(){this.store=inject(Store),this.agentsDict$=this.store.select(selectEntities3),this.customPropsDict$=this.store.select(selectAll31).pipe(map(props2=>props2.reduce((dict,p)=>(p.resourceType==="Agent"||p.resourceType==="Asset")&&p.scopeType&&p.slug?__spreadProps(__spreadValues({},dict),{[`${p.resourceType}.custom.${p.scopeType}${p.slug}`]:p}):dict,{}))),this.groupsDict$=this.store.select(selectEntities9)}assetTreeByRootAssetPublicId(rootAssetPublicId){return rootAssetPublicId?this.store.select(selectAllLoadedForRoot(rootAssetPublicId)).pipe(filter(loaded=>loaded),switchMap(()=>this.store.select(selectAllForRoot(rootAssetPublicId))),map(assets=>assetsToAssetTreeOptions(rootAssetPublicId,assets.filter(asset=>!!asset.parent)))):of([])}getRootAssetIdBySubAssetId(subAssetId){return this.store.select(selectEntityWithFields4(subAssetId)(["root"])).pipe(map(asset=>asset?.root?.publicId??null))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||PreviewDeviceSelectFacade2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:PreviewDeviceSelectFacade2,factory:PreviewDeviceSelectFacade2.\u0275fac,providedIn:"root"})}}return PreviewDeviceSelectFacade2})();function geoLocationIsEmpty(geoLocation){return geoLocation===null||geoLocation.city==="-"&&geoLocation.country==="-"||geoLocation.latitude==="0.000000"&&geoLocation.longitude==="0.000000"}function mapGeoLocationToName(geoLocation){return geoLocationIsEmpty(geoLocation)?null:geoLocation?.city&&geoLocation?.country?`${geoLocation.city}, ${geoLocation.country}`:geoLocation?.country?geoLocation.country:null}function findAgentOrAssetMatch(a,query,customPropsDict,groupsDict,agentsDict,nullifyName=!0){let q=deburr_default(query.toLowerCase().trim());if((a.name?deburr_default(a.name.toLowerCase()):null)?.includes(q))return nullifyName?null:a.name;if(a.description?.toLowerCase().includes(q))return a.description;if("serialNumber"in a&&a.serialNumber?.toLowerCase().includes(q))return a.serialNumber;let location2="location"in a?a.location?.name||("geoLocation"in a&&a.geoLocation?mapGeoLocationToName(a.geoLocation):null):null;if(location2?.toLowerCase().includes(q))return location2;if(groupsDict){let groups=a.memberships?.map(m=>groupsDict[m.group?.publicId]).filter(g=>!!g?.type)??[],groupName=_findBestMatch(groups.map(g=>g.name),q);if(groupName)return groupName}if(customPropsDict){let resType="agent"in a?"Asset":"Agent",customValues=Object.keys(customPropsDict).filter(key=>key.startsWith(`${resType}.`)).map(key=>(a.custom??{})[key.replace(`${resType}.custom.`,"")]).filter(val=>!isNil_default(val)).map(String),customValue=_findBestMatch(customValues,q);if(customValue)return customValue}if(agentsDict&&"agent"in a&&a.agent?.publicId){let linkedAgent=agentsDict[a.agent.publicId];if(linkedAgent)return findAgentOrAssetMatch(linkedAgent,query,customPropsDict,groupsDict,void 0,!1)}}function _findBestMatch(values,q){return values.reduce((best,value)=>{if(!value)return best;let v=deburr_default(value.toLowerCase());if(!v.includes(q))return best;let matchRatio=q.length/v.length;return!best||matchRatio>best.matchRatio?{value,matchRatio}:best},void 0)?.value}var _c022=a0=>[a0],_forTrack08=($index,$item)=>$item.id;function PreviewDeviceSelectComponent_Conditional_10_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"mat-option",9),\u0275\u0275text(1),\u0275\u0275pipe(2,"translate"),\u0275\u0275elementEnd()),rf&2){let noneOpt_r3=ctx;\u0275\u0275property("value",noneOpt_r3.value),\u0275\u0275advance(),\u0275\u0275textInterpolate(noneOpt_r3.label??\u0275\u0275pipeBind1(2,2,"NONE"))}}function PreviewDeviceSelectComponent_For_12_Conditional_4_Template(rf,ctx){if(rf&1&&(\u0275\u0275element(0,"span",11),\u0275\u0275pipe(1,"highlightText")),rf&2){let option_r4=\u0275\u0275nextContext().$implicit,ctx_r4=\u0275\u0275nextContext();\u0275\u0275property("innerHTML",\u0275\u0275pipeBind2(1,1,option_r4.match,ctx_r4.query()),\u0275\u0275sanitizeHtml)}}function PreviewDeviceSelectComponent_For_12_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"mat-option",9)(1,"div"),\u0275\u0275element(2,"span",10),\u0275\u0275pipe(3,"highlightText"),\u0275\u0275conditionalCreate(4,PreviewDeviceSelectComponent_For_12_Conditional_4_Template,2,4,"span",11),\u0275\u0275elementEnd()()),rf&2){let option_r4=ctx.$implicit,ctx_r4=\u0275\u0275nextContext();\u0275\u0275property("value",option_r4.id),\u0275\u0275advance(2),\u0275\u0275property("innerHTML",\u0275\u0275pipeBind2(3,3,option_r4.name,ctx_r4.query()),\u0275\u0275sanitizeHtml),\u0275\u0275advance(2),\u0275\u0275conditional(option_r4.match?4:-1)}}function PreviewDeviceSelectComponent_Conditional_13_For_14_Conditional_4_Template(rf,ctx){if(rf&1&&(\u0275\u0275element(0,"span",11),\u0275\u0275pipe(1,"highlightText")),rf&2){let option_r8=\u0275\u0275nextContext().$implicit,ctx_r4=\u0275\u0275nextContext(2);\u0275\u0275property("innerHTML",\u0275\u0275pipeBind2(1,1,option_r8.match,ctx_r4.query()),\u0275\u0275sanitizeHtml)}}function PreviewDeviceSelectComponent_Conditional_13_For_14_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"mat-option",9)(1,"div"),\u0275\u0275element(2,"span",10),\u0275\u0275pipe(3,"highlightText"),\u0275\u0275conditionalCreate(4,PreviewDeviceSelectComponent_Conditional_13_For_14_Conditional_4_Template,2,4,"span",11),\u0275\u0275elementEnd()()),rf&2){let option_r8=ctx.$implicit,ctx_r4=\u0275\u0275nextContext(2);\u0275\u0275property("value",option_r8.id),\u0275\u0275advance(2),\u0275\u0275styleProp("padding-left",\u0275\u0275pureFunction1(8,_c022,8*option_r8.depth),"px"),\u0275\u0275property("innerHTML",\u0275\u0275pipeBind2(3,5,option_r8.name,ctx_r4.query()),\u0275\u0275sanitizeHtml),\u0275\u0275advance(2),\u0275\u0275conditional(option_r8.match?4:-1)}}function PreviewDeviceSelectComponent_Conditional_13_Template(rf,ctx){if(rf&1){let _r6=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"div")(1,"button",12),\u0275\u0275listener("click",function($event){\u0275\u0275restoreView(_r6);let subAssetSelect_r7=\u0275\u0275reference(4);return \u0275\u0275resetView(subAssetSelect_r7.onContainerClick($event))}),\u0275\u0275text(2),\u0275\u0275elementEnd(),\u0275\u0275elementStart(3,"mat-select",13,3),\u0275\u0275listener("closed",function(){\u0275\u0275restoreView(_r6);let ctx_r4=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r4.handleSubAssetSelectClosed())}),\u0275\u0275elementStart(5,"mat-option",7),\u0275\u0275element(6,"ngx-mat-select-search",8),\u0275\u0275pipe(7,"translate"),\u0275\u0275pipe(8,"translate"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(9,"mat-option",9)(10,"span",14),\u0275\u0275text(11,"NONE"),\u0275\u0275elementEnd()(),\u0275\u0275element(12,"mat-divider"),\u0275\u0275repeaterCreate(13,PreviewDeviceSelectComponent_Conditional_13_For_14_Template,5,10,"mat-option",9,_forTrack08),\u0275\u0275elementEnd()()}if(rf&2){let ctx_r4=\u0275\u0275nextContext(),subAssetDialogOptionTemplate_r9=\u0275\u0275reference(17);\u0275\u0275advance(2),\u0275\u0275textInterpolate1(" ",ctx_r4.subAssetSelectTriggerLabel()," "),\u0275\u0275advance(),\u0275\u0275property("formControl",ctx_r4.subAssetControl)("ixSelectDialogOptionTemplate",subAssetDialogOptionTemplate_r9)("ixSelectDialogSearchPredicate",ctx_r4.subAssetSearchPredicate),\u0275\u0275advance(3),\u0275\u0275property("formControl",ctx_r4.queryControl)("placeholderLabel",\u0275\u0275pipeBind1(7,8,"SEARCH"))("noEntriesFoundLabel",\u0275\u0275pipeBind1(8,10,"NO_RESULTS_FOUND")),\u0275\u0275advance(3),\u0275\u0275property("value",null),\u0275\u0275advance(4),\u0275\u0275repeater(ctx_r4.subAssetOptions())}}function PreviewDeviceSelectComponent_ng_template_14_Conditional_5_Template(rf,ctx){if(rf&1&&(\u0275\u0275element(0,"span",11),\u0275\u0275pipe(1,"highlightText")),rf&2){\u0275\u0275nextContext();let query_r10=\u0275\u0275readContextLet(2);\u0275\u0275property("innerHTML",\u0275\u0275pipeBind2(1,1,ctx,query_r10),\u0275\u0275sanitizeHtml)}}function PreviewDeviceSelectComponent_ng_template_14_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"div",15)(1,"div"),\u0275\u0275declareLet(2),\u0275\u0275element(3,"span",10),\u0275\u0275pipe(4,"highlightText"),\u0275\u0275conditionalCreate(5,PreviewDeviceSelectComponent_ng_template_14_Conditional_5_Template,2,4,"span",11),\u0275\u0275elementEnd()()),rf&2){let tmp_5_0,tmp_7_0,option_r11=ctx.$implicit,ctx_r4=\u0275\u0275nextContext();\u0275\u0275advance(2);let query_r12=\u0275\u0275storeLet(((tmp_5_0=ctx_r4.selectDialogTrigger())==null||tmp_5_0.searchQueryControl==null?null:tmp_5_0.searchQueryControl.value)??"");\u0275\u0275advance(),\u0275\u0275property("innerHTML",\u0275\u0275pipeBind2(4,3,option_r11.viewValue,query_r12),\u0275\u0275sanitizeHtml),\u0275\u0275advance(2),\u0275\u0275conditional((tmp_7_0=ctx_r4.findOptionMatch("device",option_r11,query_r12))?5:-1,tmp_7_0)}}function PreviewDeviceSelectComponent_ng_template_16_Conditional_5_Template(rf,ctx){if(rf&1&&(\u0275\u0275element(0,"span",11),\u0275\u0275pipe(1,"highlightText")),rf&2){\u0275\u0275nextContext();let query_r13=\u0275\u0275readContextLet(2);\u0275\u0275property("innerHTML",\u0275\u0275pipeBind2(1,1,ctx,query_r13),\u0275\u0275sanitizeHtml)}}function PreviewDeviceSelectComponent_ng_template_16_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"div",15)(1,"div"),\u0275\u0275declareLet(2),\u0275\u0275element(3,"span",10),\u0275\u0275pipe(4,"highlightText"),\u0275\u0275conditionalCreate(5,PreviewDeviceSelectComponent_ng_template_16_Conditional_5_Template,2,4,"span",11),\u0275\u0275elementEnd()()),rf&2){let tmp_5_0,tmp_7_0,option_r14=ctx.$implicit,ctx_r4=\u0275\u0275nextContext();\u0275\u0275advance(2);let query_r15=\u0275\u0275storeLet(((tmp_5_0=ctx_r4.selectDialogTrigger())==null||tmp_5_0.searchQueryControl==null?null:tmp_5_0.searchQueryControl.value)??"");\u0275\u0275advance(),\u0275\u0275property("innerHTML",\u0275\u0275pipeBind2(4,3,option_r14.viewValue,query_r15),\u0275\u0275sanitizeHtml),\u0275\u0275advance(2),\u0275\u0275conditional((tmp_7_0=ctx_r4.findOptionMatch("subAsset",option_r14,query_r15))?5:-1,tmp_7_0)}}var PreviewDeviceSelectComponent=(()=>{class PreviewDeviceSelectComponent2{constructor(){this.agentAndRootAssets=input.required(),this.value=input(null),this.noneOption=input(),this.hideSubAssets=input(!1,{transform:booleanAttribute}),this.selectionChange=output(),this.facade=inject(PreviewDeviceSelectFacade),this.translateService=inject(TranslateService),this.selectDialogTrigger=viewChild(SelectDialogTriggerDirective),this.deviceControl=new FormControl(null),this.subAssetControl=new FormControl(null),this.queryControl=new FormControl("",{nonNullable:!0}),this.query=toSignal(this.queryControl.valueChanges,{initialValue:""}),this.agentsDict=toSignal(this.facade.agentsDict$,{requireSync:!0}),this.customPropsDict=toSignal(this.facade.customPropsDict$,{requireSync:!0}),this.groupsDict=toSignal(this.facade.groupsDict$,{requireSync:!0}),this.selectedDevicePublicId=toSignal(this.deviceControl.valueChanges.pipe(tap(()=>this.subAssetControl.setValue(null))),{initialValue:null}),this.selectedSubAssetPublicId=toSignal(this.subAssetControl.valueChanges,{initialValue:null}),this.selectedDeviceIsAsset=computed(()=>{let selectedId=this.selectedDevicePublicId();return selectedId?!(selectedId in this.agentsDict()):!1}),this.deviceOptions=computed(()=>this._getDeviceOptionsByQuery(this.query())),this.subAssetParams=computed(()=>({deviceId:this.selectedDeviceIsAsset()?this.selectedDevicePublicId():null})),this.subAssetOptionsResource=resource({params:this.subAssetParams,loader:({params})=>firstValueFrom(this.facade.assetTreeByRootAssetPublicId(params.deviceId))}),this.subAssetOptions=computed(()=>this._getSubAssetOptionsByQuery(this.query())),this.previewDeviceSelectTriggerLabel=computed(()=>{let publicId=this.selectedDevicePublicId(),emptyLabel=this.translateService.instant("SELECT_DEVICE_FOR_PREVIEW");return publicId?this.agentAndRootAssets().find(opt=>opt.publicId===publicId)?.name??emptyLabel:emptyLabel}),this.subAssetSelectTriggerLabel=computed(()=>{let publicId=this.selectedSubAssetPublicId(),emptyLabel=this.translateService.instant("SELECT_A_SUB_ASSET"),options=this.subAssetOptions();return publicId&&options?options.find(opt=>opt.id===publicId)?.name??emptyLabel:emptyLabel}),this.deviceSearchPredicate=this._optionSearchPredicate.bind(this,"device"),this.subAssetSearchPredicate=this._optionSearchPredicate.bind(this,"subAsset"),effect(()=>__async(this,null,function*(){let initialValue=this.value();if(!initialValue){this.deviceControl.setValue(null),this.subAssetControl.setValue(null);return}if(!this.hideSubAssets()&&!this.agentAndRootAssets().some(a=>a.publicId===initialValue)&&initialValue){let rootAssetId=yield firstValueFrom(this.facade.getRootAssetIdBySubAssetId(initialValue));this.deviceControl.setValue(rootAssetId,{emitModelToViewChange:!0,emitViewToModelChange:!1}),this.subAssetControl.setValue(initialValue,{emitModelToViewChange:!0,emitViewToModelChange:!1});return}this.deviceControl.setValue(initialValue,{emitModelToViewChange:!0,emitViewToModelChange:!1})}))}findOptionMatch(type,option,query){return query?(type==="device"?this._getDeviceOptionsByQuery(query):this._getSubAssetOptionsByQuery(query)).find(opt=>opt.id===option.value)?.match:void 0}handlePreviewDeviceSelectClosed(){return __async(this,null,function*(){let publicId=this.selectedDevicePublicId(),selectedSubAssetPublicId=this.selectedSubAssetPublicId();if(selectedSubAssetPublicId){let rootAssetPublicId=yield firstValueFrom(this.facade.getRootAssetIdBySubAssetId(selectedSubAssetPublicId));if(publicId===rootAssetPublicId)return}publicId&&this.selectionChange.emit(publicId)})}handleSubAssetSelectClosed(){let publicId=this.selectedSubAssetPublicId();if(publicId){this.selectionChange.emit(publicId);return}this.handlePreviewDeviceSelectClosed()}_getDeviceOptionsByQuery(query){let agentAndRootAssets=this.agentAndRootAssets();if(query){let agentsDict=this.agentsDict(),customPropsDict=this.customPropsDict(),groupsDict=this.groupsDict();return agentAndRootAssets.reduce((options,a)=>{let match3=findAgentOrAssetMatch(a,query,customPropsDict,groupsDict,agentsDict);return match3!==void 0?[...options,{id:a.publicId,name:a.name,match:match3}]:options},[])}return this.agentAndRootAssets().map(a=>({id:a.publicId,name:a.name,match:null}))}_getSubAssetOptionsByQuery(query){if(this.hideSubAssets())return[];let options=this.subAssetOptionsResource.value();if(!options)return[];if(options&&query){let agentsDict=this.agentsDict(),customPropsDict=this.customPropsDict(),groupsDict=this.groupsDict();return options.filter(opt=>findAgentOrAssetMatch({publicId:opt.id,name:opt.name},query,customPropsDict,groupsDict,agentsDict)!==void 0)}return options}_optionSearchPredicate(type,option,query){return query?(type==="device"?this._getDeviceOptionsByQuery(query):this._getSubAssetOptionsByQuery(query)).some(opt=>opt.id===option.value):!0}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||PreviewDeviceSelectComponent2)}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:PreviewDeviceSelectComponent2,selectors:[["ix-preview-device-select"]],viewQuery:function(rf,ctx){rf&1&&\u0275\u0275viewQuerySignal(ctx.selectDialogTrigger,SelectDialogTriggerDirective,5),rf&2&&\u0275\u0275queryAdvance()},inputs:{agentAndRootAssets:[1,"agentAndRootAssets"],value:[1,"value"],noneOption:[1,"noneOption"],hideSubAssets:[1,"hideSubAssets"]},outputs:{selectionChange:"selectionChange"},decls:18,vars:13,consts:[["previewDeviceSelect",""],["deviceDialogOptionTemplate",""],["subAssetDialogOptionTemplate",""],["subAssetSelect",""],[1,"button-group"],["matButton","outlined","data-testid","preview-device-select-button",3,"click"],["data-testid","preview-device-select","disableOptionCentering","","panelClass","preview-device-select-button-panel","name","device","ixSelectDialogTrigger","",3,"closed","formControl","ixSelectDialogOptionTemplate","ixSelectDialogSearchPredicate"],[1,"search-option"],[3,"formControl","placeholderLabel","noEntriesFoundLabel"],[3,"value"],[3,"innerHTML"],[1,"match",3,"innerHTML"],["matButton","outlined","data-testid","sub-asset-select-button",3,"click"],["data-testid","sub-asset-select","disableOptionCentering","","panelClass","preview-device-select-button-panel","name","subAsset","ixSelectDialogTrigger","",3,"closed","formControl","ixSelectDialogOptionTemplate","ixSelectDialogSearchPredicate"],["translate",""],[1,"ix-preview-device-dialog-option-template"]],template:function(rf,ctx){if(rf&1){let _r1=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"div",4)(1,"div")(2,"button",5),\u0275\u0275listener("click",function($event){\u0275\u0275restoreView(_r1);let previewDeviceSelect_r2=\u0275\u0275reference(5);return \u0275\u0275resetView(previewDeviceSelect_r2.onContainerClick($event))}),\u0275\u0275text(3),\u0275\u0275elementEnd(),\u0275\u0275elementStart(4,"mat-select",6,0),\u0275\u0275listener("closed",function(){return ctx.handlePreviewDeviceSelectClosed()}),\u0275\u0275elementStart(6,"mat-option",7),\u0275\u0275element(7,"ngx-mat-select-search",8),\u0275\u0275pipe(8,"translate"),\u0275\u0275pipe(9,"translate"),\u0275\u0275elementEnd(),\u0275\u0275conditionalCreate(10,PreviewDeviceSelectComponent_Conditional_10_Template,3,4,"mat-option",9),\u0275\u0275repeaterCreate(11,PreviewDeviceSelectComponent_For_12_Template,5,6,"mat-option",9,_forTrack08),\u0275\u0275elementEnd()(),\u0275\u0275conditionalCreate(13,PreviewDeviceSelectComponent_Conditional_13_Template,15,12,"div"),\u0275\u0275elementEnd(),\u0275\u0275template(14,PreviewDeviceSelectComponent_ng_template_14_Template,6,6,"ng-template",null,1,\u0275\u0275templateRefExtractor)(16,PreviewDeviceSelectComponent_ng_template_16_Template,6,6,"ng-template",null,2,\u0275\u0275templateRefExtractor)}if(rf&2){let tmp_10_0,deviceDialogOptionTemplate_r16=\u0275\u0275reference(15);\u0275\u0275advance(3),\u0275\u0275textInterpolate1(" ",ctx.previewDeviceSelectTriggerLabel()," "),\u0275\u0275advance(),\u0275\u0275property("formControl",ctx.deviceControl)("ixSelectDialogOptionTemplate",deviceDialogOptionTemplate_r16)("ixSelectDialogSearchPredicate",ctx.deviceSearchPredicate),\u0275\u0275advance(3),\u0275\u0275property("formControl",ctx.queryControl)("placeholderLabel",\u0275\u0275pipeBind1(8,9,"SEARCH"))("noEntriesFoundLabel",\u0275\u0275pipeBind1(9,11,"NO_RESULTS_FOUND")),\u0275\u0275advance(3),\u0275\u0275conditional((tmp_10_0=ctx.noneOption())?10:-1,tmp_10_0),\u0275\u0275advance(),\u0275\u0275repeater(ctx.deviceOptions()),\u0275\u0275advance(2),\u0275\u0275conditional(!ctx.hideSubAssets()&&ctx.selectedDeviceIsAsset()&&ctx.subAssetOptions().length>0?13:-1)}},dependencies:[ReactiveFormsModule,NgControlStatus,FormControlDirective,MatButtonModule,MatButton,MatDividerModule,MatDivider,MatSelectModule,MatSelect,MatOption,NgxMatSelectSearchModule,MatSelectSearchComponent,TranslateModule,TranslateDirective,SelectDialogTriggerDirective,TranslatePipe,HighlightTextPipe],styles:['[_nghost-%COMP%]{display:flex;flex-direction:column;position:relative}[_nghost-%COMP%] .button-group[_ngcontent-%COMP%]{display:flex;padding-right:8px}[_nghost-%COMP%] .button-group[_ngcontent-%COMP%] div[_ngcontent-%COMP%]:first-child:not(:last-child) > .mdc-button[_ngcontent-%COMP%]{padding-left:12px;border-top-right-radius:0;border-bottom-right-radius:0}[_nghost-%COMP%] .button-group[_ngcontent-%COMP%] div[_ngcontent-%COMP%]:not(:first-child) > .mdc-button[_ngcontent-%COMP%]{border-left:0}[_nghost-%COMP%] .button-group[_ngcontent-%COMP%] div[_ngcontent-%COMP%]:last-child:not(:first-child) > .mdc-button[_ngcontent-%COMP%]{border-top-left-radius:0;border-bottom-left-radius:0}[_nghost-%COMP%] .mat-mdc-button-base[_ngcontent-%COMP%]{display:block;padding-left:8px!important;padding-right:24px!important;position:relative}[_nghost-%COMP%] .mat-mdc-button-base[_ngcontent-%COMP%] .mdc-button__label{display:block;overflow-x:hidden;text-overflow:ellipsis}[_nghost-%COMP%] .mat-mdc-button-base[_ngcontent-%COMP%] .mdc-button__label:after{content:"";position:absolute;top:50%;right:8px;margin-top:-2px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid currentcolor}[_nghost-%COMP%] .mat-mdc-select[_ngcontent-%COMP%]{position:absolute;opacity:0;pointer-events:none;top:12px;left:0;font-size:14px}@media(min-width:960px){ .mat-mdc-select-panel.preview-device-select-button-panel{min-width:400px!important;max-width:500px!important}} .mat-mdc-select-panel.preview-device-select-button-panel .mat-mdc-option[role=option]{min-height:32px;padding-top:4px;padding-bottom:4px} .mat-mdc-select-panel.preview-device-select-button-panel .mat-mdc-option div, .ix-preview-device-dialog-option-template div{display:flex;flex-direction:column} .mat-mdc-select-panel.preview-device-select-button-panel .mat-mdc-option span:has(+.match), .ix-preview-device-dialog-option-template span:has(+.match){margin-top:6px;margin-bottom:-2px} .mat-mdc-select-panel.preview-device-select-button-panel .mat-mdc-option .match, .ix-preview-device-dialog-option-template .match{font-size:12px;line-height:14px;margin-bottom:8px;text-wrap:auto}'],changeDetection:0})}}return PreviewDeviceSelectComponent2})();var _c023=()=>[],_c110=()=>({value:"none"});function BuilderComponent_Conditional_0_Conditional_4_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"span"),\u0275\u0275text(1),\u0275\u0275elementEnd()),rf&2){let ctx_r1=\u0275\u0275nextContext(2);\u0275\u0275advance(),\u0275\u0275textInterpolate1(" - ",ctx_r1.componentName)}}function BuilderComponent_Conditional_0_Conditional_14_Template(rf,ctx){if(rf&1){let _r3=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"ix-button-toggle-group",22),\u0275\u0275listener("mousedown",function($event){return $event.stopPropagation()}),\u0275\u0275elementStart(1,"ix-button-toggle",23),\u0275\u0275pipe(2,"translate"),\u0275\u0275listener("valueChange",function($event){\u0275\u0275restoreView(_r3);let ctx_r1=\u0275\u0275nextContext(2);return \u0275\u0275resetView(ctx_r1.setPreviewMode($event))}),\u0275\u0275elementStart(3,"mat-icon"),\u0275\u0275text(4,"desktop_windows"),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(5,"ix-button-toggle",24),\u0275\u0275pipe(6,"translate"),\u0275\u0275listener("valueChange",function($event){\u0275\u0275restoreView(_r3);let ctx_r1=\u0275\u0275nextContext(2);return \u0275\u0275resetView(ctx_r1.setPreviewMode($event))}),\u0275\u0275elementStart(7,"mat-icon"),\u0275\u0275text(8,"smartphone"),\u0275\u0275elementEnd()()()}if(rf&2){let ctx_r1=\u0275\u0275nextContext(2);\u0275\u0275property("value",ctx_r1.previewMode),\u0275\u0275advance(),\u0275\u0275property("matTooltip",\u0275\u0275pipeBind1(2,3,"DESKTOP_VIEW")),\u0275\u0275advance(4),\u0275\u0275property("matTooltip",\u0275\u0275pipeBind1(6,5,"MOBILE_VIEW"))}}function BuilderComponent_Conditional_0_Conditional_15_Template(rf,ctx){if(rf&1){let _r4=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"ix-button-toggle-group",25),\u0275\u0275listener("mousedown",function($event){return $event.stopPropagation()}),\u0275\u0275elementStart(1,"ix-button-toggle",26),\u0275\u0275pipe(2,"translate"),\u0275\u0275listener("valueChange",function($event){\u0275\u0275restoreView(_r4);let ctx_r1=\u0275\u0275nextContext(2);return \u0275\u0275resetView(ctx_r1.setOrientation($event))}),\u0275\u0275elementStart(3,"mat-icon"),\u0275\u0275text(4,"crop_portrait"),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(5,"ix-button-toggle",27),\u0275\u0275pipe(6,"translate"),\u0275\u0275listener("valueChange",function($event){\u0275\u0275restoreView(_r4);let ctx_r1=\u0275\u0275nextContext(2);return \u0275\u0275resetView(ctx_r1.setOrientation($event))}),\u0275\u0275elementStart(7,"mat-icon"),\u0275\u0275text(8,"crop_landscape"),\u0275\u0275elementEnd()()()}if(rf&2){let ctx_r1=\u0275\u0275nextContext(2);\u0275\u0275property("value",ctx_r1.orientation),\u0275\u0275advance(),\u0275\u0275property("matTooltip",\u0275\u0275pipeBind1(2,3,"PORTRAIT_ORIENTATION")),\u0275\u0275advance(4),\u0275\u0275property("matTooltip",\u0275\u0275pipeBind1(6,5,"LANDSCAPE_ORIENTATION"))}}function BuilderComponent_Conditional_0_Conditional_16_Template(rf,ctx){if(rf&1){let _r5=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"button",28),\u0275\u0275listener("click",function(){\u0275\u0275restoreView(_r5);let ctx_r1=\u0275\u0275nextContext(2);return \u0275\u0275resetView(ctx_r1.toggleMode())})("mousedown",function($event){return $event.stopPropagation()}),\u0275\u0275elementStart(1,"mat-icon"),\u0275\u0275text(2),\u0275\u0275elementEnd(),\u0275\u0275elementStart(3,"span"),\u0275\u0275text(4),\u0275\u0275pipe(5,"translate"),\u0275\u0275elementEnd()()}if(rf&2){let ctx_r1=\u0275\u0275nextContext(2);\u0275\u0275advance(2),\u0275\u0275textInterpolate(ctx_r1.mode==="preview"?"edit":"visibility"),\u0275\u0275advance(2),\u0275\u0275textInterpolate(\u0275\u0275pipeBind1(5,2,ctx_r1.mode==="preview"?"EDIT":"PREVIEW"))}}function BuilderComponent_Conditional_0_Conditional_36_Conditional_0_Template(rf,ctx){if(rf&1){let _r6=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"mat-toolbar")(1,"h1"),\u0275\u0275text(2),\u0275\u0275elementEnd(),\u0275\u0275element(3,"span",3),\u0275\u0275elementStart(4,"button",30),\u0275\u0275listener("click",function(){\u0275\u0275restoreView(_r6);let ctx_r1=\u0275\u0275nextContext(3);return \u0275\u0275resetView(ctx_r1.toggleDrawerLock())}),\u0275\u0275elementStart(5,"mat-icon"),\u0275\u0275text(6,"keyboard_arrow_right"),\u0275\u0275elementEnd()()()}if(rf&2){let ctx_r1=\u0275\u0275nextContext(3);\u0275\u0275advance(2),\u0275\u0275textInterpolate(ctx_r1.selectedComponentTemplate==null?null:ctx_r1.selectedComponentTemplate.name)}}function BuilderComponent_Conditional_0_Conditional_36_Conditional_2_Template(rf,ctx){if(rf&1){let _r7=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"ix-page-component-properties",31),\u0275\u0275listener("update",function($event){\u0275\u0275restoreView(_r7);let ctx_r1=\u0275\u0275nextContext(3);return \u0275\u0275resetView(ctx_r1.updateComponent($event))}),\u0275\u0275elementEnd()}if(rf&2){let ctx_r1=\u0275\u0275nextContext(3);\u0275\u0275property("component",ctx_r1.selectedComponent)("template",ctx_r1.selectedComponentTemplate)}}function BuilderComponent_Conditional_0_Conditional_36_Template(rf,ctx){if(rf&1&&(\u0275\u0275conditionalCreate(0,BuilderComponent_Conditional_0_Conditional_36_Conditional_0_Template,7,1,"mat-toolbar"),\u0275\u0275elementStart(1,"div",17),\u0275\u0275conditionalCreate(2,BuilderComponent_Conditional_0_Conditional_36_Conditional_2_Template,1,2,"ix-page-component-properties",29),\u0275\u0275elementEnd()),rf&2){let ctx_r1=\u0275\u0275nextContext(2);\u0275\u0275conditional(ctx_r1.selectedComponentTemplate!=null&&ctx_r1.selectedComponentTemplate.name?0:-1),\u0275\u0275advance(2),\u0275\u0275conditional(ctx_r1.selectedComponent?2:-1)}}function BuilderComponent_Conditional_0_Conditional_37_Template(rf,ctx){if(rf&1){let _r8=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"button",30),\u0275\u0275listener("click",function(){\u0275\u0275restoreView(_r8);let ctx_r1=\u0275\u0275nextContext(2);return \u0275\u0275resetView(ctx_r1.toggleDrawerLock())}),\u0275\u0275elementStart(1,"mat-icon"),\u0275\u0275text(2,"keyboard_arrow_left"),\u0275\u0275elementEnd()()}}function BuilderComponent_Conditional_0_Case_39_Conditional_0_Conditional_1_Template(rf,ctx){if(rf&1){let _r9=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"ix-component-grid",38),\u0275\u0275listener("selectionChange",function($event){\u0275\u0275restoreView(_r9);let ctx_r1=\u0275\u0275nextContext(4);return \u0275\u0275resetView(ctx_r1.handleSelectionChange($event))})("componentChanges",function($event){\u0275\u0275restoreView(_r9);let ctx_r1=\u0275\u0275nextContext(4);return \u0275\u0275resetView(ctx_r1.handleComponentChanges($event))})("movingGridItem",function($event){\u0275\u0275restoreView(_r9);let ctx_r1=\u0275\u0275nextContext(4);return \u0275\u0275resetView(ctx_r1.setDrawerIsOpen($event))}),\u0275\u0275elementEnd()}if(rf&2){let pageVersion_r10=\u0275\u0275nextContext(3),ctx_r1=\u0275\u0275nextContext();\u0275\u0275classProp("desktop",ctx_r1.previewMode!=="mobile")("mobile",ctx_r1.previewMode==="mobile"),\u0275\u0275property("ixComponentGridScope",ctx_r1.gridScope)("agentOrAssetId",(pageVersion_r10.previewAgent==null?null:pageVersion_r10.previewAgent.publicId)||(pageVersion_r10.previewAsset==null?null:pageVersion_r10.previewAsset.publicId)||null)("mobile",ctx_r1.previewMode==="mobile")("pageId",ctx_r1.pageId)("pageVersionId",pageVersion_r10.publicId)("selectedComponentId",(ctx_r1.selectedComponent==null?null:ctx_r1.selectedComponent.publicId)||null)}}function BuilderComponent_Conditional_0_Case_39_Conditional_0_Conditional_2_Template(rf,ctx){if(rf&1){let _r11=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"ix-card-component-grid",39),\u0275\u0275listener("componentResize",function($event){\u0275\u0275restoreView(_r11);let ctx_r1=\u0275\u0275nextContext(4);return \u0275\u0275resetView(ctx_r1.updateComponentSize($event))})("selectionChange",function($event){\u0275\u0275restoreView(_r11);let ctx_r1=\u0275\u0275nextContext(4);return \u0275\u0275resetView(ctx_r1.handleSelectionChange($event))}),\u0275\u0275elementEnd()}if(rf&2){let pageVersion_r10=\u0275\u0275nextContext(3),ctx_r1=\u0275\u0275nextContext();\u0275\u0275property("ixComponentGridScope",ctx_r1.gridScope)("agentOrAssetId",(ctx_r1.previewAgentOrAsset==null?null:ctx_r1.previewAgentOrAsset.publicId)??null)("pageId",ctx_r1.pageId)("pageVersionId",pageVersion_r10.publicId)("selectedComponentId",(ctx_r1.selectedComponent==null?null:ctx_r1.selectedComponent.publicId)??null)}}function BuilderComponent_Conditional_0_Case_39_Conditional_0_Conditional_3_ix_component_grid_0_Template(rf,ctx){if(rf&1){let _r12=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"ix-component-grid",41),\u0275\u0275listener("selectionChange",function($event){\u0275\u0275restoreView(_r12);let ctx_r1=\u0275\u0275nextContext(5);return \u0275\u0275resetView(ctx_r1.handleSelectionChange($event))})("componentChanges",function($event){\u0275\u0275restoreView(_r12);let ctx_r1=\u0275\u0275nextContext(5);return \u0275\u0275resetView(ctx_r1.handleComponentChanges($event))})("movingGridItem",function($event){\u0275\u0275restoreView(_r12);let ctx_r1=\u0275\u0275nextContext(5);return \u0275\u0275resetView(ctx_r1.setDrawerIsOpen($event))}),\u0275\u0275elementEnd()}if(rf&2){let pageVersion_r10=\u0275\u0275nextContext(4),ctx_r1=\u0275\u0275nextContext();\u0275\u0275classMap(ctx_r1.orientation),\u0275\u0275property("ixComponentGridScope",ctx_r1.gridScope)("agentOrAssetId",(pageVersion_r10.previewAgent==null?null:pageVersion_r10.previewAgent.publicId)||(pageVersion_r10.previewAsset==null?null:pageVersion_r10.previewAsset.publicId)||null)("pageId",ctx_r1.pageId)("pageVersionId",pageVersion_r10.publicId)("selectedComponentId",(ctx_r1.selectedComponent==null?null:ctx_r1.selectedComponent.publicId)??null)("orientation",ctx_r1.orientation)("mobile",!1)}}function BuilderComponent_Conditional_0_Case_39_Conditional_0_Conditional_3_Template(rf,ctx){if(rf&1&&\u0275\u0275template(0,BuilderComponent_Conditional_0_Case_39_Conditional_0_Conditional_3_ix_component_grid_0_Template,1,9,"ix-component-grid",40),rf&2){let ctx_r1=\u0275\u0275nextContext(4);\u0275\u0275property("ixReloadOnValueChange",ctx_r1.orientation)}}function BuilderComponent_Conditional_0_Case_39_Conditional_0_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"div",34),\u0275\u0275conditionalCreate(1,BuilderComponent_Conditional_0_Case_39_Conditional_0_Conditional_1_Template,1,10,"ix-component-grid",35),\u0275\u0275conditionalCreate(2,BuilderComponent_Conditional_0_Case_39_Conditional_0_Conditional_2_Template,1,5,"ix-card-component-grid",36),\u0275\u0275conditionalCreate(3,BuilderComponent_Conditional_0_Case_39_Conditional_0_Conditional_3_Template,1,1,"ix-component-grid",37),\u0275\u0275elementEnd()),rf&2){let ctx_r1=\u0275\u0275nextContext(3);\u0275\u0275classMap(ctx_r1.gridClasses),\u0275\u0275advance(),\u0275\u0275conditional(ctx_r1.applicationType==="sheet"?1:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx_r1.applicationType==="card"?2:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx_r1.applicationType==="report"?3:-1)}}function BuilderComponent_Conditional_0_Case_39_Conditional_1_Conditional_1_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"div",43),\u0275\u0275element(1,"ix-simple-component-grid",45),\u0275\u0275elementEnd()),rf&2){let pageVersion_r10=\u0275\u0275nextContext(3),ctx_r1=\u0275\u0275nextContext();\u0275\u0275advance(),\u0275\u0275classMap(ctx_r1.previewMode),\u0275\u0275property("ixComponentGridScope",ctx_r1.gridScope)("agentOrAssetId",(pageVersion_r10.previewAgent==null?null:pageVersion_r10.previewAgent.publicId)||(pageVersion_r10.previewAsset==null?null:pageVersion_r10.previewAsset.publicId)||null)("mobile",ctx_r1.previewMode==="mobile")("pageId",ctx_r1.pageId)("pageVersionId",pageVersion_r10.publicId)}}function BuilderComponent_Conditional_0_Case_39_Conditional_1_Conditional_2_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"div",44),\u0275\u0275element(1,"ix-simple-card-component-grid",46),\u0275\u0275elementEnd()),rf&2){let pageVersion_r10=\u0275\u0275nextContext(3),ctx_r1=\u0275\u0275nextContext();\u0275\u0275advance(),\u0275\u0275property("ixComponentGridScope",ctx_r1.gridScope)("agentOrAssetId",(pageVersion_r10.previewAgent==null?null:pageVersion_r10.previewAgent.publicId)||(pageVersion_r10.previewAsset==null?null:pageVersion_r10.previewAsset.publicId)||null)("pageId",ctx_r1.pageId)("pageVersionId",pageVersion_r10.publicId)}}function BuilderComponent_Conditional_0_Case_39_Conditional_1_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"div",42),\u0275\u0275conditionalCreate(1,BuilderComponent_Conditional_0_Case_39_Conditional_1_Conditional_1_Template,2,7,"div",43),\u0275\u0275conditionalCreate(2,BuilderComponent_Conditional_0_Case_39_Conditional_1_Conditional_2_Template,2,4,"div",44),\u0275\u0275elementEnd()),rf&2){let ctx_r1=\u0275\u0275nextContext(3);\u0275\u0275classMap(ctx_r1.applicationType),\u0275\u0275advance(),\u0275\u0275conditional(ctx_r1.applicationType==="sheet"?1:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx_r1.applicationType==="card"?2:-1)}}function BuilderComponent_Conditional_0_Case_39_Template(rf,ctx){if(rf&1&&\u0275\u0275conditionalCreate(0,BuilderComponent_Conditional_0_Case_39_Conditional_0_Template,4,5,"div",32)(1,BuilderComponent_Conditional_0_Case_39_Conditional_1_Template,3,4,"div",33),rf&2){let ctx_r1=\u0275\u0275nextContext(2);\u0275\u0275conditional(ctx_r1.mode==="edit"?0:1)}}function BuilderComponent_Conditional_0_Case_40_Template(rf,ctx){if(rf&1&&\u0275\u0275elementContainer(0,21),rf&2){\u0275\u0275nextContext();let standaloneContent_r13=\u0275\u0275reference(42);\u0275\u0275property("ngTemplateOutlet",standaloneContent_r13)}}function BuilderComponent_Conditional_0_ng_template_41_Conditional_0_ix_component_loader_2_Template(rf,ctx){if(rf&1&&\u0275\u0275element(0,"ix-component-loader",50),rf&2){let component_r15=\u0275\u0275nextContext();\u0275\u0275property("component",component_r15)}}function BuilderComponent_Conditional_0_ng_template_41_Conditional_0_Template(rf,ctx){if(rf&1){let _r14=\u0275\u0275getCurrentView();\u0275\u0275elementContainerStart(0,47),\u0275\u0275elementStart(1,"div",48),\u0275\u0275listener("click",function(){let component_r15=\u0275\u0275restoreView(_r14),ctx_r1=\u0275\u0275nextContext(3);return \u0275\u0275resetView(ctx_r1.handleSelectionChange(component_r15.publicId))}),\u0275\u0275template(2,BuilderComponent_Conditional_0_ng_template_41_Conditional_0_ix_component_loader_2_Template,1,1,"ix-component-loader",49),\u0275\u0275elementEnd(),\u0275\u0275elementContainerEnd()}if(rf&2){let ctx_r1=\u0275\u0275nextContext(3);\u0275\u0275property("ixComponentGridScope",ctx_r1.gridScope),\u0275\u0275advance(),\u0275\u0275property("ixComponentGridScope",ctx_r1.gridScope),\u0275\u0275advance(),\u0275\u0275property("ixReloadOnValueChange",ctx)}}function BuilderComponent_Conditional_0_ng_template_41_Template(rf,ctx){if(rf&1&&(\u0275\u0275conditionalCreate(0,BuilderComponent_Conditional_0_ng_template_41_Conditional_0_Template,3,3,"ng-container",47),\u0275\u0275pipe(1,"async")),rf&2){let tmp_4_0,ctx_r1=\u0275\u0275nextContext(2);\u0275\u0275conditional((tmp_4_0=\u0275\u0275pipeBind1(1,1,ctx_r1.component$))?0:-1,tmp_4_0)}}function BuilderComponent_Conditional_0_Template(rf,ctx){if(rf&1){let _r1=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"div",1)(1,"mat-toolbar",2)(2,"h1"),\u0275\u0275text(3," Simulator "),\u0275\u0275conditionalCreate(4,BuilderComponent_Conditional_0_Conditional_4_Template,2,1,"span"),\u0275\u0275elementEnd(),\u0275\u0275element(5,"span",3),\u0275\u0275elementStart(6,"button",4)(7,"mat-icon"),\u0275\u0275text(8,"settings"),\u0275\u0275elementEnd()()(),\u0275\u0275elementStart(9,"mat-toolbar",5)(10,"ix-preview-device-select",6),\u0275\u0275pipe(11,"async"),\u0275\u0275listener("selectionChange",function($event){\u0275\u0275restoreView(_r1);let ctx_r1=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r1.selectPreviewAgentOrAsset($event))})("mousedown",function($event){return $event.stopPropagation()}),\u0275\u0275elementEnd(),\u0275\u0275element(12,"div",3),\u0275\u0275elementStart(13,"ix-period-controls",7),\u0275\u0275listener("periodSpecSelected",function($event){\u0275\u0275restoreView(_r1);let ctx_r1=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r1.updateSelectedPeriodSpec($event))})("mousedown",function($event){return $event.stopPropagation()}),\u0275\u0275elementEnd(),\u0275\u0275conditionalCreate(14,BuilderComponent_Conditional_0_Conditional_14_Template,9,7,"ix-button-toggle-group",8),\u0275\u0275conditionalCreate(15,BuilderComponent_Conditional_0_Conditional_15_Template,9,7,"ix-button-toggle-group",9),\u0275\u0275conditionalCreate(16,BuilderComponent_Conditional_0_Conditional_16_Template,6,4,"button",10),\u0275\u0275elementStart(17,"ix-button-toggle-group",11),\u0275\u0275listener("mousedown",function($event){return $event.stopPropagation()}),\u0275\u0275elementStart(18,"ix-button-toggle",12),\u0275\u0275pipe(19,"translate"),\u0275\u0275listener("valueChange",function($event){\u0275\u0275restoreView(_r1);let ctx_r1=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r1.setApplicationType($event))}),\u0275\u0275elementStart(20,"mat-icon"),\u0275\u0275text(21,"dashboard"),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(22,"ix-button-toggle",13),\u0275\u0275pipe(23,"translate"),\u0275\u0275listener("valueChange",function($event){\u0275\u0275restoreView(_r1);let ctx_r1=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r1.setApplicationType($event))}),\u0275\u0275element(24,"mat-icon",14),\u0275\u0275elementEnd(),\u0275\u0275elementStart(25,"ix-button-toggle",15),\u0275\u0275pipe(26,"translate"),\u0275\u0275listener("valueChange",function($event){\u0275\u0275restoreView(_r1);let ctx_r1=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r1.setApplicationType($event))}),\u0275\u0275elementStart(27,"mat-icon"),\u0275\u0275text(28,"draft"),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(29,"ix-button-toggle",16),\u0275\u0275pipe(30,"translate"),\u0275\u0275listener("valueChange",function($event){\u0275\u0275restoreView(_r1);let ctx_r1=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r1.setApplicationType($event))}),\u0275\u0275elementStart(31,"mat-icon"),\u0275\u0275text(32,"fit_screen"),\u0275\u0275elementEnd()()()(),\u0275\u0275elementStart(33,"div",17)(34,"mat-drawer-container")(35,"mat-drawer",18),\u0275\u0275conditionalCreate(36,BuilderComponent_Conditional_0_Conditional_36_Template,3,2)(37,BuilderComponent_Conditional_0_Conditional_37_Template,3,0,"button",19),\u0275\u0275elementEnd(),\u0275\u0275elementStart(38,"mat-drawer-content",20),\u0275\u0275conditionalCreate(39,BuilderComponent_Conditional_0_Case_39_Template,2,1)(40,BuilderComponent_Conditional_0_Case_40_Template,1,1,"ng-container",21),\u0275\u0275template(41,BuilderComponent_Conditional_0_ng_template_41_Template,2,3,"ng-template",null,0,\u0275\u0275templateRefExtractor),\u0275\u0275elementEnd()()()()}if(rf&2){let tmp_21_0,ctx_r1=\u0275\u0275nextContext();\u0275\u0275advance(4),\u0275\u0275conditional(ctx_r1.componentName?4:-1),\u0275\u0275advance(6),\u0275\u0275property("agentAndRootAssets",\u0275\u0275pipeBind1(11,21,ctx_r1.previewAgentsOrAssets$)??\u0275\u0275pureFunction0(31,_c023))("noneOption",\u0275\u0275pureFunction0(32,_c110))("value",(ctx_r1.previewAgentOrAsset==null?null:ctx_r1.previewAgentOrAsset.publicId)??""),\u0275\u0275advance(3),\u0275\u0275property("deviceTimeZone",null)("periodSpecs",ctx_r1.periodSpecs),\u0275\u0275advance(),\u0275\u0275conditional(ctx_r1.applicationType==="sheet"?14:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx_r1.applicationType==="report"?15:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx_r1.applicationType==="sheet"||ctx_r1.applicationType==="card"?16:-1),\u0275\u0275advance(),\u0275\u0275property("value",ctx_r1.applicationType),\u0275\u0275advance(),\u0275\u0275property("matTooltip",\u0275\u0275pipeBind1(19,23,"PAGE")),\u0275\u0275advance(4),\u0275\u0275property("matTooltip",\u0275\u0275pipeBind1(23,25,"CARD")),\u0275\u0275advance(3),\u0275\u0275property("matTooltip",\u0275\u0275pipeBind1(26,27,"REPORT")),\u0275\u0275advance(4),\u0275\u0275property("matTooltip",\u0275\u0275pipeBind1(30,29,"STANDALONE")),\u0275\u0275advance(6),\u0275\u0275classProp("locked-drawer",ctx_r1.drawerLockedClose)("open-drawer",ctx_r1.selectedComponent&&!ctx_r1.drawerLockedClose),\u0275\u0275property("opened",ctx_r1.selectedComponent&&ctx_r1.drawerIsOpen&&ctx_r1.mode==="edit"),\u0275\u0275advance(),\u0275\u0275conditional(ctx_r1.selectedComponent&&!ctx_r1.drawerLockedClose?36:37),\u0275\u0275advance(3),\u0275\u0275conditional((tmp_21_0=ctx_r1.applicationType)==="standalone"?40:39)}}var BuilderComponent=(()=>{class BuilderComponent2{constructor(){this.activePeriodSpec=inject(ActivePeriodSpec),this.cdRef=inject(ChangeDetectorRef),this.destroy=inject(DestroyRef),this.facade=inject(BuilderFacade),this.sessionStorage=inject(SESSION_STORAGE),this.applicationType=this.sessionStorage.getItem("application-type")||"sheet",this.orientation=this.sessionStorage.getItem("orientation")||"portrait",this.drawerLockedClose=!1,this.gridScope="simulator",this.mode=this.sessionStorage.getItem("mode")||"edit",this.previewMode=this.sessionStorage.getItem("preview-mode")||"desktop",this.drawerIsOpen=!0,this.selectedComponentId$=new BehaviorSubject(null),this.busyUpdating$=this.facade.busyUpdating$,this.component$=this.facade.getComponent(this.pageId),this.pageVersion$=this.facade.draftVersionByPageId(this.pageId),this.previewAgentsOrAssets$=this.facade.previewAgentsOrAssets$,this.previewAgentOrAsset$=this.facade.previewAgentOrAsset(this.pageVersion$)}get gridClasses(){return this.previewMode==="mobile"?["mobile"]:[]}get pageId(){return"page"}ngOnInit(){this.pageVersion$.pipe(takeUntilDestroyed(this.destroy)).subscribe(pageVersion=>{this.pageVersion=pageVersion,this.pageVersionId=pageVersion.publicId,pageVersion.previewAsset&&this.facade.loadOneAsset(pageVersion.previewAsset.publicId)}),this.facade.selectedPeriodSpec(of(this.pageId)).pipe(takeUntilDestroyed(this.destroy)).subscribe(periodSpec=>{this.periodSpecs=__spreadProps(__spreadValues({},this.periodSpecs),{selected:periodSpec}),this.activePeriodSpec.setPeriodSpec(periodSpec,this.gridScope),this.zoomOutIsVisible=this.getZoomOutIsVisible(),this.cdRef.markForCheck()}),this.activePeriodSpec.inScopeOf(this.gridScope).pipe(takeUntilDestroyed(this.destroy)).subscribe(periodSpec=>{this.periodSpecs=__spreadProps(__spreadValues({},this.periodSpecs),{active:periodSpec}),this.zoomOutIsVisible=this.getZoomOutIsVisible(),this.cdRef.markForCheck()}),this.selectedComponentId$.pipe(distinctUntilChanged(),switchMap(id=>combineLatest([this.facade.pageComponent(id),this.facade.pageComponentTemplate(id)])),takeUntilDestroyed(this.destroy)).subscribe(([component,template])=>{this.selectedComponent=component,this.selectedComponentTemplate=template,this.cdRef.markForCheck()}),this.previewAgentOrAsset$.pipe(takeUntilDestroyed(this.destroy)).subscribe(agentOrAsset=>{this.previewAgentOrAsset=agentOrAsset;let rootAssetId=agentOrAsset&&"root"in agentOrAsset?agentOrAsset.root?.publicId||agentOrAsset.publicId:void 0;this.facade.loadAssetsForRoot(rootAssetId),this.cdRef.markForCheck()}),this.facade.getComponentName(this.pageId).pipe(takeUntilDestroyed(this.destroy)).subscribe(name=>{this.componentName=name}),this.facade.loadAgents(),this.facade.loadRootAssets(),this.facade.loadCustomProperties(),this.facade.loadGroups(),this.facade.loadPageComponentTemplates(),this.facade.loadPage(this.pageId),this.facade.loadRoles(),this.destroy.onDestroy(()=>{this.facade.reset()})}handleSelectionChange(componentId){this.selectedComponentId$.next(componentId)}handleComponentChanges(components){let updates=components.reduce((acc,component)=>this.previewMode==="desktop"&&component.dimensions?.type==="sheet"?[...acc,pick_default(component,["publicId","dimensions.type","dimensions.left","dimensions.top","dimensions.rows","dimensions.cols"])]:this.previewMode==="mobile"&&component.dimensions?.type==="sheet"?[...acc,pick_default(component,["publicId","dimensions.type","dimensions.mobileCols","dimensions.mobileHeight","dimensions.mobileLeft","dimensions.mobileOrder"])]:component.dimensions?.type==="report"?[...acc,pick_default(component,["publicId","dimensions.type","dimensions.left","dimensions.top","dimensions.rows","dimensions.cols"])]:acc,[]);updates.length>0&&(updates.length===1?this.facade.updateComponent(updates[0].publicId,omit_default(updates[0],["publicId"])):this.facade.updateComponentList(updates))}updateComponent(component){this.facade.updateComponent(component.publicId,omit_default(component,["publicId"]))}updateComponentSize({componentId,height}){this.facade.updateComponent(componentId,{dimensions:{type:"card",height}})}selectPreviewAgentOrAsset(publicId){this.previewAgentOrAsset?.publicId!==publicId&&this.facade.updatePreviewAgentOrAsset(this.pageVersionId,publicId==="none"?null:publicId)}setApplicationType(newApplicationType){this.applicationType=newApplicationType,this.sessionStorage.setItem("application-type",newApplicationType),this.facade.reloadDimensions(this.pageId,newApplicationType),this.facade.updateApplicationType(this.pageId,newApplicationType);let mode=null,remember=!0;switch(newApplicationType){case"report":mode="edit",remember=!1;break;case"standalone":mode="preview",remember=!1;break}mode||(mode=this.sessionStorage.getItem("mode")||null),mode&&this.setMode(mode,remember)}setPreviewMode(newPreviewMode){this.previewMode=newPreviewMode,this.sessionStorage.setItem("preview-mode",newPreviewMode)}setOrientation(newOrientation){this.orientation=newOrientation,this.sessionStorage.setItem("orientation",newOrientation);let component=this.pageVersion.components?.[0];component?.dimensions?.type==="report"&&this.facade.updateComponent(component.publicId,{dimensions:__spreadProps(__spreadValues({},component.dimensions),{type:"report",left:0,top:3,cols:newOrientation==="landscape"?8:6,rows:6})})}getZoomOutIsVisible(){return this.periodSpecs?!isEqual_default(this.periodSpecs.active,this.periodSpecs.selected):!1}setMode(newMode,rememberMode=!0){this.mode=newMode,rememberMode&&this.sessionStorage.setItem("mode",newMode)}setDrawerIsOpen(gridItemIsMoving){this.drawerIsOpen=!gridItemIsMoving}toggleDrawerLock(){this.drawerLockedClose=!this.drawerLockedClose}toggleMode(){this.setMode(this.mode==="preview"?"edit":"preview")}updateSelectedPeriodSpec(periodSpec){this.facade.updateSelectedPeriodSpec(periodSpec)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||BuilderComponent2)}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:BuilderComponent2,selectors:[["ix-builder"]],viewQuery:function(rf,ctx){if(rf&1&&\u0275\u0275viewQuery(ComponentGridComponent,5),rf&2){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx.componentGrid=_t.first)}},decls:2,vars:3,consts:[["standaloneContent",""],["fxFlex","","fxLayout","column",1,"ix-surface"],["ixComponentGridFocus",""],["fxFlex",""],["mat-icon-button","","routerLink","/settings","matTooltip","Settings"],["ixComponentGridFocus","",1,"second"],[3,"selectionChange","mousedown","agentAndRootAssets","noneOption","value"],[3,"periodSpecSelected","mousedown","deviceTimeZone","periodSpecs"],[1,"screen-toggle-group",3,"value"],[1,"orientation-toggle-group",3,"value"],["mat-stroked-button","","type","button",1,"mode-button"],[1,"application-type-toggle-group",3,"mousedown","value"],["value","sheet",3,"valueChange","matTooltip"],["value","card",3,"valueChange","matTooltip"],["svgIcon","card_outline"],["value","report",3,"valueChange","matTooltip"],["value","standalone",3,"valueChange","matTooltip"],["fxFlex","",1,"ix-content"],["mode","over","position","end",3,"opened"],["mat-icon-button","","disableRipple","true"],["fxLayout","column"],[3,"ngTemplateOutlet"],[1,"screen-toggle-group",3,"mousedown","value"],["value","desktop",3,"valueChange","matTooltip"],["value","mobile",3,"valueChange","matTooltip"],[1,"orientation-toggle-group",3,"mousedown","value"],["value","portrait",3,"valueChange","matTooltip"],["value","landscape",3,"valueChange","matTooltip"],["mat-stroked-button","","type","button",1,"mode-button",3,"click","mousedown"],[3,"component","template"],["mat-icon-button","","disableRipple","true",3,"click"],[3,"update","component","template"],["ixComponentGridFocus","",1,"grid-container",3,"class"],[1,"preview-grid-container",3,"class"],["ixComponentGridFocus","",1,"grid-container"],["ixBackendComponentBroker","","ixLoggingDataBroker","","ixResourceDataBroker","","ixObjectStorageBroker","","ixComponentGridMode","edit","ixComponentContextCleanup","","pagePageId","pagepage",3,"ixComponentGridScope","agentOrAssetId","mobile","pageId","pageVersionId","selectedComponentId","desktop"],["ixBackendComponentBroker","","ixLoggingDataBroker","","ixResourceDataBroker","","ixObjectStorageBroker","","ixComponentContextCleanup","","ixComponentGridMode","edit","pagePageId","pagepage",3,"ixComponentGridScope","agentOrAssetId","pageId","pageVersionId","selectedComponentId"],["ixBackendComponentBroker","","ixLoggingDataBroker","","ixResourceDataBroker","","ixObjectStorageBroker","","ixComponentGridMode","edit","ixComponentContextCleanup","","pagePageId","pagepage","applicationType","report",1,"report-grid","mat-elevation-z2",3,"ixComponentGridScope","agentOrAssetId","pageId","pageVersionId","selectedComponentId","class","orientation","mobile"],["ixBackendComponentBroker","","ixLoggingDataBroker","","ixResourceDataBroker","","ixObjectStorageBroker","","ixComponentGridMode","edit","ixComponentContextCleanup","","pagePageId","pagepage",3,"selectionChange","componentChanges","movingGridItem","ixComponentGridScope","agentOrAssetId","mobile","pageId","pageVersionId","selectedComponentId"],["ixBackendComponentBroker","","ixLoggingDataBroker","","ixResourceDataBroker","","ixObjectStorageBroker","","ixComponentContextCleanup","","ixComponentGridMode","edit","pagePageId","pagepage",3,"componentResize","selectionChange","ixComponentGridScope","agentOrAssetId","pageId","pageVersionId","selectedComponentId"],["ixBackendComponentBroker","","ixLoggingDataBroker","","ixResourceDataBroker","","ixObjectStorageBroker","","ixComponentGridMode","edit","ixComponentContextCleanup","","pagePageId","pagepage","class","report-grid mat-elevation-z2","applicationType","report",3,"ixComponentGridScope","agentOrAssetId","pageId","pageVersionId","selectedComponentId","class","orientation","mobile","selectionChange","componentChanges","movingGridItem",4,"ixReloadOnValueChange"],["ixBackendComponentBroker","","ixLoggingDataBroker","","ixResourceDataBroker","","ixObjectStorageBroker","","ixComponentGridMode","edit","ixComponentContextCleanup","","pagePageId","pagepage","applicationType","report",1,"report-grid","mat-elevation-z2",3,"selectionChange","componentChanges","movingGridItem","ixComponentGridScope","agentOrAssetId","pageId","pageVersionId","selectedComponentId","orientation","mobile"],[1,"preview-grid-container"],[1,"ix-large-section","preview"],[1,"preview"],["ixBackendComponentBroker","","ixLoggingDataBroker","","ixResourceDataBroker","","ixObjectStorageBroker","","ixComponentContextCleanup","","ixComponentGridMode","view",3,"ixComponentGridScope","agentOrAssetId","mobile","pageId","pageVersionId"],["ixBackendComponentBroker","","ixLoggingDataBroker","","ixResourceDataBroker","","ixObjectStorageBroker","","ixComponentContextCleanup","","ixComponentGridMode","view",3,"ixComponentGridScope","agentOrAssetId","pageId","pageVersionId"],[3,"ixComponentGridScope"],["ixBackendComponentBroker","","ixLoggingDataBroker","","ixResourceDataBroker","","ixObjectStorageBroker","","ixComponentContextCleanup","",1,"standalone",3,"click","ixComponentGridScope"],[3,"component",4,"ixReloadOnValueChange"],[3,"component"]],template:function(rf,ctx){if(rf&1&&(\u0275\u0275conditionalCreate(0,BuilderComponent_Conditional_0_Template,43,33,"div",1),\u0275\u0275pipe(1,"async")),rf&2){let tmp_0_0;\u0275\u0275conditional((tmp_0_0=\u0275\u0275pipeBind1(1,1,ctx.pageVersion$))?0:-1,tmp_0_0)}},dependencies:[ButtonToggleModule,ButtonToggleComponent,ButtonToggleGroupComponent,ComponentLoaderModule,ComponentLoaderComponent,PreviewDeviceSelectComponent,FlexModule,DefaultLayoutDirective,DefaultFlexDirective,MatButtonModule,MatButton,MatIconButton,MatFormFieldModule,MatIconModule,MatIcon,MatInputModule,MatSidenavModule,MatDrawer,MatDrawerContainer,MatDrawerContent,MatToolbarModule,MatToolbar,MatTooltipModule,MatTooltip,NgTemplateOutlet,PagesModule,ComponentGridComponent,CardComponentGridComponent,SimpleComponentGridComponent,SimpleCardComponentGridComponent,ComponentPropertiesComponent,ComponentGridModeDirective,ComponentGridScopeDirective,ComponentContextCleanupDirective,BackendComponentBrokerDirective,LoggingDataBrokerDirective,ObjectStorageBrokerDirective,ResourceDataBrokerDirective,PeriodControlsComponent,ComponentGridFocusDirective,ReloadOnValueChangeDirective,RouterModule,RouterLink,TranslateModule,AsyncPipe,TranslatePipe],styles:['[_nghost-%COMP%]{height:100%;width:100%}[_nghost-%COMP%] .mat-toolbar[_ngcontent-%COMP%]{border-bottom:1px solid var(--mat-sys-surface-variant)}[_nghost-%COMP%] .mat-toolbar[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{padding-right:16px}[_nghost-%COMP%] .mat-toolbar[_ngcontent-%COMP%] ix-device-select-button[_ngcontent-%COMP%]{margin-right:8px;max-width:calc(100% - 340px)}[_nghost-%COMP%] .mat-toolbar.second[_ngcontent-%COMP%]{--mat-toolbar-standard-height: 56px;--mat-button-outlined-container-height: 36px;border-bottom:1px solid var(--mat-sys-surface-variant)}[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%]{height:100%}[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .mat-drawer-backdrop{display:none}[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .mat-drawer[_ngcontent-%COMP%]{height:100%;width:300px;border-left:1px solid var(--mat-sys-surface-variant)}[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .mat-drawer[_ngcontent-%COMP%] .mat-drawer-inner-container{height:100%;flex-direction:column}[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .mat-drawer[_ngcontent-%COMP%] .mat-drawer-inner-container>.mat-toolbar{height:40px!important}[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .mat-drawer[_ngcontent-%COMP%] .mat-drawer-inner-container>.mat-toolbar h1{color:var(--body-color);font-size:16px;font-weight:400}[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .mat-drawer.locked-drawer[_ngcontent-%COMP%]{--mat-sidenav-container-elevation-shadow: 0px 8px 10px -5px rgb(0 0 0 / 20%), 0px 16px 24px 2px rgb(0 0 0 / 14%), 0px 6px 30px 5px rgb(0 0 0 / 12%);width:50px;height:40px;border-top-left-radius:25px;border-bottom-left-radius:25px;border-left:none}[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .mat-drawer[_ngcontent-%COMP%] .mat-mdc-icon-button[_ngcontent-%COMP%] .mat-mdc-button-focus-overlay{display:none}[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .grid-container[_ngcontent-%COMP%]{height:100%;overflow-x:auto;background-color:#f5f5f5}[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .grid-container[_ngcontent-%COMP%] .grid[_ngcontent-%COMP%]{height:100%}[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .grid-container[_ngcontent-%COMP%] ix-component-grid[_ngcontent-%COMP%]{margin:0 auto;height:100%}@media(min-width:960px){[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .grid-container[_ngcontent-%COMP%] ix-component-grid[_ngcontent-%COMP%]{max-width:970px}}@media(min-width:1280px){[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .grid-container[_ngcontent-%COMP%] ix-component-grid[_ngcontent-%COMP%]{max-width:1200px}}@media(min-width:1896px){[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .grid-container[_ngcontent-%COMP%] ix-component-grid[_ngcontent-%COMP%]{max-width:1600px}}@media screen and (min-width:2251px){[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .grid-container[_ngcontent-%COMP%] ix-component-grid[_ngcontent-%COMP%]{max-width:2000px}}[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .grid-container[_ngcontent-%COMP%] ix-component-grid.desktop[_ngcontent-%COMP%]{min-width:970px}[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .grid-container[_ngcontent-%COMP%] ix-component-grid.mobile[_ngcontent-%COMP%]{max-width:400px}[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .preview-grid-container[_ngcontent-%COMP%]{height:100%;width:100%;box-sizing:border-box;overflow-x:auto;display:flex;flex-direction:column;background-color:var(--detail-page-bg);--uic-color-scheme: var(--card-color-scheme);--uic-background: var(--card-bg);--uic-on-background: var(--card-color)}[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .preview-grid-container.card[_ngcontent-%COMP%]{place-content:center}[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .preview-grid-container.card[_ngcontent-%COMP%] .preview[_ngcontent-%COMP%]{display:flex;place-items:center}[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .preview-grid-container[_ngcontent-%COMP%] .preview[_ngcontent-%COMP%]{height:100%}[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .preview-grid-container[_ngcontent-%COMP%] .preview[_ngcontent-%COMP%] ix-simple-component-grid[_ngcontent-%COMP%]{height:100%;box-sizing:border-box;margin:0 auto}[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .preview-grid-container[_ngcontent-%COMP%] .preview[_ngcontent-%COMP%] ix-simple-component-grid.desktop[_ngcontent-%COMP%]{min-width:970px}[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .preview-grid-container[_ngcontent-%COMP%] .preview[_ngcontent-%COMP%] ix-simple-component-grid.mobile[_ngcontent-%COMP%]{max-width:400px;border-left:1px solid rgba(0,0,0,.08);border-right:1px solid rgba(0,0,0,.08)}[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .preview-grid-container[_ngcontent-%COMP%] .preview[_ngcontent-%COMP%] ix-simple-card-component-grid[_ngcontent-%COMP%]{width:300px;padding:0;margin:0 auto;box-sizing:border-box;background-color:var(--card-bg);color:var(--card-color);color-scheme:var(--card-color-scheme);border:var(--card-border-width) solid var(--card-border-color);border-radius:8px}[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .standalone[_ngcontent-%COMP%]{height:100%}[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .standalone[_ngcontent-%COMP%] ix-component-loader[_ngcontent-%COMP%]{overflow:auto}[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] ix-page-properties[_ngcontent-%COMP%]{padding:20px 16px}[_nghost-%COMP%] .select-button[_ngcontent-%COMP%]{padding-left:8px;padding-right:2px;margin-right:8px}[_nghost-%COMP%] .select-button[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]:first-child{margin-right:6px}[_nghost-%COMP%] .screen-toggle-group[_ngcontent-%COMP%], [_nghost-%COMP%] .orientation-toggle-group[_ngcontent-%COMP%], [_nghost-%COMP%] .application-type-toggle-group[_ngcontent-%COMP%]{margin-left:12px}[_nghost-%COMP%] .mode-button[_ngcontent-%COMP%]{margin-left:12px}[_nghost-%COMP%] .mode-button[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]:first-child{margin-right:6px}[_nghost-%COMP%] .report-grid[_ngcontent-%COMP%]{--card-bg: #fff;--card-border-color: rgb(0 0 0 / 12%);--card-border-width: 1px;--card-color: rgb(0 0 0 / 87%);--card-color-scheme: "light";--uic-color-scheme: var(--card-color-scheme);--uic-background: var(--card-bg);--uic-on-background: var(--card-color);margin:16px auto!important;background:#fff;height:842pt!important;width:595pt}[_nghost-%COMP%] .report-grid.landscape[_ngcontent-%COMP%]{height:595pt!important;width:842pt}[_nghost-%COMP%] .report-grid[_ngcontent-%COMP%] .canvas gridster .gridster-row{width:calc(100% - 76px)!important}[_nghost-%COMP%] .report-grid[_ngcontent-%COMP%] .gridster-column, [_nghost-%COMP%] .report-grid[_ngcontent-%COMP%] .gridster-row{border-color:#00000014}'],changeDetection:0})}}return BuilderComponent2})();var BuilderGuard=(()=>{class BuilderGuard2{constructor(){this.store=inject(Store)}canActivate(){return forkJoin([this.getMyUser(),this.getMyCompany()]).pipe(map(()=>!0),take(1))}getMyUser(){return this._loadIfAbsent(selectMyUser,loadMe3())}getMyCompany(){return this._loadIfAbsent(selectMyCompany,loadMe())}_loadIfAbsent(selector3,action){return this.store.select(selector3).pipe(tap(entity2=>{entity2||this.store.dispatch(action)}),first(entity2=>!!entity2),map(()=>!0))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||BuilderGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:BuilderGuard2,factory:BuilderGuard2.\u0275fac,providedIn:"root"})}}return BuilderGuard2})();var LoginExpiredComponent=(()=>{class LoginExpiredComponent3{constructor(){this.document=inject(DOCUMENT),this.storage=inject(StorageService)}useMockData(){this.storage.forget("api-data-provider"),this.storage.forget("company"),this.reload()}reload(){this.document.location.href="/"}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||LoginExpiredComponent3)}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:LoginExpiredComponent3,selectors:[["ix-login-expired"]],standalone:!1,decls:18,vars:0,consts:[["fxFlex","","fxLayout","column","fxLayoutAlign","center center",1,"ix-surface"],[1,"ix-status-card"],[1,"ix-status-card__icon"],["type","button","mat-button","","color","primary",3,"click"]],template:function(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"div",0)(1,"mat-card",1)(2,"div",2)(3,"mat-icon"),\u0275\u0275text(4,"error"),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(5,"mat-card-header")(6,"mat-card-title"),\u0275\u0275text(7,"Login expired"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(8,"mat-card-subtitle"),\u0275\u0275text(9," Please re-authenticate via the command line "),\u0275\u0275elementStart(10,"pre"),\u0275\u0275text(11,"npx cdk login"),\u0275\u0275elementEnd(),\u0275\u0275text(12," and reload or revert to using API mock data. "),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(13,"mat-card-actions")(14,"button",3),\u0275\u0275listener("click",function(){return ctx.useMockData()}),\u0275\u0275text(15,"Use mock data"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(16,"button",3),\u0275\u0275listener("click",function(){return ctx.reload()}),\u0275\u0275text(17,"Reload"),\u0275\u0275elementEnd()()()())},dependencies:[DefaultLayoutDirective,DefaultLayoutAlignDirective,DefaultFlexDirective,MatButton,MatCard,MatCardActions,MatCardHeader,MatCardSubtitle,MatCardTitle,MatIcon],styles:["[_nghost-%COMP%]{width:100%;height:100%}"],changeDetection:0})}}return LoginExpiredComponent3})();var LoginExpiredCanActivateGuard=(()=>{class LoginExpiredCanActivateGuard2{constructor(){this.router=inject(Router),this.storage=inject(StorageService)}canActivate(route){return this.isAuthenticated(route)}isAuthenticated(route){return of(this.storage.has("auth")).pipe(tap(authenticated=>{if(authenticated)if(route.queryParamMap.has("next")){let next=route.queryParams.next;this.router.navigateByUrl(next).then(success=>{success||this.router.navigate(["/"])})}else this.router.navigate(["/"])}),map(authenticated=>!authenticated))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||LoginExpiredCanActivateGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:LoginExpiredCanActivateGuard2,factory:LoginExpiredCanActivateGuard2.\u0275fac,providedIn:"root"})}}return LoginExpiredCanActivateGuard2})();var LoginExpiredModule=(()=>{class LoginExpiredModule2{static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||LoginExpiredModule2)}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:LoginExpiredModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({imports:[SharedModule]})}}return LoginExpiredModule2})();var ManifestInvalidComponent=(()=>{class ManifestInvalidComponent3{static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||ManifestInvalidComponent3)}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:ManifestInvalidComponent3,selectors:[["ix-manifest-invalid"]],standalone:!1,decls:13,vars:0,consts:[["fxFlex","","fxLayout","column","fxLayoutAlign","center center",1,"ix-surface"],[1,"ix-status-card"],[1,"ix-status-card__icon"]],template:function(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"div",0)(1,"mat-card",1)(2,"div",2)(3,"mat-icon"),\u0275\u0275text(4,"error"),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(5,"mat-card-header")(6,"mat-card-title"),\u0275\u0275text(7,"Manifest invalid"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(8,"mat-card-subtitle"),\u0275\u0275text(9," Schema validation for the "),\u0275\u0275elementStart(10,"pre"),\u0275\u0275text(11,"manifest.json"),\u0275\u0275elementEnd(),\u0275\u0275text(12," file failed. "),\u0275\u0275elementEnd()()()())},dependencies:[DefaultLayoutDirective,DefaultLayoutAlignDirective,DefaultFlexDirective,MatCard,MatCardHeader,MatCardSubtitle,MatCardTitle,MatIcon],styles:["[_nghost-%COMP%]{width:100%;height:100%}"],changeDetection:0})}}return ManifestInvalidComponent3})();var TwoFactorAuthRequiredComponent=(()=>{class TwoFactorAuthRequiredComponent2{constructor(){this.document=inject(DOCUMENT),this.storage=inject(StorageService)}switchCompany(){this.storage.forget("api-data-provider"),this.storage.forget("company"),this.document.location.href="/settings/general"}useMockData(){this.storage.forget("api-data-provider"),this.storage.forget("company"),this.document.location.href="/"}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||TwoFactorAuthRequiredComponent2)}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:TwoFactorAuthRequiredComponent2,selectors:[["ix-two-factor-auth-required"]],decls:13,vars:0,consts:[["fxFlex","","fxLayout","column","fxLayoutAlign","center center",1,"ix-surface"],[1,"ix-status-card"],[1,"ix-status-card__icon"],["type","button","mat-button","","color","primary",3,"click"]],template:function(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"div",0)(1,"mat-card",1)(2,"div",2)(3,"mat-icon"),\u0275\u0275text(4,"error"),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(5,"mat-card-header")(6,"mat-card-title"),\u0275\u0275text(7,"Two-factor authentication is required"),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(8,"mat-card-actions")(9,"button",3),\u0275\u0275listener("click",function(){return ctx.useMockData()}),\u0275\u0275text(10,"Use mock data"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(11,"button",3),\u0275\u0275listener("click",function(){return ctx.switchCompany()}),\u0275\u0275text(12,"Switch company"),\u0275\u0275elementEnd()()()())},dependencies:[FlexModule,DefaultLayoutDirective,DefaultLayoutAlignDirective,DefaultFlexDirective,MatButtonModule,MatButton,MatCardModule,MatCard,MatCardActions,MatCardHeader,MatCardTitle,MatIconModule,MatIcon],styles:["[_nghost-%COMP%]{width:100%;height:100%}"],changeDetection:0})}}return TwoFactorAuthRequiredComponent2})();var routes=[{path:"",canActivate:[AppGuard2],children:[{path:"",component:BuilderComponent,canActivate:__use_api_mocks__?[BuilderGuard]:[AuthCompanyGuard,BuilderGuard]},{path:"settings",loadChildren:()=>import("./chunk-4SCBSNA6.js").then(m=>m.SettingsModule)},...__use_api_mocks__?[]:[{path:"login",component:LoginExpiredComponent,canActivate:[LoginExpiredCanActivateGuard]},{path:"my-companies",redirectTo:"settings"},{path:"two-factor-auth-required",component:TwoFactorAuthRequiredComponent}]]},{path:"manifest-invalid",component:ManifestInvalidComponent},{path:"**",redirectTo:""}];var AppRoutingConfig={routerState:RouterState?.Minimal,serializer:CustomRouterStateSerializer};var AppRoutingModule=(()=>{class AppRoutingModule2{static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AppRoutingModule2)}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:AppRoutingModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({imports:[RouterModule.forRoot(routes,{bindToComponentInputs:!0,onSameUrlNavigation:"reload",preloadingStrategy:CustomPreloadingStrategy}),StoreRouterConnectingModule.forRoot(AppRoutingConfig),RouterModule]})}}return AppRoutingModule2})();var PERFORM_ACTION="PERFORM_ACTION",REFRESH="REFRESH",RESET="RESET",ROLLBACK="ROLLBACK",COMMIT="COMMIT",SWEEP="SWEEP",TOGGLE_ACTION="TOGGLE_ACTION",SET_ACTIONS_ACTIVE="SET_ACTIONS_ACTIVE",JUMP_TO_STATE="JUMP_TO_STATE",JUMP_TO_ACTION="JUMP_TO_ACTION",IMPORT_STATE="IMPORT_STATE",LOCK_CHANGES="LOCK_CHANGES",PAUSE_RECORDING="PAUSE_RECORDING",PerformAction=class{constructor(action,timestamp2){if(this.action=action,this.timestamp=timestamp2,this.type=PERFORM_ACTION,typeof action.type>"u")throw new Error('Actions may not have an undefined "type" property. Have you misspelled a constant?')}},Refresh=class{constructor(){this.type=REFRESH}},Reset=class{constructor(timestamp2){this.timestamp=timestamp2,this.type=RESET}},Rollback=class{constructor(timestamp2){this.timestamp=timestamp2,this.type=ROLLBACK}},Commit=class{constructor(timestamp2){this.timestamp=timestamp2,this.type=COMMIT}},Sweep=class{constructor(){this.type=SWEEP}},ToggleAction=class{constructor(id){this.id=id,this.type=TOGGLE_ACTION}};var JumpToState=class{constructor(index){this.index=index,this.type=JUMP_TO_STATE}},JumpToAction=class{constructor(actionId){this.actionId=actionId,this.type=JUMP_TO_ACTION}},ImportState=class{constructor(nextLiftedState){this.nextLiftedState=nextLiftedState,this.type=IMPORT_STATE}},LockChanges=class{constructor(status){this.status=status,this.type=LOCK_CHANGES}},PauseRecording=class{constructor(status){this.status=status,this.type=PAUSE_RECORDING}};var STORE_DEVTOOLS_CONFIG=new InjectionToken("@ngrx/store-devtools Options"),INITIAL_OPTIONS=new InjectionToken("@ngrx/store-devtools Initial Config");function noMonitor(){return null}var DEFAULT_NAME="NgRx Store DevTools";function createConfig(optionsInput){let DEFAULT_OPTIONS2={maxAge:!1,monitor:noMonitor,actionSanitizer:void 0,stateSanitizer:void 0,name:DEFAULT_NAME,serialize:!1,logOnly:!1,autoPause:!1,trace:!1,traceLimit:75,features:{pause:!0,lock:!0,persist:!0,export:!0,import:"custom",jump:!0,skip:!0,reorder:!0,dispatch:!0,test:!0},connectInZone:!1},options=typeof optionsInput=="function"?optionsInput():optionsInput,logOnly=options.logOnly?{pause:!0,export:!0,test:!0}:!1,features2=options.features||logOnly||DEFAULT_OPTIONS2.features;features2.import===!0&&(features2.import="custom");let config4=Object.assign({},DEFAULT_OPTIONS2,{features:features2},options);if(config4.maxAge&&config4.maxAge<2)throw new Error(`Devtools 'maxAge' cannot be less than 2, got ${config4.maxAge}`);return config4}function difference(first2,second){return first2.filter(item=>second.indexOf(item)<0)}function unliftState(liftedState){let{computedStates,currentStateIndex}=liftedState;if(currentStateIndex>=computedStates.length){let{state:state2}=computedStates[computedStates.length-1];return state2}let{state}=computedStates[currentStateIndex];return state}function liftAction(action){return new PerformAction(action,+Date.now())}function sanitizeActions(actionSanitizer,actions){return Object.keys(actions).reduce((sanitizedActions,actionIdx)=>{let idx=Number(actionIdx);return sanitizedActions[idx]=sanitizeAction(actionSanitizer,actions[idx],idx),sanitizedActions},{})}function sanitizeAction(actionSanitizer,action,actionIdx){return __spreadProps(__spreadValues({},action),{action:actionSanitizer(action.action,actionIdx)})}function sanitizeStates(stateSanitizer,states){return states.map((computedState,idx)=>({state:sanitizeState(stateSanitizer,computedState.state,idx),error:computedState.error}))}function sanitizeState(stateSanitizer,state,stateIdx){return stateSanitizer(state,stateIdx)}function shouldFilterActions(config4){return config4.predicate||config4.actionsSafelist||config4.actionsBlocklist}function filterLiftedState(liftedState,predicate,safelist,blocklist){let filteredStagedActionIds=[],filteredActionsById={},filteredComputedStates=[];return liftedState.stagedActionIds.forEach((id,idx)=>{let liftedAction=liftedState.actionsById[id];liftedAction&&(idx&&isActionFiltered(liftedState.computedStates[idx],liftedAction,predicate,safelist,blocklist)||(filteredActionsById[id]=liftedAction,filteredStagedActionIds.push(id),filteredComputedStates.push(liftedState.computedStates[idx])))}),__spreadProps(__spreadValues({},liftedState),{stagedActionIds:filteredStagedActionIds,actionsById:filteredActionsById,computedStates:filteredComputedStates})}function isActionFiltered(state,action,predicate,safelist,blockedlist){let predicateMatch=predicate&&!predicate(state,action.action),safelistMatch=safelist&&!action.action.type.match(safelist.map(s2=>escapeRegExp(s2)).join("|")),blocklistMatch=blockedlist&&action.action.type.match(blockedlist.map(s2=>escapeRegExp(s2)).join("|"));return predicateMatch||safelistMatch||blocklistMatch}function escapeRegExp(s2){return s2.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function injectZoneConfig(connectInZone){return{ngZone:connectInZone?inject(NgZone):null,connectInZone}}var DevtoolsDispatcher=(()=>{class DevtoolsDispatcher2 extends ActionsSubject{static{this.\u0275fac=(()=>{let \u0275DevtoolsDispatcher_BaseFactory;return function(__ngFactoryType__){return(\u0275DevtoolsDispatcher_BaseFactory||(\u0275DevtoolsDispatcher_BaseFactory=\u0275\u0275getInheritedFactory(DevtoolsDispatcher2)))(__ngFactoryType__||DevtoolsDispatcher2)}})()}static{this.\u0275prov=\u0275\u0275defineInjectable({token:DevtoolsDispatcher2,factory:DevtoolsDispatcher2.\u0275fac})}}return DevtoolsDispatcher2})(),ExtensionActionTypes={START:"START",DISPATCH:"DISPATCH",STOP:"STOP",ACTION:"ACTION"},REDUX_DEVTOOLS_EXTENSION=new InjectionToken("@ngrx/store-devtools Redux Devtools Extension"),DevtoolsExtension=(()=>{class DevtoolsExtension2{constructor(devtoolsExtension,config4,dispatcher){this.config=config4,this.dispatcher=dispatcher,this.zoneConfig=injectZoneConfig(this.config.connectInZone),this.devtoolsExtension=devtoolsExtension,this.createActionStreams()}notify(action,state){if(this.devtoolsExtension)if(action.type===PERFORM_ACTION){if(state.isLocked||state.isPaused)return;let currentState=unliftState(state);if(shouldFilterActions(this.config)&&isActionFiltered(currentState,action,this.config.predicate,this.config.actionsSafelist,this.config.actionsBlocklist))return;let sanitizedState=this.config.stateSanitizer?sanitizeState(this.config.stateSanitizer,currentState,state.currentStateIndex):currentState,sanitizedAction=this.config.actionSanitizer?sanitizeAction(this.config.actionSanitizer,action,state.nextActionId):action;this.sendToReduxDevtools(()=>this.extensionConnection.send(sanitizedAction,sanitizedState))}else{let sanitizedLiftedState=__spreadProps(__spreadValues({},state),{stagedActionIds:state.stagedActionIds,actionsById:this.config.actionSanitizer?sanitizeActions(this.config.actionSanitizer,state.actionsById):state.actionsById,computedStates:this.config.stateSanitizer?sanitizeStates(this.config.stateSanitizer,state.computedStates):state.computedStates});this.sendToReduxDevtools(()=>this.devtoolsExtension.send(null,sanitizedLiftedState,this.getExtensionConfig(this.config)))}}createChangesObservable(){return this.devtoolsExtension?new Observable(subscriber=>{let connection=this.zoneConfig.connectInZone?this.zoneConfig.ngZone.runOutsideAngular(()=>this.devtoolsExtension.connect(this.getExtensionConfig(this.config))):this.devtoolsExtension.connect(this.getExtensionConfig(this.config));return this.extensionConnection=connection,connection.init(),connection.subscribe(change=>subscriber.next(change)),connection.unsubscribe}):EMPTY}createActionStreams(){let changes$=this.createChangesObservable().pipe(share()),start$=changes$.pipe(filter(change=>change.type===ExtensionActionTypes.START)),stop$=changes$.pipe(filter(change=>change.type===ExtensionActionTypes.STOP)),liftedActions$=changes$.pipe(filter(change=>change.type===ExtensionActionTypes.DISPATCH),map(change=>this.unwrapAction(change.payload)),concatMap(action=>action.type===IMPORT_STATE?this.dispatcher.pipe(filter(action2=>action2.type===UPDATE),timeout(1e3),debounceTime(1e3),map(()=>action),catchError(()=>of(action)),take(1)):of(action))),actionsUntilStop$=changes$.pipe(filter(change=>change.type===ExtensionActionTypes.ACTION),map(change=>this.unwrapAction(change.payload))).pipe(takeUntil(stop$)),liftedUntilStop$=liftedActions$.pipe(takeUntil(stop$));this.start$=start$.pipe(takeUntil(stop$)),this.actions$=this.start$.pipe(switchMap(()=>actionsUntilStop$)),this.liftedActions$=this.start$.pipe(switchMap(()=>liftedUntilStop$))}unwrapAction(action){return typeof action=="string"?(0,eval)(`(${action})`):action}getExtensionConfig(config4){let extensionOptions={name:config4.name,features:config4.features,serialize:config4.serialize,autoPause:config4.autoPause??!1,trace:config4.trace??!1,traceLimit:config4.traceLimit??75};return config4.maxAge!==!1&&(extensionOptions.maxAge=config4.maxAge),extensionOptions}sendToReduxDevtools(send){try{send()}catch(err){console.warn("@ngrx/store-devtools: something went wrong inside the redux devtools",err)}}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||DevtoolsExtension2)(\u0275\u0275inject(REDUX_DEVTOOLS_EXTENSION),\u0275\u0275inject(STORE_DEVTOOLS_CONFIG),\u0275\u0275inject(DevtoolsDispatcher))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:DevtoolsExtension2,factory:DevtoolsExtension2.\u0275fac})}}return DevtoolsExtension2})(),INIT_ACTION={type:INIT},RECOMPUTE="@ngrx/store-devtools/recompute",RECOMPUTE_ACTION={type:RECOMPUTE};function computeNextEntry(reducer44,action,state,error3,errorHandler){if(error3)return{state,error:"Interrupted by an error up the chain"};let nextState=state,nextError;try{nextState=reducer44(state,action)}catch(err){nextError=err.toString(),errorHandler.handleError(err)}return{state:nextState,error:nextError}}function recomputeStates(computedStates,minInvalidatedStateIndex,reducer44,committedState,actionsById,stagedActionIds,skippedActionIds,errorHandler,isPaused){if(minInvalidatedStateIndex>=computedStates.length&&computedStates.length===stagedActionIds.length)return computedStates;let nextComputedStates=computedStates.slice(0,minInvalidatedStateIndex),lastIncludedActionId=stagedActionIds.length-(isPaused?1:0);for(let i=minInvalidatedStateIndex;i<lastIncludedActionId;i++){let actionId=stagedActionIds[i],action=actionsById[actionId].action,previousEntry=nextComputedStates[i-1],previousState=previousEntry?previousEntry.state:committedState,previousError=previousEntry?previousEntry.error:void 0,entry=skippedActionIds.indexOf(actionId)>-1?previousEntry:computeNextEntry(reducer44,action,previousState,previousError,errorHandler);nextComputedStates.push(entry)}return isPaused&&nextComputedStates.push(computedStates[computedStates.length-1]),nextComputedStates}function liftInitialState(initialCommittedState,monitorReducer){return{monitorState:monitorReducer(void 0,{}),nextActionId:1,actionsById:{0:liftAction(INIT_ACTION)},stagedActionIds:[0],skippedActionIds:[],committedState:initialCommittedState,currentStateIndex:0,computedStates:[],isLocked:!1,isPaused:!1}}function liftReducerWith(initialCommittedState,initialLiftedState,errorHandler,monitorReducer,options={}){return reducer44=>(liftedState,liftedAction)=>{let{monitorState,actionsById,nextActionId,stagedActionIds,skippedActionIds,committedState,currentStateIndex,computedStates,isLocked,isPaused}=liftedState||initialLiftedState;liftedState||(actionsById=Object.create(actionsById));function commitExcessActions(n2){let excess=n2,idsToDelete=stagedActionIds.slice(1,excess+1);for(let i=0;i<idsToDelete.length;i++)if(computedStates[i+1].error){excess=i,idsToDelete=stagedActionIds.slice(1,excess+1);break}else delete actionsById[idsToDelete[i]];skippedActionIds=skippedActionIds.filter(id=>idsToDelete.indexOf(id)===-1),stagedActionIds=[0,...stagedActionIds.slice(excess+1)],committedState=computedStates[excess].state,computedStates=computedStates.slice(excess),currentStateIndex=currentStateIndex>excess?currentStateIndex-excess:0}function commitChanges(){actionsById={0:liftAction(INIT_ACTION)},nextActionId=1,stagedActionIds=[0],skippedActionIds=[],committedState=computedStates[currentStateIndex].state,currentStateIndex=0,computedStates=[]}let minInvalidatedStateIndex=0;switch(liftedAction.type){case LOCK_CHANGES:{isLocked=liftedAction.status,minInvalidatedStateIndex=1/0;break}case PAUSE_RECORDING:{isPaused=liftedAction.status,isPaused?(stagedActionIds=[...stagedActionIds,nextActionId],actionsById[nextActionId]=new PerformAction({type:"@ngrx/devtools/pause"},+Date.now()),nextActionId++,minInvalidatedStateIndex=stagedActionIds.length-1,computedStates=computedStates.concat(computedStates[computedStates.length-1]),currentStateIndex===stagedActionIds.length-2&¤tStateIndex++,minInvalidatedStateIndex=1/0):commitChanges();break}case RESET:{actionsById={0:liftAction(INIT_ACTION)},nextActionId=1,stagedActionIds=[0],skippedActionIds=[],committedState=initialCommittedState,currentStateIndex=0,computedStates=[];break}case COMMIT:{commitChanges();break}case ROLLBACK:{actionsById={0:liftAction(INIT_ACTION)},nextActionId=1,stagedActionIds=[0],skippedActionIds=[],currentStateIndex=0,computedStates=[];break}case TOGGLE_ACTION:{let{id:actionId}=liftedAction;skippedActionIds.indexOf(actionId)===-1?skippedActionIds=[actionId,...skippedActionIds]:skippedActionIds=skippedActionIds.filter(id=>id!==actionId),minInvalidatedStateIndex=stagedActionIds.indexOf(actionId);break}case SET_ACTIONS_ACTIVE:{let{start:start3,end:end2,active}=liftedAction,actionIds=[];for(let i=start3;i<end2;i++)actionIds.push(i);active?skippedActionIds=difference(skippedActionIds,actionIds):skippedActionIds=[...skippedActionIds,...actionIds],minInvalidatedStateIndex=stagedActionIds.indexOf(start3);break}case JUMP_TO_STATE:{currentStateIndex=liftedAction.index,minInvalidatedStateIndex=1/0;break}case JUMP_TO_ACTION:{let index=stagedActionIds.indexOf(liftedAction.actionId);index!==-1&&(currentStateIndex=index),minInvalidatedStateIndex=1/0;break}case SWEEP:{stagedActionIds=difference(stagedActionIds,skippedActionIds),skippedActionIds=[],currentStateIndex=Math.min(currentStateIndex,stagedActionIds.length-1);break}case PERFORM_ACTION:{if(isLocked)return liftedState||initialLiftedState;if(isPaused||liftedState&&isActionFiltered(liftedState.computedStates[currentStateIndex],liftedAction,options.predicate,options.actionsSafelist,options.actionsBlocklist)){let lastState=computedStates[computedStates.length-1];computedStates=[...computedStates.slice(0,-1),computeNextEntry(reducer44,liftedAction.action,lastState.state,lastState.error,errorHandler)],minInvalidatedStateIndex=1/0;break}options.maxAge&&stagedActionIds.length===options.maxAge&&commitExcessActions(1),currentStateIndex===stagedActionIds.length-1&¤tStateIndex++;let actionId=nextActionId++;actionsById[actionId]=liftedAction,stagedActionIds=[...stagedActionIds,actionId],minInvalidatedStateIndex=stagedActionIds.length-1;break}case IMPORT_STATE:{({monitorState,actionsById,nextActionId,stagedActionIds,skippedActionIds,committedState,currentStateIndex,computedStates,isLocked,isPaused}=liftedAction.nextLiftedState);break}case INIT:{minInvalidatedStateIndex=0,options.maxAge&&stagedActionIds.length>options.maxAge&&(computedStates=recomputeStates(computedStates,minInvalidatedStateIndex,reducer44,committedState,actionsById,stagedActionIds,skippedActionIds,errorHandler,isPaused),commitExcessActions(stagedActionIds.length-options.maxAge),minInvalidatedStateIndex=1/0);break}case UPDATE:{if(computedStates.filter(state=>state.error).length>0)minInvalidatedStateIndex=0,options.maxAge&&stagedActionIds.length>options.maxAge&&(computedStates=recomputeStates(computedStates,minInvalidatedStateIndex,reducer44,committedState,actionsById,stagedActionIds,skippedActionIds,errorHandler,isPaused),commitExcessActions(stagedActionIds.length-options.maxAge),minInvalidatedStateIndex=1/0);else{if(!isPaused&&!isLocked){currentStateIndex===stagedActionIds.length-1&¤tStateIndex++;let actionId=nextActionId++;actionsById[actionId]=new PerformAction(liftedAction,+Date.now()),stagedActionIds=[...stagedActionIds,actionId],minInvalidatedStateIndex=stagedActionIds.length-1,computedStates=recomputeStates(computedStates,minInvalidatedStateIndex,reducer44,committedState,actionsById,stagedActionIds,skippedActionIds,errorHandler,isPaused)}computedStates=computedStates.map(cmp=>__spreadProps(__spreadValues({},cmp),{state:reducer44(cmp.state,RECOMPUTE_ACTION)})),currentStateIndex=stagedActionIds.length-1,options.maxAge&&stagedActionIds.length>options.maxAge&&commitExcessActions(stagedActionIds.length-options.maxAge),minInvalidatedStateIndex=1/0}break}default:{minInvalidatedStateIndex=1/0;break}}return computedStates=recomputeStates(computedStates,minInvalidatedStateIndex,reducer44,committedState,actionsById,stagedActionIds,skippedActionIds,errorHandler,isPaused),monitorState=monitorReducer(monitorState,liftedAction),{monitorState,actionsById,nextActionId,stagedActionIds,skippedActionIds,committedState,currentStateIndex,computedStates,isLocked,isPaused}}}var StoreDevtools=(()=>{class StoreDevtools2{constructor(dispatcher,actions$,reducers$,extension,scannedActions,errorHandler,initialState48,config4){let liftedInitialState=liftInitialState(initialState48,config4.monitor),liftReducer=liftReducerWith(initialState48,liftedInitialState,errorHandler,config4.monitor,config4),liftedAction$=merge(merge(actions$.asObservable().pipe(skip(1)),extension.actions$).pipe(map(liftAction)),dispatcher,extension.liftedActions$).pipe(observeOn(queueScheduler)),liftedReducer$=reducers$.pipe(map(liftReducer)),zoneConfig=injectZoneConfig(config4.connectInZone),liftedStateSubject=new ReplaySubject(1);this.liftedStateSubscription=liftedAction$.pipe(withLatestFrom(liftedReducer$),emitInZone(zoneConfig),scan(({state:liftedState},[action,reducer44])=>{let reducedLiftedState=reducer44(liftedState,action);return action.type!==PERFORM_ACTION&&shouldFilterActions(config4)&&(reducedLiftedState=filterLiftedState(reducedLiftedState,config4.predicate,config4.actionsSafelist,config4.actionsBlocklist)),extension.notify(action,reducedLiftedState),{state:reducedLiftedState,action}},{state:liftedInitialState,action:null})).subscribe(({state,action})=>{if(liftedStateSubject.next(state),action.type===PERFORM_ACTION){let unliftedAction=action.action;scannedActions.next(unliftedAction)}}),this.extensionStartSubscription=extension.start$.pipe(emitInZone(zoneConfig)).subscribe(()=>{this.refresh()});let liftedState$=liftedStateSubject.asObservable(),state$=liftedState$.pipe(map(unliftState));Object.defineProperty(state$,"state",{value:toSignal(state$,{manualCleanup:!0,requireSync:!0})}),this.dispatcher=dispatcher,this.liftedState=liftedState$,this.state=state$}ngOnDestroy(){this.liftedStateSubscription.unsubscribe(),this.extensionStartSubscription.unsubscribe()}dispatch(action){this.dispatcher.next(action)}next(action){this.dispatcher.next(action)}error(error3){}complete(){}performAction(action){this.dispatch(new PerformAction(action,+Date.now()))}refresh(){this.dispatch(new Refresh)}reset(){this.dispatch(new Reset(+Date.now()))}rollback(){this.dispatch(new Rollback(+Date.now()))}commit(){this.dispatch(new Commit(+Date.now()))}sweep(){this.dispatch(new Sweep)}toggleAction(id){this.dispatch(new ToggleAction(id))}jumpToAction(actionId){this.dispatch(new JumpToAction(actionId))}jumpToState(index){this.dispatch(new JumpToState(index))}importState(nextLiftedState){this.dispatch(new ImportState(nextLiftedState))}lockChanges(status){this.dispatch(new LockChanges(status))}pauseRecording(status){this.dispatch(new PauseRecording(status))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||StoreDevtools2)(\u0275\u0275inject(DevtoolsDispatcher),\u0275\u0275inject(ActionsSubject),\u0275\u0275inject(ReducerObservable),\u0275\u0275inject(DevtoolsExtension),\u0275\u0275inject(ScannedActionsSubject),\u0275\u0275inject(ErrorHandler),\u0275\u0275inject(INITIAL_STATE),\u0275\u0275inject(STORE_DEVTOOLS_CONFIG))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:StoreDevtools2,factory:StoreDevtools2.\u0275fac})}}return StoreDevtools2})();function emitInZone({ngZone,connectInZone}){return source=>connectInZone?new Observable(subscriber=>source.subscribe({next:value=>ngZone.run(()=>subscriber.next(value)),error:error3=>ngZone.run(()=>subscriber.error(error3)),complete:()=>ngZone.run(()=>subscriber.complete())})):source}var IS_EXTENSION_OR_MONITOR_PRESENT=new InjectionToken("@ngrx/store-devtools Is Devtools Extension or Monitor Present");function createIsExtensionOrMonitorPresent(extension,config4){return!!extension||config4.monitor!==noMonitor}function createReduxDevtoolsExtension(){let extensionKey="__REDUX_DEVTOOLS_EXTENSION__";return typeof window=="object"&&typeof window[extensionKey]<"u"?window[extensionKey]:null}function createStateObservable(devtools){return devtools.state}function provideStoreDevtools(options={}){return makeEnvironmentProviders([DevtoolsExtension,DevtoolsDispatcher,StoreDevtools,{provide:INITIAL_OPTIONS,useValue:options},{provide:IS_EXTENSION_OR_MONITOR_PRESENT,deps:[REDUX_DEVTOOLS_EXTENSION,STORE_DEVTOOLS_CONFIG],useFactory:createIsExtensionOrMonitorPresent},{provide:REDUX_DEVTOOLS_EXTENSION,useFactory:createReduxDevtoolsExtension},{provide:STORE_DEVTOOLS_CONFIG,deps:[INITIAL_OPTIONS],useFactory:createConfig},{provide:StateObservable,deps:[StoreDevtools],useFactory:createStateObservable},{provide:ReducerManagerDispatcher,useExisting:DevtoolsDispatcher}])}var StoreDevtoolsModule=(()=>{class StoreDevtoolsModule2{static instrument(options={}){return{ngModule:StoreDevtoolsModule2,providers:[provideStoreDevtools(options)]}}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||StoreDevtoolsModule2)}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:StoreDevtoolsModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({})}}return StoreDevtoolsModule2})();var DEBUG_BUILD=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__;var GLOBAL_OBJ=globalThis;var SDK_VERSION="10.43.0";function getMainCarrier(){return getSentryCarrier(GLOBAL_OBJ),GLOBAL_OBJ}function getSentryCarrier(carrier){let __SENTRY__=carrier.__SENTRY__=carrier.__SENTRY__||{};return __SENTRY__.version=__SENTRY__.version||SDK_VERSION,__SENTRY__[SDK_VERSION]=__SENTRY__[SDK_VERSION]||{}}function getGlobalSingleton(name,creator,obj=GLOBAL_OBJ){let __SENTRY__=obj.__SENTRY__=obj.__SENTRY__||{},carrier=__SENTRY__[SDK_VERSION]=__SENTRY__[SDK_VERSION]||{};return carrier[name]||(carrier[name]=creator())}var PREFIX="Sentry Logger ",originalConsoleMethods={};function consoleSandbox(callback){if(!("console"in GLOBAL_OBJ))return callback();let console2=GLOBAL_OBJ.console,wrappedFuncs={},wrappedLevels=Object.keys(originalConsoleMethods);wrappedLevels.forEach(level=>{let originalConsoleMethod=originalConsoleMethods[level];wrappedFuncs[level]=console2[level],console2[level]=originalConsoleMethod});try{return callback()}finally{wrappedLevels.forEach(level=>{console2[level]=wrappedFuncs[level]})}}function enable(){_getLoggerSettings().enabled=!0}function disable(){_getLoggerSettings().enabled=!1}function isEnabled(){return _getLoggerSettings().enabled}function log(...args){_maybeLog("log",...args)}function warn2(...args){_maybeLog("warn",...args)}function error2(...args){_maybeLog("error",...args)}function _maybeLog(level,...args){DEBUG_BUILD&&isEnabled()&&consoleSandbox(()=>{GLOBAL_OBJ.console[level](`${PREFIX}[${level}]:`,...args)})}function _getLoggerSettings(){return DEBUG_BUILD?getGlobalSingleton("loggerSettings",()=>({enabled:!1})):{enabled:!1}}var debug={enable,disable,isEnabled,log,warn:warn2,error:error2};var objectToString=Object.prototype.toString;function isBuiltin(wat,className){return objectToString.call(wat)===`[object ${className}]`}function isPlainObject(wat){return isBuiltin(wat,"Object")}function isThenable(wat){return!!(wat?.then&&typeof wat.then=="function")}function addNonEnumerableProperty(obj,name,value){try{Object.defineProperty(obj,name,{value,writable:!0,configurable:!0})}catch(e){DEBUG_BUILD&&debug.log(`Failed to add non-enumerable property "${name}" to object`,obj)}}var RESOLVED_RUNNER;function withRandomSafeContext(cb){if(RESOLVED_RUNNER!==void 0)return RESOLVED_RUNNER?RESOLVED_RUNNER(cb):cb();let sym=Symbol.for("__SENTRY_SAFE_RANDOM_ID_WRAPPER__"),globalWithSymbol=GLOBAL_OBJ;return sym in globalWithSymbol&&typeof globalWithSymbol[sym]=="function"?(RESOLVED_RUNNER=globalWithSymbol[sym],RESOLVED_RUNNER(cb)):(RESOLVED_RUNNER=null,cb())}function safeMathRandom(){return withRandomSafeContext(()=>Math.random())}function safeDateNow(){return withRandomSafeContext(()=>Date.now())}function truncate(str,max3=0){return typeof str!="string"||max3===0||str.length<=max3?str:`${str.slice(0,max3)}...`}function getCrypto(){let gbl=GLOBAL_OBJ;return gbl.crypto||gbl.msCrypto}var emptyUuid;function getRandomByte(){return safeMathRandom()*16}function uuid4(crypto2=getCrypto()){try{if(crypto2?.randomUUID)return withRandomSafeContext(()=>crypto2.randomUUID()).replace(/-/g,"")}catch(e){}return emptyUuid||(emptyUuid="10000000100040008000"+1e11),emptyUuid.replace(/[018]/g,c=>(c^(getRandomByte()&15)>>c/4).toString(16))}var ONE_SECOND_IN_MS=1e3;function dateTimestampInSeconds(){return safeDateNow()/ONE_SECOND_IN_MS}function createUnixTimestampInSecondsFunc(){let{performance:performance2}=GLOBAL_OBJ;if(!performance2?.now||!performance2.timeOrigin)return dateTimestampInSeconds;let timeOrigin=performance2.timeOrigin;return()=>(timeOrigin+withRandomSafeContext(()=>performance2.now()))/ONE_SECOND_IN_MS}var _cachedTimestampInSeconds;function timestampInSeconds(){return(_cachedTimestampInSeconds??(_cachedTimestampInSeconds=createUnixTimestampInSecondsFunc()))()}function updateSession(session,context3={}){if(context3.user&&(!session.ipAddress&&context3.user.ip_address&&(session.ipAddress=context3.user.ip_address),!session.did&&!context3.did&&(session.did=context3.user.id||context3.user.email||context3.user.username)),session.timestamp=context3.timestamp||timestampInSeconds(),context3.abnormal_mechanism&&(session.abnormal_mechanism=context3.abnormal_mechanism),context3.ignoreDuration&&(session.ignoreDuration=context3.ignoreDuration),context3.sid&&(session.sid=context3.sid.length===32?context3.sid:uuid4()),context3.init!==void 0&&(session.init=context3.init),!session.did&&context3.did&&(session.did=`${context3.did}`),typeof context3.started=="number"&&(session.started=context3.started),session.ignoreDuration)session.duration=void 0;else if(typeof context3.duration=="number")session.duration=context3.duration;else{let duration=session.timestamp-session.started;session.duration=duration>=0?duration:0}context3.release&&(session.release=context3.release),context3.environment&&(session.environment=context3.environment),!session.ipAddress&&context3.ipAddress&&(session.ipAddress=context3.ipAddress),!session.userAgent&&context3.userAgent&&(session.userAgent=context3.userAgent),typeof context3.errors=="number"&&(session.errors=context3.errors),context3.status&&(session.status=context3.status)}function merge3(initialObj,mergeObj,levels=2){if(!mergeObj||typeof mergeObj!="object"||levels<=0)return mergeObj;if(initialObj&&Object.keys(mergeObj).length===0)return initialObj;let output2=__spreadValues({},initialObj);for(let key in mergeObj)Object.prototype.hasOwnProperty.call(mergeObj,key)&&(output2[key]=merge3(output2[key],mergeObj[key],levels-1));return output2}function generateTraceId(){return uuid4()}var SCOPE_SPAN_FIELD="_sentrySpan";function _setSpanForScope(scope,span){span?addNonEnumerableProperty(scope,SCOPE_SPAN_FIELD,span):delete scope[SCOPE_SPAN_FIELD]}function _getSpanForScope(scope){return scope[SCOPE_SPAN_FIELD]}var DEFAULT_MAX_BREADCRUMBS=100,Scope=class _Scope{constructor(){this._notifyingListeners=!1,this._scopeListeners=[],this._eventProcessors=[],this._breadcrumbs=[],this._attachments=[],this._user={},this._tags={},this._attributes={},this._extra={},this._contexts={},this._sdkProcessingMetadata={},this._propagationContext={traceId:generateTraceId(),sampleRand:safeMathRandom()}}clone(){let newScope=new _Scope;return newScope._breadcrumbs=[...this._breadcrumbs],newScope._tags=__spreadValues({},this._tags),newScope._attributes=__spreadValues({},this._attributes),newScope._extra=__spreadValues({},this._extra),newScope._contexts=__spreadValues({},this._contexts),this._contexts.flags&&(newScope._contexts.flags={values:[...this._contexts.flags.values]}),newScope._user=this._user,newScope._level=this._level,newScope._session=this._session,newScope._transactionName=this._transactionName,newScope._fingerprint=this._fingerprint,newScope._eventProcessors=[...this._eventProcessors],newScope._attachments=[...this._attachments],newScope._sdkProcessingMetadata=__spreadValues({},this._sdkProcessingMetadata),newScope._propagationContext=__spreadValues({},this._propagationContext),newScope._client=this._client,newScope._lastEventId=this._lastEventId,newScope._conversationId=this._conversationId,_setSpanForScope(newScope,_getSpanForScope(this)),newScope}setClient(client){this._client=client}setLastEventId(lastEventId2){this._lastEventId=lastEventId2}getClient(){return this._client}lastEventId(){return this._lastEventId}addScopeListener(callback){this._scopeListeners.push(callback)}addEventProcessor(callback){return this._eventProcessors.push(callback),this}setUser(user){return this._user=user||{email:void 0,id:void 0,ip_address:void 0,username:void 0},this._session&&updateSession(this._session,{user}),this._notifyScopeListeners(),this}getUser(){return this._user}setConversationId(conversationId){return this._conversationId=conversationId||void 0,this._notifyScopeListeners(),this}setTags(tags){return this._tags=__spreadValues(__spreadValues({},this._tags),tags),this._notifyScopeListeners(),this}setTag(key,value){return this.setTags({[key]:value})}setAttributes(newAttributes){return this._attributes=__spreadValues(__spreadValues({},this._attributes),newAttributes),this._notifyScopeListeners(),this}setAttribute(key,value){return this.setAttributes({[key]:value})}removeAttribute(key){return key in this._attributes&&(delete this._attributes[key],this._notifyScopeListeners()),this}setExtras(extras){return this._extra=__spreadValues(__spreadValues({},this._extra),extras),this._notifyScopeListeners(),this}setExtra(key,extra){return this._extra=__spreadProps(__spreadValues({},this._extra),{[key]:extra}),this._notifyScopeListeners(),this}setFingerprint(fingerprint){return this._fingerprint=fingerprint,this._notifyScopeListeners(),this}setLevel(level){return this._level=level,this._notifyScopeListeners(),this}setTransactionName(name){return this._transactionName=name,this._notifyScopeListeners(),this}setContext(key,context3){return context3===null?delete this._contexts[key]:this._contexts[key]=context3,this._notifyScopeListeners(),this}setSession(session){return session?this._session=session:delete this._session,this._notifyScopeListeners(),this}getSession(){return this._session}update(captureContext){if(!captureContext)return this;let scopeToMerge=typeof captureContext=="function"?captureContext(this):captureContext,scopeInstance=scopeToMerge instanceof _Scope?scopeToMerge.getScopeData():isPlainObject(scopeToMerge)?captureContext:void 0,{tags,attributes,extra,user,contexts,level,fingerprint=[],propagationContext,conversationId}=scopeInstance||{};return this._tags=__spreadValues(__spreadValues({},this._tags),tags),this._attributes=__spreadValues(__spreadValues({},this._attributes),attributes),this._extra=__spreadValues(__spreadValues({},this._extra),extra),this._contexts=__spreadValues(__spreadValues({},this._contexts),contexts),user&&Object.keys(user).length&&(this._user=user),level&&(this._level=level),fingerprint.length&&(this._fingerprint=fingerprint),propagationContext&&(this._propagationContext=propagationContext),conversationId&&(this._conversationId=conversationId),this}clear(){return this._breadcrumbs=[],this._tags={},this._attributes={},this._extra={},this._user={},this._contexts={},this._level=void 0,this._transactionName=void 0,this._fingerprint=void 0,this._session=void 0,this._conversationId=void 0,_setSpanForScope(this,void 0),this._attachments=[],this.setPropagationContext({traceId:generateTraceId(),sampleRand:safeMathRandom()}),this._notifyScopeListeners(),this}addBreadcrumb(breadcrumb,maxBreadcrumbs){let maxCrumbs=typeof maxBreadcrumbs=="number"?maxBreadcrumbs:DEFAULT_MAX_BREADCRUMBS;if(maxCrumbs<=0)return this;let mergedBreadcrumb=__spreadProps(__spreadValues({timestamp:dateTimestampInSeconds()},breadcrumb),{message:breadcrumb.message?truncate(breadcrumb.message,2048):breadcrumb.message});return this._breadcrumbs.push(mergedBreadcrumb),this._breadcrumbs.length>maxCrumbs&&(this._breadcrumbs=this._breadcrumbs.slice(-maxCrumbs),this._client?.recordDroppedEvent("buffer_overflow","log_item")),this._notifyScopeListeners(),this}getLastBreadcrumb(){return this._breadcrumbs[this._breadcrumbs.length-1]}clearBreadcrumbs(){return this._breadcrumbs=[],this._notifyScopeListeners(),this}addAttachment(attachment){return this._attachments.push(attachment),this}clearAttachments(){return this._attachments=[],this}getScopeData(){return{breadcrumbs:this._breadcrumbs,attachments:this._attachments,contexts:this._contexts,tags:this._tags,attributes:this._attributes,extra:this._extra,user:this._user,level:this._level,fingerprint:this._fingerprint||[],eventProcessors:this._eventProcessors,propagationContext:this._propagationContext,sdkProcessingMetadata:this._sdkProcessingMetadata,transactionName:this._transactionName,span:_getSpanForScope(this),conversationId:this._conversationId}}setSDKProcessingMetadata(newData){return this._sdkProcessingMetadata=merge3(this._sdkProcessingMetadata,newData,2),this}setPropagationContext(context3){return this._propagationContext=context3,this}getPropagationContext(){return this._propagationContext}captureException(exception,hint){let eventId=hint?.event_id||uuid4();if(!this._client)return DEBUG_BUILD&&debug.warn("No client configured on scope - will not capture exception!"),eventId;let syntheticException=new Error("Sentry syntheticException");return this._client.captureException(exception,__spreadProps(__spreadValues({originalException:exception,syntheticException},hint),{event_id:eventId}),this),eventId}captureMessage(message,level,hint){let eventId=hint?.event_id||uuid4();if(!this._client)return DEBUG_BUILD&&debug.warn("No client configured on scope - will not capture message!"),eventId;let syntheticException=hint?.syntheticException??new Error(message);return this._client.captureMessage(message,level,__spreadProps(__spreadValues({originalException:message,syntheticException},hint),{event_id:eventId}),this),eventId}captureEvent(event2,hint){let eventId=event2.event_id||hint?.event_id||uuid4();return this._client?(this._client.captureEvent(event2,__spreadProps(__spreadValues({},hint),{event_id:eventId}),this),eventId):(DEBUG_BUILD&&debug.warn("No client configured on scope - will not capture event!"),eventId)}_notifyScopeListeners(){this._notifyingListeners||(this._notifyingListeners=!0,this._scopeListeners.forEach(callback=>{callback(this)}),this._notifyingListeners=!1)}};function getDefaultCurrentScope(){return getGlobalSingleton("defaultCurrentScope",()=>new Scope)}function getDefaultIsolationScope(){return getGlobalSingleton("defaultIsolationScope",()=>new Scope)}var AsyncContextStack=class{constructor(scope,isolationScope){let assignedScope;scope?assignedScope=scope:assignedScope=new Scope;let assignedIsolationScope;isolationScope?assignedIsolationScope=isolationScope:assignedIsolationScope=new Scope,this._stack=[{scope:assignedScope}],this._isolationScope=assignedIsolationScope}withScope(callback){let scope=this._pushScope(),maybePromiseResult;try{maybePromiseResult=callback(scope)}catch(e){throw this._popScope(),e}return isThenable(maybePromiseResult)?maybePromiseResult.then(res=>(this._popScope(),res),e=>{throw this._popScope(),e}):(this._popScope(),maybePromiseResult)}getClient(){return this.getStackTop().client}getScope(){return this.getStackTop().scope}getIsolationScope(){return this._isolationScope}getStackTop(){return this._stack[this._stack.length-1]}_pushScope(){let scope=this.getScope().clone();return this._stack.push({client:this.getClient(),scope}),scope}_popScope(){return this._stack.length<=1?!1:!!this._stack.pop()}};function getAsyncContextStack(){let registry=getMainCarrier(),sentry=getSentryCarrier(registry);return sentry.stack=sentry.stack||new AsyncContextStack(getDefaultCurrentScope(),getDefaultIsolationScope())}function withScope(callback){return getAsyncContextStack().withScope(callback)}function withSetScope(scope,callback){let stack=getAsyncContextStack();return stack.withScope(()=>(stack.getStackTop().scope=scope,callback(scope)))}function withIsolationScope(callback){return getAsyncContextStack().withScope(()=>callback(getAsyncContextStack().getIsolationScope()))}function getStackAsyncContextStrategy(){return{withIsolationScope,withScope,withSetScope,withSetIsolationScope:(_isolationScope,callback)=>withIsolationScope(callback),getCurrentScope:()=>getAsyncContextStack().getScope(),getIsolationScope:()=>getAsyncContextStack().getIsolationScope()}}function getAsyncContextStrategy(carrier){let sentry=getSentryCarrier(carrier);return sentry.acs?sentry.acs:getStackAsyncContextStrategy()}function getCurrentScope(){let carrier=getMainCarrier();return getAsyncContextStrategy(carrier).getCurrentScope()}function getIsolationScope(){let carrier=getMainCarrier();return getAsyncContextStrategy(carrier).getIsolationScope()}function getClient(){return getCurrentScope().getClient()}var DEFAULT_BREADCRUMBS=100;function addBreadcrumb(breadcrumb,hint){let client=getClient(),isolationScope=getIsolationScope();if(!client)return;let{beforeBreadcrumb=null,maxBreadcrumbs=DEFAULT_BREADCRUMBS}=client.getOptions();if(maxBreadcrumbs<=0)return;let timestamp2=dateTimestampInSeconds(),mergedBreadcrumb=__spreadValues({timestamp:timestamp2},breadcrumb),finalBreadcrumb=beforeBreadcrumb?consoleSandbox(()=>beforeBreadcrumb(mergedBreadcrumb,hint)):mergedBreadcrumb;finalBreadcrumb!==null&&(client.emit&&client.emit("beforeAddBreadcrumb",finalBreadcrumb,hint),isolationScope.addBreadcrumb(finalBreadcrumb,maxBreadcrumbs))}function sentryNgrxMetaReducer(reducer44){return function(state,action){return addBreadcrumb({category:"ngrx",message:action.type,level:"info"}),reducer44(state,action)}}var reducers={router:routerReducer},metaReducers=environment.production?[sentryNgrxMetaReducer]:[];var AppEffects=(()=>{class AppEffects2{constructor(){this.actions$=inject(Actions),this.location=inject(Location),this.router=inject(Router),this.company2faRequired$=createEffect(()=>this.actions$.pipe(ofType(loadMeFailure),mergeMap(({errors:errors2})=>errors2.some(error3=>error3.message===IxApiRequestErrorMessages.TWO_FACTOR_AUTH_REQUIRED)?of(redirectTo2faRequired()):EMPTY))),this.redirectTo2faRequired$=createEffect(()=>this.actions$.pipe(ofType(redirectTo2faRequired),tap(()=>{this.router.navigate(["/two-factor-auth-required"],{skipLocationChange:!0})})),{dispatch:!1})}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AppEffects2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AppEffects2,factory:AppEffects2.\u0275fac})}}return AppEffects2})();var AppStateModule=(()=>{class AppStateModule2{static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AppStateModule2)}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:AppStateModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({imports:[TranslateModule,StoreModule.forRoot(reducers,{metaReducers,runtimeChecks:{strictStateImmutability:!environment.production,strictActionImmutability:!environment.production,strictStateSerializability:!environment.production}}),environment.production?[]:[StoreDevtoolsModule.instrument({maxAge:50,connectInZone:!0})],EffectsModule.forRoot([AppEffects])]})}}return AppStateModule2})();function generateBanner(metadata,translate){let header=document.createElement("div");return header.innerHTML=`
|
|
893
|
+
`,""].includes(deltaOperations[0].insert?.toString()||""),minLength=this.minLength();minLength&&textLength&&textLength<minLength&&(err.minLengthError={given:textLength,minLength},valid=!1);let maxLength=this.maxLength();return maxLength&&textLength>maxLength&&(err.maxLengthError={given:textLength,maxLength},valid=!1),this.required()&&!textLength&&onlyEmptyOperation&&(err.requiredError={empty:!0},valid=!1),valid?null:err}addQuillEventListeners(){this.dispose(),this.eventsSubscription=new Subscription,this.eventsSubscription.add(fromEvent(this.quillEditor,"selection-change").subscribe(([range4,oldRange,source])=>{this.selectionChangeHandler(range4,oldRange,source)}));let textChange$=fromEvent(this.quillEditor,"text-change"),editorChange$=fromEvent(this.quillEditor,"editor-change"),_debounceTime=this.debounceTime();typeof _debounceTime=="number"&&(textChange$=textChange$.pipe(debounceTime(_debounceTime)),editorChange$=editorChange$.pipe(debounceTime(_debounceTime))),this.eventsSubscription.add(textChange$.subscribe(([delta,oldDelta,source])=>{this.textChangeHandler(delta,oldDelta,source)})),this.eventsSubscription.add(editorChange$.subscribe(([event2,current,old,source])=>{this.editorChangeHandler(event2,current,old,source)}))}dispose(){this.eventsSubscription?.unsubscribe(),this.eventsSubscription=null}isEmptyValue(html){return html==="<p></p>"||html==="<div></div>"||html==="<p><br></p>"||html==="<div><br></div>"}getter(quillEditor,forceFormat){let modelValue=null,format3=forceFormat??getFormat2(this.format(),this.service.config.format);if(format3==="html"){let html=quillEditor.getSemanticHTML();this.isEmptyValue(html)&&(html=this.defaultEmptyValue()),modelValue=html}else if(format3==="text")modelValue=quillEditor.getText();else if(format3==="object")modelValue=quillEditor.getContents();else if(format3==="json")try{modelValue=JSON.stringify(quillEditor.getContents())}catch(e){modelValue=quillEditor.getText()}return modelValue}eventCallbackFormats(){let format3=getFormat2(this.format(),this.service.config.format),onlyFormat=this.onlyFormatEventData()===!0,noFormat=this.onlyFormatEventData()==="none",text2=null,html=null,object=null,json=null;if(noFormat)return{format:format3,onlyFormat,noFormat,text:text2,object,json,html};let value=this.valueGetter()(this.quillEditor);return format3==="text"?text2=value:format3==="html"?html=value:format3==="object"?(object=value,json=JSON.stringify(value)):format3==="json"&&(json=value,object=JSON.parse(value)),onlyFormat?{format:format3,onlyFormat,noFormat,text:text2,json,html,object}:{format:format3,onlyFormat,noFormat,text:format3==="text"?text2:this.getter(this.quillEditor,"text"),json:format3==="json"?json:this.getter(this.quillEditor,"json"),html:format3==="html"?html:this.getter(this.quillEditor,"html"),object:format3==="object"?object:this.getter(this.quillEditor,"object")}}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||QuillEditorBase2)}}static{this.\u0275dir=\u0275\u0275defineDirective({type:QuillEditorBase2,inputs:{format:[1,"format"],theme:[1,"theme"],modules:[1,"modules"],debug:[1,"debug"],readOnly:[1,"readOnly"],placeholder:[1,"placeholder"],maxLength:[1,"maxLength"],minLength:[1,"minLength"],required:[1,"required"],formats:[1,"formats"],customToolbarPosition:[1,"customToolbarPosition"],sanitize:[1,"sanitize"],beforeRender:[1,"beforeRender"],styles:[1,"styles"],registry:[1,"registry"],bounds:[1,"bounds"],customOptions:[1,"customOptions"],customModules:[1,"customModules"],trackChanges:[1,"trackChanges"],classes:[1,"classes"],trimOnValidation:[1,"trimOnValidation"],linkPlaceholder:[1,"linkPlaceholder"],compareValues:[1,"compareValues"],filterNull:[1,"filterNull"],debounceTime:[1,"debounceTime"],onlyFormatEventData:[1,"onlyFormatEventData"],defaultEmptyValue:[1,"defaultEmptyValue"],valueGetter:[1,"valueGetter"],valueSetter:[1,"valueSetter"]},outputs:{onEditorCreated:"onEditorCreated",onEditorChanged:"onEditorChanged",onContentChanged:"onContentChanged",onSelectionChanged:"onSelectionChanged",onFocus:"onFocus",onBlur:"onBlur",onNativeFocus:"onNativeFocus",onNativeBlur:"onNativeBlur"}})}}return QuillEditorBase2})(),QuillEditorComponent=(()=>{class QuillEditorComponent2 extends QuillEditorBase{static{this.\u0275fac=(()=>{let \u0275QuillEditorComponent_BaseFactory;return function(__ngFactoryType__){return(\u0275QuillEditorComponent_BaseFactory||(\u0275QuillEditorComponent_BaseFactory=\u0275\u0275getInheritedFactory(QuillEditorComponent2)))(__ngFactoryType__||QuillEditorComponent2)}})()}static{this.\u0275cmp=\u0275\u0275defineComponent({type:QuillEditorComponent2,selectors:[["quill-editor"]],features:[\u0275\u0275ProvidersFeature([{multi:!0,provide:NG_VALUE_ACCESSOR,useExisting:forwardRef(()=>QuillEditorComponent2)},{multi:!0,provide:NG_VALIDATORS,useExisting:forwardRef(()=>QuillEditorComponent2)}]),\u0275\u0275InheritDefinitionFeature],ngContentSelectors:_c19,decls:5,vars:2,consts:[["quill-editor-element",""]],template:function(rf,ctx){rf&1&&(\u0275\u0275projectionDef(_c018),\u0275\u0275conditionalCreate(0,QuillEditorComponent_Conditional_0_Template,1,0,"div",0),\u0275\u0275projection(1),\u0275\u0275projection(2,1),\u0275\u0275projection(3,2),\u0275\u0275conditionalCreate(4,QuillEditorComponent_Conditional_4_Template,1,0,"div",0)),rf&2&&(\u0275\u0275conditional(ctx.toolbarPosition()!=="top"?0:-1),\u0275\u0275advance(4),\u0275\u0275conditional(ctx.toolbarPosition()==="top"?4:-1))},styles:["[_nghost-%COMP%]{display:inline-block}"],changeDetection:0})}}return QuillEditorComponent2})();function renderMarkdownToHtml(markdown){let markdownIt=new lib_default({typographer:!0}),defaultRender=markdownIt.renderer.rules.link_open||function(tokens,idx,options,env,self2){return self2.renderToken(tokens,idx,options)};return markdownIt.renderer.rules.link_open=function(tokens,idx,options,env,self2){return tokens[idx].attrPush(["target","_blank"]),defaultRender(tokens,idx,options,env,self2)},markdownIt.render(markdown)}var indentRegex=/^ql-indent-([0-9]+)/;function addStylingToQuillContent(content){let htmlObject=document.createElement("div");return htmlObject.innerHTML=content,addStylingToHtmlChildNodes(htmlObject.childNodes),htmlObject.innerHTML}function addStylingToHtmlChildNodes(children){children.forEach(child=>{let element=child;setCodeBlockStyling(element),setIndentStyling(element),setListStyling(element),setQuotesStyling(element),child.childNodes.length&&addStylingToHtmlChildNodes(child.childNodes)})}function setCodeBlockStyling(element){element.tagName==="PRE"&&(element.hasAttribute("data-language")||element.classList?.contains("ql-syntax"))&&(element.style.backgroundColor="#f6f8fa",element.style.color="initial",element.style.overflow="visible",element.style.padding="5px 10px")}function setIndentStyling(element){element.classList?.forEach(className=>{let matches=className.match(indentRegex);if(matches?.[1]){let identNumber=parseInt(matches?.[1]);element.style.paddingLeft=3*identNumber+"em"}})}function setListStyling(element){element.tagName==="OL"&&(element.style.paddingLeft="1.5em"),element.tagName==="LI"&&(element.style.listStylePosition="inside")}function setQuotesStyling(element){element.tagName==="BLOCKQUOTE"&&(element.style.borderLeft="4px solid #ccc",element.style.margin="5px 0",element.style.paddingLeft="16px")}function registerQuillModules(){registerAlignStyle(),registerBlock()}function registerAlignStyle(){let alignStyle=quill_default.import("attributors/style/align");quill_default.register(alignStyle,!0)}function registerBlock(){let block2=quill_default.import("blots/block");block2.tagName="DIV",quill_default.register(block2)}var _c019=()=>({height:"400px"});function RichTextFormFieldComponent_Conditional_0_Template(rf,ctx){if(rf&1){let _r1=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"form",0)(1,"quill-editor",2),\u0275\u0275listener("onEditorCreated",function($event){\u0275\u0275restoreView(_r1);let ctx_r1=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r1.onEditorCreated($event))})("keydown.backspace",function($event){return $event.stopPropagation()})("keydown.delete",function($event){return $event.stopPropagation()}),\u0275\u0275elementStart(2,"div",3)(3,"span",4)(4,"select",5),\u0275\u0275element(5,"option",6)(6,"option",7)(7,"option",8)(8,"option",9)(9,"option",10)(10,"option",11),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(11,"span",4),\u0275\u0275element(12,"button",12)(13,"button",13)(14,"button",14)(15,"button",15),\u0275\u0275elementEnd(),\u0275\u0275elementStart(16,"span",4),\u0275\u0275element(17,"button",16)(18,"button",17),\u0275\u0275elementEnd(),\u0275\u0275elementStart(19,"span",4)(20,"select",18),\u0275\u0275element(21,"option",6)(22,"option",19)(23,"option",20)(24,"option",21),\u0275\u0275elementEnd(),\u0275\u0275element(25,"button",22)(26,"button",23),\u0275\u0275elementEnd(),\u0275\u0275elementStart(27,"span",4),\u0275\u0275element(28,"button",24)(29,"button",25),\u0275\u0275elementEnd(),\u0275\u0275elementStart(30,"span",4),\u0275\u0275element(31,"button",26)(32,"button",27)(33,"button",28),\u0275\u0275elementEnd()()()()}if(rf&2){let ctx_r1=\u0275\u0275nextContext();\u0275\u0275property("formGroup",ctx_r1.form),\u0275\u0275advance(),\u0275\u0275property("styles",\u0275\u0275pureFunction0(16,_c019))("placeholder",ctx_r1.field.inputDescription.placeholder||""),\u0275\u0275advance(11),\u0275\u0275property("matTooltip","Bold"),\u0275\u0275advance(),\u0275\u0275property("matTooltip","Italic"),\u0275\u0275advance(),\u0275\u0275property("matTooltip","Underline"),\u0275\u0275advance(),\u0275\u0275property("matTooltip","Strike-through"),\u0275\u0275advance(2),\u0275\u0275property("matTooltip","Text color"),\u0275\u0275advance(),\u0275\u0275property("matTooltip","Highlight color"),\u0275\u0275advance(7),\u0275\u0275property("matTooltip","Decrease indent"),\u0275\u0275advance(),\u0275\u0275property("matTooltip","Increase indent"),\u0275\u0275advance(2),\u0275\u0275property("matTooltip","Bulleted list"),\u0275\u0275advance(),\u0275\u0275property("matTooltip","Numbered list"),\u0275\u0275advance(2),\u0275\u0275property("matTooltip","Blockquote"),\u0275\u0275advance(),\u0275\u0275property("matTooltip","Code Block"),\u0275\u0275advance(),\u0275\u0275property("matTooltip","Insert link")}}function RichTextFormFieldComponent_Conditional_1_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"div",1)(1,"textarea",29),\u0275\u0275listener("keydown.enter",function($event){return $event.stopPropagation()}),\u0275\u0275elementEnd(),\u0275\u0275elementStart(2,"a",30),\u0275\u0275pipe(3,"translate"),\u0275\u0275elementStart(4,"mat-icon"),\u0275\u0275text(5,"markdown"),\u0275\u0275elementEnd()()()),rf&2){let ctx_r1=\u0275\u0275nextContext();\u0275\u0275advance(),\u0275\u0275property("formControl",ctx_r1.form.controls.editor)("placeholder",ctx_r1.field.inputDescription.placeholder||""),\u0275\u0275advance(),\u0275\u0275property("matTooltip",\u0275\u0275pipeBind1(3,4,"MARKDOWN_IS_SUPPORTED"))("matTooltipPosition","left")}}var RichTextFormFieldComponent=(()=>{class RichTextFormFieldComponent2{constructor(){this.mode="rich-text",this.modeChange=new EventEmitter,this.valueChange=new EventEmitter,this.destroy=inject(DestroyRef),this.dialog=inject(MatDialog),this.doc=inject(DOCUMENT),this.formBuilder=inject(FormBuilder),this.colorPickerPanelService=inject(ColorPickerPanelService),this.ngZone=inject(NgZone),this.translate=inject(TranslateService),this.activeMode="rich-text",this.modules={toolbar:{container:"#toolbar"}},this.form=this.formBuilder.nonNullable.group({editor:[""]})}blockPaste(e){e.stopPropagation()}blockCopy(e){e.stopPropagation()}blockCut(e){e.stopPropagation()}get isDark(){return this.doc.body.classList.contains("dark")}ngOnInit(){registerQuillModules(),typeof this.field.value=="string"&&this.form.setValue({editor:this.field.value}),this.form.controls.editor.valueChanges.pipe(takeUntilDestroyed(this.destroy)).subscribe(value=>this.valueChange.emit(this.mode==="rich-text"?addStylingToQuillContent(value):value))}ngOnChanges(changes){changes.mode.firstChange&&(this.activeMode=this.mode),changes.mode.previousValue==="plain-text"&&changes.mode.currentValue==="rich-text"&&this.switchFromPlainTextToRichText(),changes.mode.previousValue==="rich-text"&&changes.mode.currentValue==="plain-text"&&this.mode!==this.activeMode&&(this.previousFormValue=this.form.value,this.activeMode=this.mode)}onEditorCreated(editor){this.quill=editor;let toolbar=editor.getModule("toolbar"),backgroundButton=toolbar.container?.querySelector(".ql-background"),colorButton=toolbar.container?.querySelector(".ql-color");backgroundButton&&toolbar.addHandler("background",()=>this.openColorPicker(backgroundButton,"background")),colorButton&&toolbar.addHandler("color",()=>this.openColorPicker(colorButton,"color")),editor.on("selection-change",range4=>{range4&&(this.setColorButtonColor(range4),this.setBackgroundButtonColor(range4))})}getColors(colors){return[...colors||[],"#F44336","#2196F3","#4CAF50","#FFC107","#9E9E9E"]}openColorPicker(element,format3){this.ngZone.run(()=>{let range4=this.quill.getSelection();if(range4){let defaultForegroundColor=this.isDark?"#FFFFFF":"#000000",defaultBackgroundColor=this.isDark?"#000000":"#FFFFFF",defaultColor=format3==="color"?defaultForegroundColor:defaultBackgroundColor,item=this.quill.getFormat(range4),colors=this.getColors([defaultColor]),currentColor=(item[format3]??defaultColor).toUpperCase(),colorPickerColor=currentColor==="TRANSPARENT"?defaultColor:currentColor;colors.includes(colorPickerColor)||colors.push(colorPickerColor),this.colorPickerPanelService.show(element,{color:colorPickerColor,colors}).afterClosed().subscribe(color=>{this.quill.format(format3,color===defaultColor?!1:color,quill_default.sources.USER),this[format3==="color"?"updateColorButtonColor":"updateBackgroundButtonColor"]()})}})}updateColorButtonColor(){let range4=this.quill.getSelection();range4&&this.setColorButtonColor(range4)}updateBackgroundButtonColor(){let range4=this.quill.getSelection();range4&&this.setBackgroundButtonColor(range4)}setColorButtonColor(range4){let color=this.quill.getFormat(range4)?.color?.toUpperCase(),colorLabel=this.quill.getModule("toolbar").container?.querySelector(".ql-color .ql-stroke");colorLabel&&(color&&color!=="TRANSPARENT"?colorLabel.style.stroke=color==="#FFFFFF"?"#E1E1E1":color:colorLabel.style.stroke=this.isDark?"#FFFFFF":"#000000")}setBackgroundButtonColor(range4){let color=this.quill.getFormat(range4)?.background?.toUpperCase(),colorLabel=this.quill.getModule("toolbar").container?.querySelector(".ql-background .ql-fill");colorLabel&&(color&&color!=="TRANSPARENT"?colorLabel.style.fill=color:colorLabel.style.fill="#E1E1E1")}switchFromPlainTextToRichText(){let formValue=this.form.value;formValue.editor!==""&&formValue.editor!==this.previousFormValue?.editor?this.dialog.open(ConfirmDialogComponent,{data:{title:this.translate.instant("WARNING"),message:this.translate.instant("__TEXT__.MARKDOWN_FORMATTING_TO_RICH_TEXT")}}).afterClosed().subscribe(confirmed=>{if(confirmed){if(this.activeMode="rich-text",this.modeChange.emit("rich-text"),formValue.editor){let html=renderMarkdownToHtml(formValue.editor),editor=addStylingToQuillContent(html);this.form.patchValue({editor})}}else this.modeChange.emit("plain-text")}):(this.activeMode="rich-text",this.modeChange.emit("rich-text"))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||RichTextFormFieldComponent2)}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:RichTextFormFieldComponent2,selectors:[["ix-rich-text-form-field"]],hostBindings:function(rf,ctx){rf&1&&\u0275\u0275listener("paste",function($event){return ctx.blockPaste($event)})("copy",function($event){return ctx.blockCopy($event)})("cut",function($event){return ctx.blockCut($event)})},inputs:{field:"field",mode:"mode"},outputs:{modeChange:"modeChange",valueChange:"valueChange"},features:[\u0275\u0275NgOnChangesFeature],decls:2,vars:1,consts:[[3,"formGroup"],[1,"plain-text"],["bounds","self","formControlName","editor",3,"onEditorCreated","keydown.backspace","keydown.delete","styles","placeholder"],["quill-editor-toolbar","","data-testid","rich-text-toolbar"],[1,"ql-formats"],[1,"ql-header"],["selected",""],["value","1"],["value","2"],["value","3"],["value","4"],["value","5"],["matTooltipShowDelay","500",1,"ql-bold",3,"matTooltip"],["matTooltipShowDelay","500",1,"ql-italic",3,"matTooltip"],["matTooltipShowDelay","500",1,"ql-underline",3,"matTooltip"],["matTooltipShowDelay","500",1,"ql-strike",3,"matTooltip"],["matTooltipShowDelay","500","data-testid","rich-text-color-button",1,"ql-color",3,"matTooltip"],["matTooltipShowDelay","500",1,"ql-background",3,"matTooltip"],[1,"ql-align"],["value","center"],["value","right"],["value","justify"],["value","-1","matTooltipShowDelay","500",1,"ql-indent",3,"matTooltip"],["value","+1","matTooltipShowDelay","500",1,"ql-indent",3,"matTooltip"],["value","bullet","matTooltipShowDelay","500",1,"ql-list",3,"matTooltip"],["value","ordered","matTooltipShowDelay","500",1,"ql-list",3,"matTooltip"],["matTooltipShowDelay","500",1,"ql-blockquote",3,"matTooltip"],["matTooltipShowDelay","500",1,"ql-code-block",3,"matTooltip"],["matTooltipShowDelay","500",1,"ql-link",3,"matTooltip"],[3,"keydown.enter","formControl","placeholder"],["href","https://commonmark.org/help/","target","_blank","matIconButton","",1,"markdown-info-button",3,"matTooltip","matTooltipPosition"]],template:function(rf,ctx){rf&1&&\u0275\u0275conditionalCreate(0,RichTextFormFieldComponent_Conditional_0_Template,34,17,"form",0)(1,RichTextFormFieldComponent_Conditional_1_Template,6,6,"div",1),rf&2&&\u0275\u0275conditional(ctx.activeMode==="rich-text"?0:1)},dependencies:[ReactiveFormsModule,\u0275NgNoValidate,NgSelectOption,\u0275NgSelectMultipleOption,DefaultValueAccessor,NgControlStatus,NgControlStatusGroup,FormControlDirective,FormGroupDirective,FormControlName,FlexLayoutModule,MatButtonModule,MatIconButton,MatDialogModule,MatFormFieldModule,MatIconModule,MatIcon,MatInputModule,MatTooltipModule,MatTooltip,QuillEditorComponent,TranslateModule,TranslatePipe],styles:['[_nghost-%COMP%]{display:block}[_nghost-%COMP%] quill-editor[_ngcontent-%COMP%]{width:100%;color:var(--mat-sys-on-surface)}[_nghost-%COMP%] form[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .plain-text[_ngcontent-%COMP%]{display:flex;position:relative;width:100%;font-family:Roboto,sans-serif;white-space:pre-wrap;overflow-wrap:break-word}[_nghost-%COMP%] .plain-text[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{width:100%;height:441px;max-height:441px;box-sizing:border-box;padding:12px;border-radius:4px 4px 0 0;background-color:var(--mat-sys-surface-variant);border:none;border-bottom:1px solid rgba(0,0,0,.42);resize:none}[_nghost-%COMP%] .plain-text[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]:focus-visible{outline:none}[_nghost-%COMP%] .plain-text[_ngcontent-%COMP%] .markdown-info-button[_ngcontent-%COMP%]{position:absolute;right:5px;bottom:5px}[_nghost-%COMP%] .ql-toolbar{border-radius:4px 4px 0 0}[_nghost-%COMP%] .ql-toolbar.ql-snow{display:flex;flex-flow:row wrap;row-gap:4px;background-color:var(--mat-sys-surface-variant);border:none;border-bottom:1px solid rgba(0,0,0,.12)}[_nghost-%COMP%] .ql-toolbar.ql-snow button, [_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker-label, [_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker-item{color:var(--mat-sys-on-surface)}[_nghost-%COMP%] .ql-toolbar.ql-snow button .ql-fill, [_nghost-%COMP%] .ql-toolbar.ql-snow button .ql-stroke.ql-fill, [_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker-label .ql-fill, [_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker-label .ql-stroke.ql-fill, [_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker-item .ql-fill, [_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker-item .ql-stroke.ql-fill{fill:var(--mat-sys-on-surface)}[_nghost-%COMP%] .ql-toolbar.ql-snow button .ql-stroke, [_nghost-%COMP%] .ql-toolbar.ql-snow button .ql-stroke-miter, [_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker-label .ql-stroke, [_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker-label .ql-stroke-miter, [_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker-item .ql-stroke, [_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker-item .ql-stroke-miter{stroke:var(--mat-sys-on-surface)}[_nghost-%COMP%] .ql-toolbar.ql-snow button:hover, [_nghost-%COMP%] .ql-toolbar.ql-snow button:focus, [_nghost-%COMP%] .ql-toolbar.ql-snow button.ql-active, [_nghost-%COMP%] .ql-toolbar.ql-snow button.ql-selected, [_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker-label:hover, [_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker-label:focus, [_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker-label.ql-active, [_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker-label.ql-selected, [_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker-item:hover, [_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker-item:focus, [_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker-item.ql-active, [_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker-item.ql-selected{background-color:#00000014;border-radius:4px}[_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label{border-color:transparent}[_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker .ql-picker-options{border-radius:8px;border:none}[_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker.ql-header .ql-picker-label.ql-active:not(:hover,:focus){background-color:inherit}[_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker.ql-header .ql-picker-label>svg>polygon:nth-child(1){stroke-linejoin:initial;transform:translateY(-2px)}[_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker.ql-header .ql-picker-label>svg>polygon:nth-child(2){display:none}[_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker.ql-header .ql-picker-options{padding-left:0;padding-right:0}[_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker.ql-header .ql-picker-options .ql-picker-item{padding-left:8px;padding-right:8px;border-radius:0}[_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker.ql-header .ql-picker-options .ql-picker-item[data-value="1"]{padding-top:10px}[_nghost-%COMP%] .ql-toolbar.ql-snow .ql-picker.ql-header .ql-picker-options .ql-picker-item[data-value="2"]{padding-top:8px}[_nghost-%COMP%] .ql-toolbar.ql-snow .ql-align.ql-picker.ql-expanded .ql-picker-options{display:flex;padding:4px 4px 3px}[_nghost-%COMP%] .ql-toolbar.ql-snow .ql-align.ql-picker.ql-expanded .ql-picker-options .ql-picker-item{padding:4px}[_nghost-%COMP%] .ql-toolbar.ql-snow .ql-color .ql-color-label.ql-stroke.ql-transparent{opacity:1;stroke-linecap:square;stroke-width:4}@media(min-resolution:2dppx){[_nghost-%COMP%] .ql-toolbar.ql-snow .ql-color .ql-color-label.ql-stroke.ql-transparent{stroke-width:3}}[_nghost-%COMP%] .ql-snow{font-family:Roboto,sans-serif}[_nghost-%COMP%] .ql-snow a{color:var(--mat-sys-primary)}[_nghost-%COMP%] .ql-snow .ql-code-block-container{background-color:#f6f8fa!important;border:1px solid rgba(0,0,0,.12);color:initial!important}[_nghost-%COMP%] .ql-container{border-radius:0}[_nghost-%COMP%] .ql-container.ql-snow{background-color:var(--mat-sys-surface-variant);border:none;border-bottom:1px solid color-mix(in srgb,transparent,currentcolor 42%)}[_nghost-%COMP%] .ql-container .ql-editor.ql-blank:before{font-style:normal;color:color-mix(in srgb,transparent,currentcolor 42%)}'],changeDetection:0})}}return RichTextFormFieldComponent2})();var RichTextDialogComponent=(()=>{class RichTextDialogComponent2{constructor(){this.destroy=inject(DestroyRef),this.dialog=inject(MatDialog),this.dialogRef=inject(MatDialogRef),this.data=inject(MAT_DIALOG_DATA),this.modules={toolbar:{container:"#toolbar"}}}ngOnInit(){this.dialogRef.keydownEvents().pipe(takeUntilDestroyed(this.destroy)).subscribe(event2=>{event2.key==="Escape"&&this.openDiscardChangesWarningDialog()}),this.dialogRef.backdropClick().pipe(takeUntilDestroyed(this.destroy)).subscribe(()=>this.openDiscardChangesWarningDialog())}get activeMode(){return this.formField?.activeMode??this.data.mode}submit(){let formValue=this.formField.form.value,editor=formValue.editor?addStylingToQuillContent(formValue.editor):null;this.dialogRef.close({value:editor})}toggleMode(){this.data.mode=this.data.mode==="rich-text"?"plain-text":"rich-text"}updateMode(mode){this.data.mode=mode}openDiscardChangesWarningDialog(){this.formField.form.dirty?this.dialog.open(DiscardChangesDialogComponent,{panelClass:"fullscreen"}).afterClosed().subscribe(confirmed=>{confirmed&&this.dialogRef.close()}):this.dialogRef.close()}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||RichTextDialogComponent2)}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:RichTextDialogComponent2,selectors:[["ix-rich-text-dialog"]],viewQuery:function(rf,ctx){if(rf&1&&\u0275\u0275viewQuery(RichTextFormFieldComponent,5),rf&2){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx.formField=_t.first)}},decls:16,vars:8,consts:[["mat-dialog-title","","translate","","data-testid","rich-text-dialog-title"],[1,"pb-2"],[3,"modeChange","field","mode"],["type","button","matButton","outlined","data-testid","change-mode-button",1,"change-mode-button",3,"click"],["fxFlex",""],["matButton","","mat-dialog-close",""],["translate",""],["matButton","","color","primary",3,"click"]],template:function(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"h1",0),\u0275\u0275text(1),\u0275\u0275pipe(2,"titlecase"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(3,"mat-dialog-content",1)(4,"ix-rich-text-form-field",2),\u0275\u0275listener("modeChange",function($event){return ctx.updateMode($event)}),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(5,"mat-dialog-actions")(6,"button",3),\u0275\u0275listener("click",function(){return ctx.toggleMode()}),\u0275\u0275text(7),\u0275\u0275pipe(8,"translate"),\u0275\u0275elementEnd(),\u0275\u0275element(9,"span",4),\u0275\u0275elementStart(10,"button",5)(11,"span",6),\u0275\u0275text(12,"CANCEL"),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(13,"button",7),\u0275\u0275listener("click",function(){return ctx.submit()}),\u0275\u0275elementStart(14,"span",6),\u0275\u0275text(15,"CONFIRM"),\u0275\u0275elementEnd()()()),rf&2&&(\u0275\u0275advance(),\u0275\u0275textInterpolate(\u0275\u0275pipeBind1(2,4,ctx.data.field.inputName)),\u0275\u0275advance(3),\u0275\u0275property("field",ctx.data.field)("mode",ctx.data.mode),\u0275\u0275advance(3),\u0275\u0275textInterpolate1(" ",\u0275\u0275pipeBind1(8,6,ctx.activeMode==="rich-text"?"SWITCH_TO_PLAIN_TEXT_EDITING":"SWITCH_TO_RICH_TEXT_EDITING")," "))},dependencies:[FlexModule,DefaultFlexDirective,MatButtonModule,MatButton,MatDialogModule,MatDialogClose,MatDialogTitle,MatDialogActions,MatDialogContent,MatFormFieldModule,MatIconModule,MatInputModule,MatTooltipModule,TranslateModule,TranslateDirective,RichTextFormFieldComponent,TitleCasePipe,TranslatePipe],styles:["[_nghost-%COMP%] .mat-mdc-dialog-actions[_ngcontent-%COMP%] .change-mode-button[_ngcontent-%COMP%]{--mat-button-outlined-container-height: 30px;--mat-button-outlined-label-text-size: 13px}"],changeDetection:0})}}return RichTextDialogComponent2})();function RichTextInputComponent_Conditional_0_Template(rf,ctx){if(rf&1&&(\u0275\u0275element(0,"p",0),\u0275\u0275pipe(1,"renderMarkdown")),rf&2){let ctx_r0=\u0275\u0275nextContext();\u0275\u0275property("innerHTML",\u0275\u0275pipeBind1(1,1,ctx_r0.field.inputDescription.description),\u0275\u0275sanitizeHtml)}}function RichTextInputComponent_Conditional_1_Template(rf,ctx){if(rf&1){let _r2=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"ix-rich-text-form-field",2),\u0275\u0275listener("valueChange",function($event){\u0275\u0275restoreView(_r2);let ctx_r0=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r0.updateValue($event))})("modeChange",function($event){\u0275\u0275restoreView(_r2);let ctx_r0=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r0.updateMode($event))}),\u0275\u0275elementEnd(),\u0275\u0275elementStart(1,"button",3),\u0275\u0275listener("click",function(){\u0275\u0275restoreView(_r2);let ctx_r0=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r0.toggleMode())}),\u0275\u0275text(2),\u0275\u0275pipe(3,"translate"),\u0275\u0275elementEnd()}if(rf&2){let ctx_r0=\u0275\u0275nextContext();\u0275\u0275property("field",ctx_r0.field)("mode",ctx_r0.mode),\u0275\u0275advance(2),\u0275\u0275textInterpolate1(" ",\u0275\u0275pipeBind1(3,3,ctx_r0.activeMode==="rich-text"?"SWITCH_TO_PLAIN_TEXT_EDITING":"SWITCH_TO_RICH_TEXT_EDITING")," ")}}function RichTextInputComponent_Conditional_2_Conditional_4_Template(rf,ctx){if(rf&1){let _r4=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"ix-translation-icon-button",7),\u0275\u0275listener("setTranslationKey",function($event){\u0275\u0275restoreView(_r4);let ctx_r0=\u0275\u0275nextContext(2);return \u0275\u0275resetView(ctx_r0.setTranslationKey($event))}),\u0275\u0275elementEnd()}if(rf&2){let ctx_r0=\u0275\u0275nextContext(2);\u0275\u0275property("key",ctx_r0.translationKey)}}function RichTextInputComponent_Conditional_2_Conditional_7_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",6),\u0275\u0275text(1,"__MESSAGE__.REQUIRED"),\u0275\u0275elementEnd())}function RichTextInputComponent_Conditional_2_Template(rf,ctx){if(rf&1){let _r3=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"mat-form-field",1)(1,"mat-label"),\u0275\u0275text(2),\u0275\u0275elementEnd(),\u0275\u0275elementStart(3,"textarea",4),\u0275\u0275listener("click",function(){\u0275\u0275restoreView(_r3);let ctx_r0=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r0.openEditRichTextDialog())}),\u0275\u0275elementEnd(),\u0275\u0275conditionalCreate(4,RichTextInputComponent_Conditional_2_Conditional_4_Template,1,1,"ix-translation-icon-button",5),\u0275\u0275elementStart(5,"mat-hint"),\u0275\u0275text(6),\u0275\u0275elementEnd(),\u0275\u0275conditionalCreate(7,RichTextInputComponent_Conditional_2_Conditional_7_Template,2,0,"mat-error",6),\u0275\u0275elementEnd()}if(rf&2){let ctx_r0=\u0275\u0275nextContext();\u0275\u0275property("formGroup",ctx_r0.componentFormGroup),\u0275\u0275advance(2),\u0275\u0275textInterpolate(ctx_r0.field.inputDescription.label),\u0275\u0275advance(),\u0275\u0275property("value",ctx_r0.text)("placeholder",ctx_r0.field.inputDescription.placeholder||""),\u0275\u0275advance(),\u0275\u0275conditional(ctx_r0.translation?4:-1),\u0275\u0275advance(2),\u0275\u0275textInterpolate(ctx_r0.field.inputDescription.hint),\u0275\u0275advance(),\u0275\u0275conditional(ctx_r0.inputControl!=null&&ctx_r0.inputControl.hasError("required")?7:-1)}}function RichTextInputComponent_Conditional_3_Template(rf,ctx){if(rf&1){let _r5=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"mat-form-field")(1,"mat-label"),\u0275\u0275text(2),\u0275\u0275elementEnd(),\u0275\u0275element(3,"textarea",8),\u0275\u0275pipe(4,"translate"),\u0275\u0275pipe(5,"trimTranslationNamespace"),\u0275\u0275elementStart(6,"ix-translation-icon-button",7),\u0275\u0275listener("setTranslationKey",function($event){\u0275\u0275restoreView(_r5);let ctx_r0=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r0.setTranslationKey($event))}),\u0275\u0275elementEnd(),\u0275\u0275elementStart(7,"mat-hint"),\u0275\u0275text(8),\u0275\u0275elementEnd()()}if(rf&2){let ctx_r0=\u0275\u0275nextContext();\u0275\u0275advance(2),\u0275\u0275textInterpolate(ctx_r0.field.inputDescription.label),\u0275\u0275advance(),\u0275\u0275property("value",ctx_r0.translationKey?\u0275\u0275pipeBind1(5,7,\u0275\u0275pipeBind1(4,5,ctx_r0.translationKey)):"")("placeholder",ctx_r0.field.inputDescription.placeholder||""),\u0275\u0275advance(3),\u0275\u0275property("key",ctx_r0.translationKey),\u0275\u0275advance(2),\u0275\u0275textInterpolate(ctx_r0.field.inputDescription.hint)}}var RichTextInputComponent=(()=>{class RichTextInputComponent2 extends StringInputComponent{constructor(){super(...arguments),this.destroy=inject(DestroyRef),this.dialog=inject(MatDialog),this.dialogContainer=inject(MatDialogContainer,{optional:!0,skipSelf:!0}),this.domParser=new DOMParser,this.mode="rich-text"}get activeMode(){return this.formField?.activeMode??this.mode}get embedded(){return!!this.dialogContainer&&!this.translation}ngOnInit(){super.ngOnInit(),this.inputControl?.valueChanges.pipe(takeUntilDestroyed(this.destroy)).subscribe(value=>this.field.setValue(value));let initialValue=this.inputControl?.value;this.field.setValue(initialValue),initialValue&&!this.isHtml(initialValue)&&(this.mode="plain-text")}openEditRichTextDialog(){this.dialog.open(RichTextDialogComponent,{data:{field:this.field,mode:this.mode},autoFocus:!0,disableClose:!0,panelClass:["ix-dialog","ix-dialog--larger"]}).afterClosed().subscribe(result=>{result&&this.updateValue(result.value)})}get text(){let value=this.field.value;return value?value.replace(/<[^>]+>/g," ").replace(/\s+/g," ").trim():""}toggleMode(){this.mode=this.mode==="rich-text"?"plain-text":"rich-text"}updateMode(mode){this.mode=mode}updateValue(value){this.inputControl?.markAsDirty(),this.inputControl?.setValue(value)}isHtml(value){let doc=this.domParser.parseFromString(value,"text/html");return Array.from(doc.body.childNodes).some(node=>node.nodeType===Node.ELEMENT_NODE)}static{this.\u0275fac=(()=>{let \u0275RichTextInputComponent_BaseFactory;return function(__ngFactoryType__){return(\u0275RichTextInputComponent_BaseFactory||(\u0275RichTextInputComponent_BaseFactory=\u0275\u0275getInheritedFactory(RichTextInputComponent2)))(__ngFactoryType__||RichTextInputComponent2)}})()}static{this.\u0275cmp=\u0275\u0275defineComponent({type:RichTextInputComponent2,selectors:[["ix-rich-text-input"]],viewQuery:function(rf,ctx){if(rf&1&&\u0275\u0275viewQuery(RichTextFormFieldComponent,5),rf&2){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx.formField=_t.first)}},features:[\u0275\u0275InheritDefinitionFeature],decls:4,vars:2,consts:[[1,"description",3,"innerHTML"],[3,"formGroup"],[3,"valueChange","modeChange","field","mode"],["type","button","matButton","outlined","data-testid","change-mode-button",1,"change-mode-button",3,"click"],["matInput","","cdkTextareaAutosize","true","cdkAutosizeMinRows","2","cdkAutosizeMaxRows","5","readonly","",3,"click","value","placeholder"],[3,"key"],["translate",""],[3,"setTranslationKey","key"],["matInput","","cdkTextareaAutosize","true","cdkAutosizeMinRows","2","cdkAutosizeMaxRows","15","disabled","",3,"value","placeholder"]],template:function(rf,ctx){rf&1&&(\u0275\u0275conditionalCreate(0,RichTextInputComponent_Conditional_0_Template,2,3,"p",0),\u0275\u0275conditionalCreate(1,RichTextInputComponent_Conditional_1_Template,4,5)(2,RichTextInputComponent_Conditional_2_Template,8,7,"mat-form-field",1)(3,RichTextInputComponent_Conditional_3_Template,9,9,"mat-form-field")),rf&2&&(\u0275\u0275conditional(ctx.field.inputDescription.description?0:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx.embedded?1:!ctx.translation||!ctx.translationKey?2:3))},dependencies:[TranslateModule,TranslateDirective,ReactiveFormsModule,NgControlStatusGroup,FormGroupDirective,MatButtonModule,MatButton,MatFormFieldModule,MatFormField,MatLabel,MatHint,MatError,MatInputModule,MatInput,CdkTextareaAutosize,TranslationIconButtonComponent,MarkdownModule,RichTextFormFieldComponent,TranslatePipe,RenderMarkdownPipe,TrimTranslationNamespacePipe],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .mat-mdc-form-field[_ngcontent-%COMP%]{width:100%}[_nghost-%COMP%] .mat-mdc-form-field[_ngcontent-%COMP%] .hidden[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .mat-mdc-form-field[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{overflow:hidden;width:calc(100% - 40px)}[_nghost-%COMP%] ix-rich-text-form-field[_ngcontent-%COMP%]{margin-bottom:12px}[_nghost-%COMP%] .change-mode-button[_ngcontent-%COMP%]{--mat-button-outlined-container-height: 30px;--mat-button-outlined-label-text-size: 13px;margin-bottom:22px}"],changeDetection:0})}}return RichTextInputComponent2})();var ResourceSelectionInputFacade=(()=>{class ResourceSelectionInputFacade2{constructor(){this.store=inject(Store),this.translate=inject(TranslateService)}getAgentOrAssetId(version2,field){return version2?.previewAgent?.publicId?of(version2?.previewAgent?.publicId):version2?.previewAsset?.publicId?this.isGroupedResource(field.inputDescription.resource?.type)?this.store.select(selectEntity9(version2?.previewAsset?.publicId)).pipe(map(asset=>asset?.agent?.publicId)):of(version2?.previewAsset?.publicId):of(void 0)}isGroupedResource(resourceName){return resourceName?["AgentDataTag","AgentDataVariable"].includes(resourceName):!0}options(field,query){return this.store.select(selectEntity6(field.context.component.pageVersion?.publicId||null)).pipe(switchMap(version2=>combineLatest([this.getAgentOrAssetId(version2,field),query.valueChanges.pipe(startWith(query.value)),this.store.select(selectEntity(field?.context?.component?.template?.publicId||null))])),switchMap(([agentId,query2,pageComponent])=>{if(agentId){let resourceName=field.inputDescription.resource?.type,backendComponentId=pageComponent?pageComponent?.backendComponent?.publicId:"";switch(resourceName){case"AgentDataTag":return this.store.dispatch(ensureAll28({agentId,fields:AGENT_DATA_TAG_WITH_VARIABLE_LIST_FIELDS})),this.getGroupedAgentDataTags(agentId,query2);case"AgentDataVariable":return this.store.dispatch(ensureAll29({agentId})),this.getGroupedAgentDataVariables(agentId,query2,field.inputDescription.resource?.allowedTypes);case"AssetAppConfigResource":return this.store.dispatch(ensureAllForRoot({rootId:agentId})),this.getAssetAppConfigResources(agentId,backendComponentId,query2);default:return of([])}}return of([])}))}getAssetAppConfigResources(assetId,backendComponentId,query){return combineLatest([this.store.select(selectAllForRoot(assetId)),this.store.select(selectAll29),this.store.select(selectEntities27)]).pipe(map(([assetTree,configs,resources])=>{let filteredConfigs=configs.filter(config4=>config4.app?.publicId===backendComponentId),options=this.findAssetResources(assetTree,filteredConfigs,resources).map(resource2=>({publicId:resource2?.publicId,name:resource2.name?isTranslationKey(resource2.name)?this.translate.instant(resource2.name):resource2.name:void 0}));if(query){let q=deburr_default(query.toLowerCase());options=options.filter(option=>option.name?.toLocaleLowerCase().includes(q))}return options}))}findAssetResources(assetList,configList,resourcesList){let allFoundResources=[],processedResourceIds=new Set,configMap=new Map;return configList.forEach(config4=>{config4.publicId&&configMap.set(config4.publicId,config4)}),assetList.forEach(asset=>{asset.appConfigs&&Array.isArray(asset.appConfigs)&&asset.appConfigs.forEach(appConfig=>{if(appConfig.publicId){let config4=configMap.get(appConfig.publicId);config4&&config4.resources&&Array.isArray(config4.resources)&&config4.resources.forEach(resourceRef=>{if(resourceRef.publicId){let resource2=resourcesList[resourceRef.publicId];resource2&&!processedResourceIds.has(resource2.publicId)&&(allFoundResources.push(resource2),processedResourceIds.add(resource2.publicId))}})}})}),allFoundResources}getGroupedAgentDataTags(agentId,query){return combineLatest([this.store.select(selectEntities30),this.store.select(selectAllForAgent2(agentId)),this.store.select(selectEntities24)]).pipe(map(([sourceEntities,tags,variableEntities])=>{let filteredTags=tags;if(query){let q=deburr_default(query.toLowerCase());filteredTags=tags.filter(tag=>tag.name?.toLocaleLowerCase().includes(q))}let optionGroups={};for(let tag of filteredTags)tag.source?.publicId&&tag.variable?.publicId&&!variableEntities[tag.variable.publicId]?.internalUse&&(optionGroups[tag.source?.publicId]||(optionGroups[tag.source?.publicId]=[]),optionGroups[tag.source?.publicId].push({publicId:tag.publicId,label:tag.name,sublabel:tag.slug}));return Object.keys(optionGroups).map(key=>({label:sourceEntities[key]?.name,options:optionGroups[key]}))}))}getGroupedAgentDataVariables(agentId,query,allowedTypes){return combineLatest([this.store.select(selectEntities30),this.store.select(selectAllForAgent(agentId)),this.store.select(selectEntities24)]).pipe(map(([sourceEntities,variables,variableEntities])=>{let filteredVariables=variables;if(query){let q=deburr_default(query.toLowerCase());filteredVariables=variables.filter(variable=>deburr_default(variable.name?.toLowerCase()??"").includes(q)||deburr_default(variable.slug?.toLowerCase()??"").includes(q))}let optionGroups={};for(let variable of filteredVariables)variable.source?.publicId&&variable?.publicId&&!variableEntities[variable.publicId]?.internalUse&&(!allowedTypes||variable.type&&allowedTypes.includes(variable.type))&&(optionGroups[variable.source.publicId]||(optionGroups[variable.source.publicId]=[]),optionGroups[variable.source.publicId].push({publicId:variable.publicId,label:variable.name,sublabel:variable.slug}));return Object.keys(optionGroups).map(key=>({label:sourceEntities[key]?.name,options:optionGroups[key]}))}))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||ResourceSelectionInputFacade2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:ResourceSelectionInputFacade2,factory:ResourceSelectionInputFacade2.\u0275fac,providedIn:"root"})}}return ResourceSelectionInputFacade2})();var _forTrack07=($index,$item)=>$item.publicId,_forTrack12=($index,$item)=>$item==null?null:$item.publicId;function ResourceSelectionInputComponent_Conditional_0_Template(rf,ctx){if(rf&1&&(\u0275\u0275element(0,"p",0),\u0275\u0275pipe(1,"renderMarkdown")),rf&2){let ctx_r0=\u0275\u0275nextContext();\u0275\u0275property("innerHTML",\u0275\u0275pipeBind1(1,1,ctx_r0.field.inputDescription.description),\u0275\u0275sanitizeHtml)}}function ResourceSelectionInputComponent_Conditional_11_For_1_Conditional_0_For_2_Conditional_4_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"span",7),\u0275\u0275text(1),\u0275\u0275elementEnd()),rf&2){let option_r2=\u0275\u0275nextContext().$implicit;\u0275\u0275advance(),\u0275\u0275textInterpolate(option_r2.sublabel)}}function ResourceSelectionInputComponent_Conditional_11_For_1_Conditional_0_For_2_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"mat-option",5)(1,"span",6)(2,"span"),\u0275\u0275text(3),\u0275\u0275elementEnd(),\u0275\u0275conditionalCreate(4,ResourceSelectionInputComponent_Conditional_11_For_1_Conditional_0_For_2_Conditional_4_Template,2,1,"span",7),\u0275\u0275elementEnd()()),rf&2){let option_r2=ctx.$implicit;\u0275\u0275property("value",option_r2.publicId),\u0275\u0275advance(3),\u0275\u0275textInterpolate(option_r2.label),\u0275\u0275advance(),\u0275\u0275conditional(option_r2.sublabel?4:-1)}}function ResourceSelectionInputComponent_Conditional_11_For_1_Conditional_0_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"mat-optgroup",4),\u0275\u0275repeaterCreate(1,ResourceSelectionInputComponent_Conditional_11_For_1_Conditional_0_For_2_Template,5,3,"mat-option",5,_forTrack07),\u0275\u0275elementEnd()),rf&2){let groupOption_r3=\u0275\u0275nextContext().$implicit;\u0275\u0275property("label",groupOption_r3.label),\u0275\u0275advance(),\u0275\u0275repeater(groupOption_r3==null?null:groupOption_r3.options)}}function ResourceSelectionInputComponent_Conditional_11_For_1_Template(rf,ctx){if(rf&1&&\u0275\u0275conditionalCreate(0,ResourceSelectionInputComponent_Conditional_11_For_1_Conditional_0_Template,3,1,"mat-optgroup",4),rf&2){let groupOption_r3=ctx.$implicit,ctx_r0=\u0275\u0275nextContext(2);\u0275\u0275conditional(ctx_r0.isOptionGroup(groupOption_r3)&&groupOption_r3.options.length?0:-1)}}function ResourceSelectionInputComponent_Conditional_11_Template(rf,ctx){if(rf&1&&\u0275\u0275repeaterCreate(0,ResourceSelectionInputComponent_Conditional_11_For_1_Template,1,1,null,null,\u0275\u0275repeaterTrackByIdentity),rf&2){let ctx_r0=\u0275\u0275nextContext();\u0275\u0275repeater(ctx_r0.groupedOptions)}}function ResourceSelectionInputComponent_Conditional_12_For_1_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"mat-option",5)(1,"span",6)(2,"span"),\u0275\u0275text(3),\u0275\u0275elementEnd()()()),rf&2){let option_r4=ctx.$implicit;\u0275\u0275property("value",option_r4.publicId),\u0275\u0275advance(3),\u0275\u0275textInterpolate(option_r4.name)}}function ResourceSelectionInputComponent_Conditional_12_Template(rf,ctx){if(rf&1&&\u0275\u0275repeaterCreate(0,ResourceSelectionInputComponent_Conditional_12_For_1_Template,4,2,"mat-option",5,_forTrack12),rf&2){let ctx_r0=\u0275\u0275nextContext();\u0275\u0275repeater(ctx_r0.options)}}function ResourceSelectionInputComponent_Conditional_13_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",3),\u0275\u0275text(1,"__MESSAGE__.REQUIRED"),\u0275\u0275elementEnd())}var ResourceSelectionInputComponent=(()=>{class ResourceSelectionInputComponent2 extends ComponentInputComponent{constructor(){super(...arguments),this.cdRef=inject(ChangeDetectorRef),this.destroy=inject(DestroyRef),this.facade=inject(ResourceSelectionInputFacade),this.groupedOptions=[],this.isGrouped=!1,this.options=[],this.queryFormControl=new FormControl("")}ngOnInit(){this.resourceName=this.field.inputDescription.resource?.type,this.isGrouped=this.facade.isGroupedResource(this.field.inputDescription.resource?.type||""),this.facade.options(this.field,this.queryFormControl).pipe(takeUntilDestroyed(this.destroy)).subscribe(options=>{this.isGrouped?(this.groupedOptions=options??[],this.options=[]):(this.options=options??[],this.groupedOptions=[]);let initialValue=this.publicIdControl?.value;initialValue&&this.selectionChanged(initialValue),this.cdRef.markForCheck()})}get publicIdControl(){return this.componentFormGroup.get([this.field.inputDescription.key,"publicId"])}selectionChanged(value){let selectedOption;this.isGrouped?(selectedOption=this.groupedOptions.reduce((options,groupedOption)=>options.concat(groupedOption.options),[]).find(option=>option.publicId===value),selectedOption&&"label"in selectedOption&&(this.selectedOptionName=selectedOption?.label||"")):(selectedOption=this.options.find(option=>option.publicId===value),selectedOption&&"name"in selectedOption&&(this.selectedOptionName=selectedOption?.name||""))}isOptionGroup(option){return typeof option=="object"&&option!==null&&"options"in option}static{this.\u0275fac=(()=>{let \u0275ResourceSelectionInputComponent_BaseFactory;return function(__ngFactoryType__){return(\u0275ResourceSelectionInputComponent_BaseFactory||(\u0275ResourceSelectionInputComponent_BaseFactory=\u0275\u0275getInheritedFactory(ResourceSelectionInputComponent2)))(__ngFactoryType__||ResourceSelectionInputComponent2)}})()}static{this.\u0275cmp=\u0275\u0275defineComponent({type:ResourceSelectionInputComponent2,selectors:[["ix-resource-selection-input"]],features:[\u0275\u0275InheritDefinitionFeature],decls:14,vars:13,consts:[[1,"description",3,"innerHTML"],["panelClass","select-resource-selector-panel",3,"selectionChange","formControl"],[3,"formControl","placeholderLabel","noEntriesFoundLabel"],["translate",""],[3,"label"],[3,"value"],["fxLayout","column"],[1,"sublabel"]],template:function(rf,ctx){rf&1&&(\u0275\u0275conditionalCreate(0,ResourceSelectionInputComponent_Conditional_0_Template,2,3,"p",0),\u0275\u0275elementStart(1,"mat-form-field")(2,"mat-label"),\u0275\u0275text(3),\u0275\u0275elementEnd(),\u0275\u0275elementStart(4,"mat-select",1),\u0275\u0275listener("selectionChange",function($event){return ctx.selectionChanged($event.value)}),\u0275\u0275elementStart(5,"mat-select-trigger"),\u0275\u0275text(6),\u0275\u0275elementEnd(),\u0275\u0275elementStart(7,"mat-option"),\u0275\u0275element(8,"ngx-mat-select-search",2),\u0275\u0275pipe(9,"translate"),\u0275\u0275pipe(10,"translate"),\u0275\u0275elementEnd(),\u0275\u0275conditionalCreate(11,ResourceSelectionInputComponent_Conditional_11_Template,2,0)(12,ResourceSelectionInputComponent_Conditional_12_Template,2,0),\u0275\u0275elementEnd(),\u0275\u0275conditionalCreate(13,ResourceSelectionInputComponent_Conditional_13_Template,2,0,"mat-error",3),\u0275\u0275elementEnd()),rf&2&&(\u0275\u0275conditional(ctx.field.inputDescription.description?0:-1),\u0275\u0275advance(3),\u0275\u0275textInterpolate(ctx.field.inputDescription.label),\u0275\u0275advance(),\u0275\u0275property("formControl",ctx.publicIdControl),\u0275\u0275advance(2),\u0275\u0275textInterpolate(ctx.selectedOptionName),\u0275\u0275advance(2),\u0275\u0275property("formControl",ctx.queryFormControl)("placeholderLabel",\u0275\u0275pipeBind1(9,9,"SEARCH"))("noEntriesFoundLabel",\u0275\u0275pipeBind1(10,11,"NO_RESULTS_FOUND")),\u0275\u0275advance(3),\u0275\u0275conditional(ctx.isGrouped?11:12),\u0275\u0275advance(2),\u0275\u0275conditional(ctx.inputControl!=null&&ctx.inputControl.hasError("required")?13:-1))},dependencies:[FlexModule,DefaultLayoutDirective,MatFormFieldModule,MatFormField,MatLabel,MatError,MatSelectModule,MatSelect,MatSelectTrigger,MatOption,MatOptgroup,NgxMatSelectSearchModule,MatSelectSearchComponent,ReactiveFormsModule,NgControlStatus,FormControlDirective,TranslateModule,TranslateDirective,RenderMarkdownPipe,TranslatePipe],styles:["[_nghost-%COMP%] .mat-mdc-form-field[_ngcontent-%COMP%]{display:block} .mat-mdc-select-panel.select-resource-selector-panel mat-option.mat-mdc-option{line-height:1em} .mat-mdc-select-panel.select-resource-selector-panel mat-option.mat-mdc-option .sublabel{font-size:13px;color:#0000008a}"],changeDetection:0})}}return ResourceSelectionInputComponent2})();var ResourceSelectionInput=class extends ComponentPropertiesInput{constructor(input2,value,context3,converter,level){super(input2,value,context3,converter,level),this.setValue(value)}setValue(value){super.setValue(value),this.publicId=value?.publicId}toFormControl(){let required=this.inputDescription.required?Validators.required:null;return new FormGroup({publicId:new FormControl({value:this.publicId,disabled:!!this.inputDescription.disabled},required)})}};function inputConstructor(input2){switch(input2.type){case"Number":return NumberInput;case"Group":return GroupInput;case"List":return ListInput;case"RichText":return RichTextInput;case"Selection":return SelectionInput;case"String":return StringInput;case"Text":return TextInput;default:return ComponentPropertiesInput}}function pageComponentInputConstructor(input2){switch(input2.type){case"AggregatedMetric":return AggregatedMetricInput;case"LiveMetric":return LiveMetricInput;case"RawMetric":return RawMetricInput;case"ResourceSelection":return ResourceSelectionInput;default:return inputConstructor(input2)}}function getComponentType(field){switch(field.inputDescription.type){case"Text":return TextInputComponent;case"Color":return ColorInputComponent;case"Date":return DateInputComponent;case"DateTime":return DateTimeInputComponent;case"File":return FileInputComponent;case"MaterialIcon":return MaterialIconInputComponent;case"Number":return NumberInputComponent;case"Image":return ImageInputComponent;case"Checkbox":return CheckboxInputComponent;case"Selection":return SelectionInputComponent;case"RichText":return RichTextInputComponent;case"Group":return GroupInputComponent;case"List":return ListInputComponent;default:return StringInputComponent}}function getPageComponentComponentType(field){switch(field.inputDescription.type){case"AggregatedMetric":return AggregatedMetricInputComponent;case"LiveMetric":return LiveMetricInputComponent;case"RawMetric":return RawMetricInputComponent;case"ResourceSelection":return ResourceSelectionInputComponent;default:return getComponentType(field)}}function getPendingFormValue(form){return Object.keys(form.controls).reduce((formValue,formControlName)=>{let _control=form.controls[formControlName];return _control instanceof FormGroup?__spreadProps(__spreadValues({},formValue),{[formControlName]:getPendingFormValue(_control)}):_control instanceof FormControl&&_control._pendingDirty?__spreadProps(__spreadValues({},formValue),{[formControlName]:_control._pendingValue}):formValue},form.value)}var ComponentPropertiesComponent=(()=>{class ComponentPropertiesComponent3{constructor(){this.cdRef=inject(ChangeDetectorRef),this.destroy=inject(DestroyRef),this.inputConverter=inject(INPUT_CONVERTER_TOKEN),this.facade=inject(ComponentPropertiesFacade),this.contextService=inject(ComponentContextService),this.afterViewInit$=new BehaviorSubject(!1),this.component$=new ReplaySubject(1),this.template$=new ReplaySubject(1),this.remove=new EventEmitter,this.update=new EventEmitter,this.unsavedChanges=new EventEmitter,this.form=new FormGroup({},{updateOn:"blur"})}ngOnInit(){this.component$.pipe(distinctUntilChanged((a,b)=>a.publicId===b.publicId),pairwise(),takeUntilDestroyed(this.destroy)).subscribe(([previous])=>{this.emitPendingChanges(previous)}),combineLatest([this.component$,this.template$,this.afterViewInit$]).pipe(filter(([,,afterViewInit])=>afterViewInit),switchMap(([component,template])=>combineLatest([of([component,template]),this.contextService.contextChanges.pipe(map(()=>this.inputConverter.hasFields({component})),distinctUntilChanged())])),filter(([,hasFields2])=>hasFields2),switchMap(([[component,template]])=>template?this.facade.manifest(template).pipe(map(manifest=>({component,manifest}))):of({component,manifest:null})),takeUntilDestroyed(this.destroy)).subscribe(({component,manifest})=>{if(this.currentComponentId===component.publicId)return;this.currentInputs=void 0,this.form.contains("inputs")&&this.form.removeControl("inputs"),this.fields=this.inputConverter.getFields({component},manifest?.inputs??null);let formControls=this.inputConverter.getFormControls(this.fields),inputs=new FormGroup(formControls);this.form.markAsPristine(),this.form.addControl("inputs",inputs),this.formDirective&&(this.formDirective.viewContainerRef.clear(),this.inputConverter.loadComponentInputs(this.fields,inputs,this.formDirective.viewContainerRef)),this.currentComponentId=component.publicId}),this.form.statusChanges.pipe(takeUntilDestroyed(this.destroy)).subscribe(()=>{this.unsavedChanges.emit(this.form.dirty&&this.form.invalid),this.cdRef.markForCheck()}),this.form.valueChanges.pipe(takeUntilDestroyed(this.destroy)).subscribe(data=>{let doSubmit=!1;if(!(!this.form.valid&&this.currentInputs!==void 0)){if("inputs"in data){this.fields.forEach(field=>field.setValue(data.inputs[field.inputDescription.key]));let inputsString=JSON.stringify(data.inputs);inputsString!==this.currentInputs&&(this.currentInputs!==void 0&&this.form.dirty&&(doSubmit=!0),this.currentInputs=inputsString)}doSubmit&&this.submit()}})}ngOnChanges(changes){changes.template&&this.template$.next(this.template),changes.component&&this.component$.next(this.component)}ngAfterViewInit(){setTimeout(()=>{this.afterViewInit$.next(!0)},0)}ngOnDestroy(){this.emitPendingChanges(this.component),this.component$.complete(),this.template$.complete(),this.afterViewInit$.complete()}emitPendingChanges(component){if(component.inputs&&this.form.controls.inputs){let snapshot=cloneDeep_default(this.form.value);this.form.patchValue({inputs:getPendingFormValue(this.form.controls.inputs)},{emitEvent:!1}),!this.form.invalid&&!isEqual_default(snapshot,this.form.value)&&(isEqual_default(this.form.value.inputs,JSON.parse(component.inputs))||this.update.emit({publicId:component.publicId,inputs:JSON.stringify(this.form.value.inputs)}))}}submit(){let formValue=this.form.value.inputs?{inputs:JSON.stringify(this.form.value.inputs)}:{},component=__spreadValues(__spreadValues({},this.component),formValue);this.update.emit(component),this.form.markAsPristine()}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||ComponentPropertiesComponent3)}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:ComponentPropertiesComponent3,selectors:[["ix-page-component-properties"]],viewQuery:function(rf,ctx){if(rf&1&&\u0275\u0275viewQuery(InputControlFormDirective,5)(MatExpansionPanel,5),rf&2){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx.formDirective=_t.first),\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx.panelRefs=_t)}},inputs:{template:"template",component:"component"},outputs:{remove:"remove",update:"update",unsavedChanges:"unsavedChanges"},standalone:!1,features:[\u0275\u0275NgOnChangesFeature],decls:3,vars:1,consts:[["autocomplete","off",3,"ngSubmit","formGroup"],["fxLayout","column",1,"more-actions"],["ixInputControlForm",""]],template:function(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"form",0),\u0275\u0275listener("ngSubmit",function(){return ctx.submit()}),\u0275\u0275elementStart(1,"div",1),\u0275\u0275element(2,"div",2),\u0275\u0275elementEnd()()),rf&2&&\u0275\u0275property("formGroup",ctx.form)},dependencies:[InputControlFormDirective,\u0275NgNoValidate,NgControlStatusGroup,FormGroupDirective,DefaultLayoutDirective],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] form[_ngcontent-%COMP%]{display:flex;flex-direction:column}[_nghost-%COMP%] button[type=submit][_ngcontent-%COMP%]{margin:16px}[_nghost-%COMP%] .mat-expansion-panel[_ngcontent-%COMP%]{background-color:transparent;border-radius:0}[_nghost-%COMP%] .mat-expansion-panel-header-title[_ngcontent-%COMP%]{color:var(--body-color)}[_nghost-%COMP%] .mat-expansion-panel[_ngcontent-%COMP%]:not(.mat-expanded){box-shadow:none!important}[_nghost-%COMP%] .mat-expansion-panel[_ngcontent-%COMP%]:not(.mat-expanded) + .mat-expansion-panel.mat-expanded[_ngcontent-%COMP%]{border-top-left-radius:8px;border-top-right-radius:8px}[_nghost-%COMP%] .mat-expansion-panel.mat-expanded[_ngcontent-%COMP%]{background-color:var(--mat-sys-surface)}[_nghost-%COMP%] .mat-expansion-panel.mat-expanded[_ngcontent-%COMP%] + .mat-expansion-panel.mat-expanded[_ngcontent-%COMP%]{border-top:1px solid var(--mat-sys-outline-variant)}[_nghost-%COMP%] .mat-expansion-panel.border-radius-bottom[_ngcontent-%COMP%]{border-bottom-left-radius:8px!important;border-bottom-right-radius:8px!important}[_nghost-%COMP%] .mat-expansion-panel[_ngcontent-%COMP%] .mat-expansion-panel-header[_ngcontent-%COMP%]{padding:0 20px 0 16px}[_nghost-%COMP%] .mat-expansion-panel[_ngcontent-%COMP%] .mat-expansion-panel-body{padding:0 16px 16px}[_nghost-%COMP%] .mat-mdc-form-field[_ngcontent-%COMP%]{margin-bottom:8px}[_nghost-%COMP%] .more-actions[_ngcontent-%COMP%] .component-property-level-0{border-bottom:1px solid var(--mat-sys-outline-variant);padding:16px}[_nghost-%COMP%] .more-actions[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{margin-right:4px}"]})}}return ComponentPropertiesComponent3})();var InputConverterService=class{constructor(){this.injector=inject(Injector)}convertInput(input2,values,context3,level){let constructor=this.getInputConstructor(input2);return new constructor(input2,values?.[input2.key],context3,this,level,this.injector)}getFormControls(inputs){return inputs.reduce((acc,cur)=>__spreadProps(__spreadValues({},acc),{[cur.inputDescription.key]:cur.toFormControl()}),{})}getFields(context3,inputs){let componentInput=this.getInputs(context3);return inputs?.map(input2=>this.convertInput(input2,componentInput,context3,0))||[]}loadComponentInputs(fields,form,ref){for(let field of fields){let componentType=this.getComponentType(field),componentRef=ref.createComponent(componentType);componentRef.instance.field=field,componentRef.instance.componentFormGroup=form,componentRef.location.nativeElement.classList.add(`component-property-level-${field.level}`)}}};var PageComponentInputConverterService=(()=>{class PageComponentInputConverterService2 extends InputConverterService{constructor(){super(...arguments),this.service=inject(ComponentContextService)}getInputs({component}){let context3=this.service.getContext(component);if(context3===void 0)throw Error(`ComponentContext could not be found for component ${component.publicId}.`);let inputs=cloneDeep_default(context3.inputs)||{};return Object.keys(context3._translationKeys).forEach(key=>set_default(inputs,key,context3._translationKeys[key])),inputs}getInputConstructor(input2){return pageComponentInputConstructor(input2)}getComponentType(field){return getPageComponentComponentType(field)}hasFields({component}){return this.service.getContext(component)!==void 0}static{this.\u0275fac=(()=>{let \u0275PageComponentInputConverterService_BaseFactory;return function(__ngFactoryType__){return(\u0275PageComponentInputConverterService_BaseFactory||(\u0275PageComponentInputConverterService_BaseFactory=\u0275\u0275getInheritedFactory(PageComponentInputConverterService2)))(__ngFactoryType__||PageComponentInputConverterService2)}})()}static{this.\u0275prov=\u0275\u0275defineInjectable({token:PageComponentInputConverterService2,factory:PageComponentInputConverterService2.\u0275fac,providedIn:"root"})}}return PageComponentInputConverterService2})();var InputControlModule=(()=>{class InputControlModule2{static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||InputControlModule2)}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:InputControlModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({providers:[{provide:INPUT_CONVERTER_TOKEN,useClass:PageComponentInputConverterService}],imports:[AggregatedMetricInputComponent,CheckboxInputComponent,ColorInputComponent,DateInputComponent,FileInputComponent,GroupInputComponent,ImageInputComponent,ListInputComponent,LiveMetricInputComponent,MaterialIconInputComponent,NumberInputComponent,RawMetricInputComponent,ResourceSelectionInputComponent,RichTextInputComponent,SelectionInputComponent,StringInputComponent,TextInputComponent]})}}return InputControlModule2})();var ComponentPropertiesModule=(()=>{class ComponentPropertiesModule2{static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||ComponentPropertiesModule2)}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:ComponentPropertiesModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({imports:[InputControlModule,ReactiveFormsModule,FlexModule,InputControlModule]})}}return ComponentPropertiesModule2})();var ComponentContextCleanupDirective=(()=>{class ComponentContextCleanupDirective3{set agentOrAssetId(agentOrAssetId){this.agentOrAssetId$.next(agentOrAssetId)}set pageVersionId(pageVersionId){this.pageVersionId$.next(pageVersionId)}constructor(scopeRef,contextService){this.scopeRef=scopeRef,this.contextService=contextService,this.agentOrAssetId$=new ReplaySubject(1),this.pageVersionId$=new ReplaySubject(1),this.destroy=inject(DestroyRef)}ngOnInit(){combineLatest([this.agentOrAssetId$,this.pageVersionId$]).pipe(filter(ids=>ids.every(Boolean)),distinctUntilChanged(isEqual_default),skip(1),takeUntilDestroyed(this.destroy)).subscribe(()=>{this.contextService.destroyAll(this.scopeRef?.value)})}ngOnDestroy(){this.agentOrAssetId$.complete(),this.pageVersionId$.complete()}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||ComponentContextCleanupDirective3)(\u0275\u0275directiveInject(ComponentGridScopeDirective,8),\u0275\u0275directiveInject(ComponentContextService))}}static{this.\u0275dir=\u0275\u0275defineDirective({type:ComponentContextCleanupDirective3,selectors:[["","ixComponentContextCleanup",""]],inputs:{agentOrAssetId:"agentOrAssetId",pageVersionId:"pageVersionId"}})}}return ComponentContextCleanupDirective3})();function getAssetDescendants(assetId,assetEntities){let result=[],stack=[assetId],visited=new Set;for(;stack.length>0;){let currentId=stack.pop();if(visited.has(currentId))continue;visited.add(currentId);let asset=assetEntities[currentId];asset&&(result.push(asset),Object.values(assetEntities).forEach(child=>{child&&!visited.has(child.publicId)&&child.parent?.publicId===currentId&&stack.push(child.publicId)}))}return result}var LoggingDataPrefetcher=(()=>{class LoggingDataPrefetcher2{constructor(store,actions$){this.store=store,this.actions$=actions$}forQueries(agentId,queries){let parsedSelectors=queries.map(query=>query.selector?parseSelector(query.selector):{type:"",target:"",dataSource:"",logType:"",logName:""}).filter(r=>r?.target==="selected"),hasAssetSelectors=parsedSelectors.some(r=>r.type==="Asset"),uniqDataSourceSlugs=compact_default(uniq_default(parsedSelectors.map(r=>r?.dataSource))),uniqDataTagPublicIds=compact_default(uniq_default(queries.filter(q=>q.tag).map(q=>q.tag?.publicId))),uniqDataTagSlugs=compact_default(uniq_default(parsedSelectors.filter(r=>r?.logType==="tag").map(r=>r?.logName))),uniqDataVariableSlugs=compact_default(uniq_default(parsedSelectors.filter(r=>r?.logType==="variable").map(r=>r?.logName)));return combineLatest([this.handleDataSourceSlugs(agentId,uniqDataSourceSlugs),this.handleDataTagSlugs(agentId,uniqDataTagSlugs,uniqDataTagPublicIds,hasAssetSelectors),this.handleDataVariableSlugs(agentId,uniqDataVariableSlugs)]).pipe(mergeMap(()=>of(queries)))}handleDataSourceSlugs(agentId,slugs){return agentId&&slugs.length?combineLatest([this.store.select(selectAllLoadedForAgent3(agentId)),this.store.select(selectAllForAgent3(agentId))]).pipe(take(1),mergeMap(([sourcesLoaded,sources])=>{if(sourcesLoaded&&sources.length===0)return of([]);let unmatchedSlugs=slugs.filter(slug=>!sources?.find(s2=>s2?.slug===slug));if(unmatchedSlugs.length){let filters=`in(slug,"${unmatchedSlugs.join('","')}")`,queryTooLarge=("?fields="+AGENT_DATA_SOURCE_LIST_FIELDS.join(",")+"&").length+filters.length+`&page-after=publicid0000&page-size=${4e3}`.length>4096,reference3=`${agentId}_${filters}`;return this.store.dispatch(loadAll2({agentId,filters:queryTooLarge?void 0:filters})),this.actions$.pipe(ofType(loadAllSuccess3,loadAllFailure2),filter(({agentId:agentId2,filters:filters2})=>`${agentId2}_${filters2}`===reference3||queryTooLarge),take(1),map(()=>[]))}return of([])}),map(()=>[])):of([])}handleDataTagSlugs(agentId,slugs,publicIds,hasAssetSelectors){return agentId&&(slugs.length||publicIds.length||hasAssetSelectors)?combineLatest([this.store.select(selectAllLoadedForAgent3(agentId)),this.store.select(selectAllForAgent3(agentId)),this.store.select(selectAllLoadedForAgent2(agentId)),this.store.select(selectAllForAgent2(agentId))]).pipe(take(1),mergeMap(([sourcesLoaded,sources,tagsLoaded,tags])=>{if(sourcesLoaded&&sources.length===0)return of([]);let unmatchedSlugs=slugs.filter(slug=>!tags?.find(t=>t?.slug===slug)),unmatchedPublicIds=publicIds.filter(publicId=>!tags?.find(t=>t?.publicId===publicId));if(!tagsLoaded&&(hasAssetSelectors||unmatchedSlugs.length||unmatchedPublicIds.length)){let fields=AGENT_DATA_TAG_WITH_VARIABLE_LIST_FIELDS,filters;hasAssetSelectors||unmatchedSlugs.length&&unmatchedPublicIds.length?filters=void 0:unmatchedPublicIds.length?filters=`in(publicId,"${unmatchedPublicIds.join('","')}")`:unmatchedSlugs.length&&(filters=`in(slug,"${unmatchedSlugs.join('","')}")`),filters&&("?fields="+fields.join(",")+"&").length+filters.length+`&page-after=publicid0000&page-size=${4e3}`.length>4096&&(filters=void 0);let reference3=`${agentId}_${filters}`;return this.store.dispatch(loadAll31({agentId,fields,filters})),this.actions$.pipe(ofType(loadAllSuccess32,loadAllFailure31),filter(({agentId:id,filters:f})=>`${id}_${f}`===reference3),take(1),map(()=>[]))}return of([])}),map(()=>[])):of([])}handleDataVariableSlugs(agentId,slugs){return agentId&&slugs.length?this.store.select(selectAllLoadedForAgent(agentId)).pipe(take(1),mergeMap(loaded=>{if(!loaded){let reference3=agentId;return this.store.dispatch(loadAll32({agentId})),this.actions$.pipe(ofType(loadAllSuccess33,loadAllFailure32),filter(({agentId:agentId2})=>agentId2===reference3),take(1),map(()=>[]))}return of([])}),map(()=>[])):of([])}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||LoggingDataPrefetcher2)(\u0275\u0275inject(Store),\u0275\u0275inject(Actions))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:LoggingDataPrefetcher2,factory:LoggingDataPrefetcher2.\u0275fac,providedIn:"root"})}}return LoggingDataPrefetcher2})();var LoggingDataBrokerDirective=(()=>{class LoggingDataBrokerDirective3{constructor(scopeRef,store,activePeriodSpec,authTokenService,localization,loggingDataClient,loggingDataFetcherFactory,loggingDataPrefetcher){this.scopeRef=scopeRef,this.store=store,this.activePeriodSpec=activePeriodSpec,this.authTokenService=authTokenService,this.localization=localization,this.loggingDataClient=loggingDataClient,this.loggingDataFetcherFactory=loggingDataFetcherFactory,this.loggingDataPrefetcher=loggingDataPrefetcher,this.agentOrAssetId$=new ReplaySubject(1),this.agentId=null,this.agentId$=this.agentOrAssetId$.pipe(switchMap(agentOrAssetId=>this.store.select(selectEntities18).pipe(map(entities=>entities[agentOrAssetId]?findClosestAgentToAsset(agentOrAssetId,entities)?.publicId??null:agentOrAssetId),distinctUntilChanged()))),this._authToken$=combineLatest([timer(0,3300*1e3),this.agentId$]).pipe(mergeMap(([,id])=>{let canUseLiveData=this.features.instantCanUse("live-data",{agentId:id}),canUseHistoricalData=this.features.instantCanUse("historical-data",{agentId:id});return id&&(canUseLiveData||canUseHistoricalData)?this.authTokenService.getForData({agents:[{publicId:id}],expiresIn:3600}).pipe(map(response=>response.data.secretId),catchError(()=>EMPTY)):EMPTY}),share()),this.authTokenRequired$=new ReplaySubject(1),this.authToken$=new ReplaySubject(1),this.dataSources$=this.agentId$.pipe(mergeMap(id=>this.store.select(selectAllForAgent3(id)))),this.tags$=this.agentId$.pipe(mergeMap(id=>this.store.select(selectAllForAgent2(id)))),this.variables$=this.agentId$.pipe(mergeMap(id=>this.store.select(selectAllForAgent(id)))),this.assets$=this.agentOrAssetId$.pipe(mergeMap(assetId=>this.store.select(selectEntities18).pipe(map(entities=>getAssetDescendants(assetId,entities))))),this.selectedAssetId$=this.agentOrAssetId$,this.assetAppConfigResources$=this.agentOrAssetId$.pipe(distinctUntilChanged(),mergeMap(assetId=>{if(!assetId)return of([]);let assetTree$=this.store.select(selectEntities18).pipe(map(entities=>getAssetDescendants(assetId,entities)));return this.store.select(selectEntities27).pipe(withLatestFrom(assetTree$),map(([resourceMap,assets])=>{let assetAppConfigs=assets.map(a=>a.appConfigs).flat(),resources=[];return assetAppConfigs.forEach(appConfig=>{let matchingResources=Object.values(resourceMap).filter(res=>!!res&&res.config?.publicId===appConfig?.publicId);resources.push(...matchingResources)}),resources}))})),this.features=inject(PlatformFeaturesService),this.destroy=inject(DestroyRef)}ngOnInit(){this.agentId$.pipe(distinctUntilChanged()).subscribe(agentId=>this.agentId=agentId),this.fetcher=this.loggingDataFetcherFactory.create({agentId:this.agentId$.pipe(distinctUntilChanged()),authToken:this.authToken$.asObservable(),companyId:this.store.select(selectMyCompanyId),locale:this.localization.getLocale(),timeRange:this.activePeriodSpec.asTimeRange(this.scopeRef?.value),timeZone:of(Settings.defaultZone.name),dataSources:this.dataSources$,tags:this.tags$,variables:this.variables$,availabilityStrategy:LoggingDataConfigAvailabilityStrategy.Lazy,scope:this.scopeRef?.value,assetAppConfigResources:this.assetAppConfigResources$,assets:this.assets$,selectedAssetId:this.selectedAssetId$,beforeFetch:queries=>this.agentId?this.loggingDataPrefetcher.forQueries(this.agentId,queries).pipe(mergeMap(queries2=>queries2.some(q=>q.selector?parseSelector(q.selector).logType==="variable":!1)?(this.authTokenRequired$.next(!0),this.authToken$.pipe(take(1),map(()=>queries2))):of(queries2))):of(queries)}),this.authTokenRequired$.pipe(distinctUntilChanged(),switchMap(required=>required?this._authToken$:EMPTY),takeUntilDestroyed(this.destroy)).subscribe(this.authToken$),merge(this.loggingDataClient.onQuery(this.scopeRef?.value),this.loggingDataClient.onDestroy(this.scopeRef?.value)).pipe(bufferDebounceTime(100),mergeMap(buffer2=>{let queries=[],destroyEvents=buffer2.filter(item=>item instanceof CustomEvent);return destroyEvents.length?queries=flatten_default(buffer2.filter(item=>!(item instanceof CustomEvent))).filter(q=>!destroyEvents.some(e=>q._clientRef?.startsWith(e.detail)&&(q._timeStamp?q._timeStamp<e.timeStamp:!0))):queries=flatten_default(buffer2),queries.length?of(queries):EMPTY}),mergeMap(queries=>this.fetcher.fetch(queries)),distinctUntilChanged(),takeUntilDestroyed(this.destroy)).subscribe(metrics=>{this.loggingDataClient.emitMetrics(metrics,this.scopeRef?.value)}),this.loggingDataClient.onExport(this.scopeRef?.value).pipe(mergeMap(({queries,csvDelimiter})=>this.fetcher.export(queries,csvDelimiter)),takeUntilDestroyed(this.destroy)).subscribe(blob=>{this.loggingDataClient.emitBlob(blob,this.scopeRef?.value)})}ngOnChanges(changes){changes.agentOrAssetId&&this.agentOrAssetId&&this.agentOrAssetId$.next(this.agentOrAssetId)}ngOnDestroy(){this.agentOrAssetId$.complete(),this.authToken$.complete(),this.authTokenRequired$.complete(),this.fetcher.destroy()}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||LoggingDataBrokerDirective3)(\u0275\u0275directiveInject(ComponentGridScopeDirective,8),\u0275\u0275directiveInject(Store),\u0275\u0275directiveInject(ActivePeriodSpec),\u0275\u0275directiveInject(AuthTokenService),\u0275\u0275directiveInject(LocalizationService),\u0275\u0275directiveInject(LoggingDataClientProxyService),\u0275\u0275directiveInject(LoggingDataFetcherFactory),\u0275\u0275directiveInject(LoggingDataPrefetcher))}}static{this.\u0275dir=\u0275\u0275defineDirective({type:LoggingDataBrokerDirective3,selectors:[["","ixLoggingDataBroker",""]],inputs:{agentOrAssetId:"agentOrAssetId"},features:[\u0275\u0275NgOnChangesFeature]})}}return LoggingDataBrokerDirective3})();var ComponentGridFocusDirective=(()=>{class ComponentGridFocusDirective3{constructor(){this.elRef=inject(ElementRef),this.service=inject(ComponentGridFocusService),this.destroy=inject(DestroyRef)}ngOnInit(){fromEvent(this.elRef.nativeElement,"mousedown").pipe(takeUntilDestroyed(this.destroy)).subscribe(()=>this.service.next())}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||ComponentGridFocusDirective3)}}static{this.\u0275dir=\u0275\u0275defineDirective({type:ComponentGridFocusDirective3,selectors:[["","ixComponentGridFocus",""]]})}}return ComponentGridFocusDirective3})();function PeriodBottomSheetComponent_For_4_Template(rf,ctx){if(rf&1){let _r1=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"mat-list-item",13),\u0275\u0275listener("click",function(){let range_r2=\u0275\u0275restoreView(_r1).$implicit,ctx_r2=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r2.applyRange(range_r2.code))}),\u0275\u0275text(1),\u0275\u0275pipe(2,"translate"),\u0275\u0275elementEnd()}if(rf&2){let range_r2=ctx.$implicit;\u0275\u0275advance(),\u0275\u0275textInterpolate1(" ",\u0275\u0275pipeBind2(2,1,range_r2.translateKey,range_r2.translateParams)," ")}}function PeriodBottomSheetComponent_Conditional_12_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",5),\u0275\u0275text(1,"FROM_MUST_BE_BEFORE_TO"),\u0275\u0275elementEnd())}function PeriodBottomSheetComponent_Conditional_13_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",5),\u0275\u0275text(1,"__MESSAGE__.MAX_DATE"),\u0275\u0275elementEnd())}function PeriodBottomSheetComponent_Conditional_18_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",5),\u0275\u0275text(1,"TO_MUST_BE_AFTER_FROM"),\u0275\u0275elementEnd())}function PeriodBottomSheetComponent_Conditional_19_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",5),\u0275\u0275text(1,"__MESSAGE__.MAX_DATE"),\u0275\u0275elementEnd())}function PeriodBottomSheetComponent_Conditional_21_Template(rf,ctx){if(rf&1){let _r4=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"button",14),\u0275\u0275listener("click",function(){\u0275\u0275restoreView(_r4);let ctx_r2=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r2.resetPeriodSpec())}),\u0275\u0275elementStart(1,"span",5),\u0275\u0275text(2,"RESET_TO_DEFAULT"),\u0275\u0275elementEnd()()}if(rf&2){let ctx_r2=\u0275\u0275nextContext();\u0275\u0275property("disabled",!ctx_r2.canResetPeriodSpec)}}var PeriodBottomSheetComponent=(()=>{class PeriodBottomSheetComponent2{constructor(){this.data=inject(MAT_BOTTOM_SHEET_DATA),this.ref=inject(MatBottomSheetRef),this.ranges=TIME_RANGE_OPTIONS,this.maxDate=DateTime.now().endOf("day").toISO()}ngOnInit(){let timeRange=toTimeRange(this.data.periodSpec);this.form=new FormGroup({from:new FormControl(DateTime.fromMillis(timeRange.from).set({millisecond:0}).toISO({includeOffset:!1,suppressMilliseconds:!0}),{validators:[Validators.required,DateTimeValidators.maxDate(this.maxDate)],nonNullable:!0}),to:new FormControl(DateTime.fromMillis(timeRange.to).set({millisecond:0}).toISO({includeOffset:!1,suppressMilliseconds:!0}),{validators:[Validators.required,DateTimeValidators.maxDate(this.maxDate)],nonNullable:!0})},{validators:DateTimeValidators.fromToInverted()})}applyRange(range4){this.ref.dismiss(range4)}cancel(){this.ref.dismiss()}get showReset(){return this.data.default!==void 0}get canResetPeriodSpec(){return this.data.periodSpec!=this.data.default}resetPeriodSpec(){this.ref.dismiss(this.data.default)}submit(){let periodSpec={from:DateTime.fromISO(this.form.controls.from.value).toMillis(),to:DateTime.fromISO(this.form.controls.to.value).toMillis()};this.ref.dismiss(periodSpec)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||PeriodBottomSheetComponent2)}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:PeriodBottomSheetComponent2,selectors:[["ix-period-bottom-sheet"]],decls:29,vars:11,consts:[["fxLayout","column"],[1,"ranges"],["autocomplete","off",3,"ngSubmit","formGroup"],["fxLayout","row","fxLayoutGap","8px"],["fxFlex","grow"],["translate",""],["type","datetime-local","matInput","","formControlName","from","step","1",3,"max"],["type","datetime-local","matInput","","formControlName","to","step","1",3,"min","max"],["fxLayout","row",1,"actions"],["type","button","mat-button","","color","primary",3,"disabled"],["fxLayout","row"],["type","button","mat-button","",3,"click"],["type","submit","mat-button","","color","primary",3,"disabled"],[3,"click"],["type","button","mat-button","","color","primary",3,"click","disabled"]],template:function(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"div",0)(1,"div",1)(2,"mat-action-list"),\u0275\u0275repeaterCreate(3,PeriodBottomSheetComponent_For_4_Template,3,4,"mat-list-item",null,\u0275\u0275repeaterTrackByIdentity),\u0275\u0275elementEnd()(),\u0275\u0275element(5,"mat-divider"),\u0275\u0275elementStart(6,"form",2),\u0275\u0275listener("ngSubmit",function(){return ctx.submit()}),\u0275\u0275elementStart(7,"fieldset",3)(8,"mat-form-field",4)(9,"mat-label",5),\u0275\u0275text(10,"FROM__DATE"),\u0275\u0275elementEnd(),\u0275\u0275element(11,"input",6),\u0275\u0275conditionalCreate(12,PeriodBottomSheetComponent_Conditional_12_Template,2,0,"mat-error",5),\u0275\u0275conditionalCreate(13,PeriodBottomSheetComponent_Conditional_13_Template,2,0,"mat-error",5),\u0275\u0275elementEnd(),\u0275\u0275elementStart(14,"mat-form-field",4)(15,"mat-label",5),\u0275\u0275text(16,"TO__DATE"),\u0275\u0275elementEnd(),\u0275\u0275element(17,"input",7),\u0275\u0275conditionalCreate(18,PeriodBottomSheetComponent_Conditional_18_Template,2,0,"mat-error",5),\u0275\u0275conditionalCreate(19,PeriodBottomSheetComponent_Conditional_19_Template,2,0,"mat-error",5),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(20,"div",8),\u0275\u0275conditionalCreate(21,PeriodBottomSheetComponent_Conditional_21_Template,3,1,"button",9),\u0275\u0275elementStart(22,"div",10)(23,"button",11),\u0275\u0275listener("click",function(){return ctx.cancel()}),\u0275\u0275elementStart(24,"span",5),\u0275\u0275text(25,"CANCEL"),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(26,"button",12)(27,"span",5),\u0275\u0275text(28,"APPLY"),\u0275\u0275elementEnd()()()()()()),rf&2){let tmp_2_0,tmp_6_0;\u0275\u0275advance(3),\u0275\u0275repeater(ctx.ranges),\u0275\u0275advance(3),\u0275\u0275property("formGroup",ctx.form),\u0275\u0275advance(5),\u0275\u0275property("max",(tmp_2_0=ctx.form.get("to"))==null?null:tmp_2_0.value)("max",ctx.maxDate),\u0275\u0275advance(),\u0275\u0275conditional(ctx.form.controls.from.hasError("inverted")?12:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx.form.controls.from.hasError("maxDate")?13:-1),\u0275\u0275advance(4),\u0275\u0275property("min",(tmp_6_0=ctx.form.get("from"))==null?null:tmp_6_0.value)("max",ctx.maxDate),\u0275\u0275advance(),\u0275\u0275conditional(ctx.form.controls.to.hasError("inverted")?18:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx.form.controls.to.hasError("maxDate")?19:-1),\u0275\u0275advance(2),\u0275\u0275conditional(ctx.showReset?21:-1),\u0275\u0275advance(5),\u0275\u0275property("disabled",ctx.form.invalid)}},dependencies:[FlexModule,DefaultLayoutDirective,DefaultLayoutGapDirective,DefaultFlexDirective,MatButtonModule,MatButton,MatDividerModule,MatDivider,MatFormFieldModule,MatFormField,MatLabel,MatError,MatInputModule,MatInput,MatListModule,MatActionList,MatListItem,ReactiveFormsModule,\u0275NgNoValidate,DefaultValueAccessor,NgControlStatus,NgControlStatusGroup,FormGroupDirective,FormControlName,TranslateModule,TranslateDirective,TranslatePipe],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .ranges[_ngcontent-%COMP%]{max-height:50vh;overflow-y:auto}[_nghost-%COMP%] form[_ngcontent-%COMP%]{display:block;padding-top:16px}[_nghost-%COMP%] form[_ngcontent-%COMP%] fieldset[_ngcontent-%COMP%]{margin:0;padding:0;border:none}[_nghost-%COMP%] form[_ngcontent-%COMP%] fieldset[_ngcontent-%COMP%] .mat-mdc-form-field[_ngcontent-%COMP%]{max-width:calc(50vw - 24px)!important}[_nghost-%COMP%] form[_ngcontent-%COMP%] fieldset[_ngcontent-%COMP%] input[type=datetime-local][_ngcontent-%COMP%]::-webkit-inner-spin-button, [_nghost-%COMP%] form[_ngcontent-%COMP%] fieldset[_ngcontent-%COMP%] input[type=datetime-local][_ngcontent-%COMP%]::-webkit-calendar-picker-indicator{appearance:none;display:none}[_nghost-%COMP%] .actions[_ngcontent-%COMP%]{padding-bottom:8px;gap:8px}[_nghost-%COMP%] .actions[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{gap:8px;margin-left:auto}"]})}}return PeriodBottomSheetComponent2})();var PERIOD_PANEL_DATA=new InjectionToken("device-board-header-period-panel-data");var import_dayjs4=__toESM(require_dayjs_min()),import_utc=__toESM(require_utc()),import_timezone=__toESM(require_timezone());var PeriodPanelRef=class{constructor(overlayRef){this.overlayRef=overlayRef,this._afterClosed=new Subject}afterClosed(){return this._afterClosed.asObservable()}close(data){this.overlayRef.dispose(),data&&(this._afterClosed.next(data),this._afterClosed.complete())}};function PeriodPanelComponent_Conditional_21_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"button",6)(1,"div",4)(2,"mat-icon"),\u0275\u0275text(3,"public"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(4,"span"),\u0275\u0275text(5),\u0275\u0275pipe(6,"translate"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(7,"span"),\u0275\u0275text(8,":\xA0"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(9,"span"),\u0275\u0275text(10),\u0275\u0275elementEnd(),\u0275\u0275elementStart(11,"mat-icon"),\u0275\u0275text(12,"arrow_drop_down"),\u0275\u0275elementEnd()()()),rf&2){let ctx_r0=\u0275\u0275nextContext(),timeZoneMenu_r2=\u0275\u0275reference(4);\u0275\u0275property("matMenuTriggerFor",timeZoneMenu_r2),\u0275\u0275advance(5),\u0275\u0275textInterpolate(\u0275\u0275pipeBind1(6,3,ctx_r0.timeZoneSpec==="device"?"DEVICE_TIME_ZONE":"MY_TIME_ZONE")),\u0275\u0275advance(5),\u0275\u0275textInterpolate(ctx_r0.timeZoneSpec==="device"?ctx_r0.deviceTimeZone:ctx_r0.myTimeZone)}}function PeriodPanelComponent_Conditional_32_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",5),\u0275\u0275text(1,"FROM_MUST_BE_BEFORE_TO"),\u0275\u0275elementEnd())}function PeriodPanelComponent_Conditional_33_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",5),\u0275\u0275text(1,"__MESSAGE__.MAX_DATE"),\u0275\u0275elementEnd())}function PeriodPanelComponent_Conditional_34_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",5),\u0275\u0275text(1,"__MESSAGE__.BEFORE_MIN_DATE"),\u0275\u0275elementEnd())}function PeriodPanelComponent_Conditional_35_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",5),\u0275\u0275text(1,"__MESSAGE__.INVALID_DATE_AND_TIME"),\u0275\u0275elementEnd())}function PeriodPanelComponent_Conditional_36_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",5),\u0275\u0275text(1,"__MESSAGE__.INVALID_DATE_AND_TIME"),\u0275\u0275elementEnd())}function PeriodPanelComponent_Conditional_42_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",5),\u0275\u0275text(1,"TO_MUST_BE_AFTER_FROM"),\u0275\u0275elementEnd())}function PeriodPanelComponent_Conditional_43_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",5),\u0275\u0275text(1,"__MESSAGE__.MAX_DATE"),\u0275\u0275elementEnd())}function PeriodPanelComponent_Conditional_44_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",5),\u0275\u0275text(1,"__MESSAGE__.BEFORE_MIN_DATE"),\u0275\u0275elementEnd())}function PeriodPanelComponent_Conditional_45_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",5),\u0275\u0275text(1,"__MESSAGE__.INVALID_DATE_AND_TIME"),\u0275\u0275elementEnd())}function PeriodPanelComponent_Conditional_46_Template(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-error",5),\u0275\u0275text(1,"__MESSAGE__.INVALID_DATE_AND_TIME"),\u0275\u0275elementEnd())}function PeriodPanelComponent_Conditional_48_Template(rf,ctx){if(rf&1){let _r3=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"button",21),\u0275\u0275listener("click",function(){\u0275\u0275restoreView(_r3);let ctx_r0=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r0.resetPeriodSpec())}),\u0275\u0275elementStart(1,"span",5),\u0275\u0275text(2,"RESET_TO_DEFAULT"),\u0275\u0275elementEnd()()}if(rf&2){let ctx_r0=\u0275\u0275nextContext();\u0275\u0275property("disabled",!ctx_r0.canResetPeriodSpec)}}function PeriodPanelComponent_For_59_Template(rf,ctx){if(rf&1){let _r4=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"mat-list-item",22),\u0275\u0275listener("click",function(){let range_r5=\u0275\u0275restoreView(_r4).$implicit,ctx_r0=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r0.applyRange(range_r5.code))}),\u0275\u0275text(1),\u0275\u0275pipe(2,"translate"),\u0275\u0275elementEnd()}if(rf&2){let range_r5=ctx.$implicit;\u0275\u0275advance(),\u0275\u0275textInterpolate1(" ",\u0275\u0275pipeBind2(2,1,range_r5.translateKey,range_r5.translateParams)," ")}}import_dayjs4.default.extend(import_utc.default);import_dayjs4.default.extend(import_timezone.default);var PeriodPanelComponent=(()=>{class PeriodPanelComponent2{constructor(data,formBuilder,localizationService,ref){this.data=data,this.formBuilder=formBuilder,this.localizationService=localizationService,this.ref=ref,this.browserTimeZone=Intl.DateTimeFormat().resolvedOptions().timeZone,this.locale={format:"YYYY-MM-DDTHH:mm:ss.SSSZ",displayFormat:"MM/DD/YYYY",direction:"ltr",weekLabel:"W",daysOfWeek:[Info.weekdays("short")[6],...Info.weekdays("short").slice(0,-1)],monthNames:Info.months("short"),firstDay:1},this.maxISO=DateTime.now().endOf("day").toISO(),this.ranges=TIME_RANGE_OPTIONS,this.myTimeZone=this.localizationService.getTimeZone()}ngOnInit(){this.deviceTimeZone=this.data.deviceTimeZone||null,this.timeZone=Settings.defaultZone.name,this.timeZoneSpec=this.data.timeZoneSpec||"user",this.minISO=this.data.minDate?(0,import_dayjs4.default)(this.data.minDate).toISOString():null,this.processRange()}applyRange(range4){this.ref.close(range4)}cancel(){this.ref.close()}get showReset(){return this.data.default!==void 0}get canResetPeriodSpec(){return this.data.periodSpec!=this.data.default}resetPeriodSpec(){this.ref.close(this.data.default)}choosedDate(selection){this.form.setValue({from:DateTime.fromISO(selection.startDate.toISOString(),{zone:this.browserTimeZone}).setZone(this.timeZone,{keepLocalTime:!0}).toFormat("F"),to:DateTime.fromISO(selection.endDate.toISOString(),{zone:this.browserTimeZone}).setZone(this.timeZone,{keepLocalTime:!0}).toFormat("F")})}submit(){let periodSpec={from:DateTime.fromFormat(this.form.value.from,"F").toMillis(),to:DateTime.fromFormat(this.form.value.to,"F").toMillis()};this.ref.close(periodSpec)}setTimeZoneSpec(timeZoneSpec){this.timeZoneSpec=timeZoneSpec,this.timeZone=timeZoneSpec==="device"&&this.deviceTimeZone?this.deviceTimeZone:this.myTimeZone,this.processRange(),this.data.timeZoneSpecSelected?.emit({name:this.timeZone,spec:timeZoneSpec})}processRange(){let timeRange=toTimeRange(this.data.periodSpec||"yesterday");if(this.selected={startDate:(0,import_dayjs4.default)(DateTime.fromMillis(timeRange.from,{zone:this.timeZone}).setZone(this.browserTimeZone,{keepLocalTime:!0}).toMillis()),endDate:(0,import_dayjs4.default)(DateTime.fromMillis(timeRange.to,{zone:this.timeZone}).setZone(this.browserTimeZone,{keepLocalTime:!0}).toMillis())},this.form)this.form.setValue({from:DateTime.fromMillis(timeRange.from).toFormat("F"),to:DateTime.fromMillis(timeRange.to).toFormat("F")});else{let formatter=value=>DateTime.fromFormat(value,"F");this.form=this.formBuilder.group({from:[DateTime.fromMillis(timeRange.from).toFormat("F"),[Validators.required,DateTimeValidators.format(formatter),...this.minISO?[DateTimeValidators.minDate(this.minISO,formatter)]:[],DateTimeValidators.maxDate(this.maxISO,formatter)]],to:[DateTime.fromMillis(timeRange.to).toFormat("F"),[Validators.required,DateTimeValidators.format(formatter),...this.minISO?[DateTimeValidators.minDate(this.minISO,formatter)]:[],DateTimeValidators.maxDate(this.maxISO,formatter)]]},{validators:DateTimeValidators.fromToInverted(formatter)})}}onEscapeHandler(event2){event2.stopPropagation(),event2.preventDefault(),this.ref.close()}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||PeriodPanelComponent2)(\u0275\u0275directiveInject(PERIOD_PANEL_DATA),\u0275\u0275directiveInject(FormBuilder),\u0275\u0275directiveInject(LocalizationService),\u0275\u0275directiveInject(PeriodPanelRef))}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:PeriodPanelComponent2,selectors:[["ix-period-panel"]],hostBindings:function(rf,ctx){rf&1&&\u0275\u0275listener("keydown.escape",function($event){return ctx.onEscapeHandler($event)},\u0275\u0275resolveDocument)},decls:60,vars:35,consts:[["timeZoneMenu","matMenu"],["fxFlex","","translate",""],[1,"dense"],["mat-menu-item","",3,"click"],["fxLayout","row","fxLayoutAlign","start center"],["translate",""],["mat-button","",1,"time-zone-select",3,"matMenuTriggerFor"],["fxLayout","row"],["fxFlex","",1,"picker"],[3,"choosedDate","autoApply","linkedCalendars","minDate","maxDate","locale","startDate","endDate"],["autocomplete","off",3,"ngSubmit","formGroup"],["fxlayout","row","fxLayoutGap","16px"],["fxFlex","grow"],["matInput","","formControlName","from",3,"placeholder"],["matInput","","formControlName","to",3,"placeholder"],["fxLayout","row",1,"actions"],["type","button","mat-stroked-button","","color","primary",3,"disabled"],["type","button","mat-stroked-button","","color","primary",3,"click"],["type","submit","mat-flat-button","","color","primary",3,"disabled"],[1,"ranges"],["dense",""],["type","button","mat-stroked-button","","color","primary",3,"click","disabled"],[3,"click"]],template:function(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"mat-toolbar")(1,"span",1),\u0275\u0275text(2,"TIME_RANGE_SELECTION"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(3,"mat-menu",2,0)(5,"button",3),\u0275\u0275listener("click",function(){return ctx.setTimeZoneSpec("user")}),\u0275\u0275elementStart(6,"div",4)(7,"span",5),\u0275\u0275text(8,"MY_TIME_ZONE"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(9,"span"),\u0275\u0275text(10,":\xA0"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(11,"span"),\u0275\u0275text(12),\u0275\u0275elementEnd()()(),\u0275\u0275elementStart(13,"button",3),\u0275\u0275listener("click",function(){return ctx.setTimeZoneSpec("device")}),\u0275\u0275elementStart(14,"div",4)(15,"span",5),\u0275\u0275text(16,"DEVICE_TIME_ZONE"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(17,"span"),\u0275\u0275text(18,":\xA0"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(19,"span"),\u0275\u0275text(20),\u0275\u0275elementEnd()()()(),\u0275\u0275conditionalCreate(21,PeriodPanelComponent_Conditional_21_Template,13,5,"button",6),\u0275\u0275elementEnd(),\u0275\u0275elementStart(22,"div",7)(23,"div",8)(24,"ngx-daterangepicker-material",9),\u0275\u0275listener("choosedDate",function($event){return ctx.choosedDate($event)}),\u0275\u0275elementEnd(),\u0275\u0275elementStart(25,"form",10),\u0275\u0275listener("ngSubmit",function(){return ctx.submit()}),\u0275\u0275elementStart(26,"fieldset",11)(27,"mat-form-field",12)(28,"mat-label",5),\u0275\u0275text(29,"FROM__DATE"),\u0275\u0275elementEnd(),\u0275\u0275element(30,"input",13),\u0275\u0275pipe(31,"translate"),\u0275\u0275conditionalCreate(32,PeriodPanelComponent_Conditional_32_Template,2,0,"mat-error",5),\u0275\u0275conditionalCreate(33,PeriodPanelComponent_Conditional_33_Template,2,0,"mat-error",5),\u0275\u0275conditionalCreate(34,PeriodPanelComponent_Conditional_34_Template,2,0,"mat-error",5),\u0275\u0275conditionalCreate(35,PeriodPanelComponent_Conditional_35_Template,2,0,"mat-error",5),\u0275\u0275conditionalCreate(36,PeriodPanelComponent_Conditional_36_Template,2,0,"mat-error",5),\u0275\u0275elementEnd(),\u0275\u0275elementStart(37,"mat-form-field",12)(38,"mat-label",5),\u0275\u0275text(39,"TO__DATE"),\u0275\u0275elementEnd(),\u0275\u0275element(40,"input",14),\u0275\u0275pipe(41,"translate"),\u0275\u0275conditionalCreate(42,PeriodPanelComponent_Conditional_42_Template,2,0,"mat-error",5),\u0275\u0275conditionalCreate(43,PeriodPanelComponent_Conditional_43_Template,2,0,"mat-error",5),\u0275\u0275conditionalCreate(44,PeriodPanelComponent_Conditional_44_Template,2,0,"mat-error",5),\u0275\u0275conditionalCreate(45,PeriodPanelComponent_Conditional_45_Template,2,0,"mat-error",5),\u0275\u0275conditionalCreate(46,PeriodPanelComponent_Conditional_46_Template,2,0,"mat-error",5),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(47,"div",15),\u0275\u0275conditionalCreate(48,PeriodPanelComponent_Conditional_48_Template,3,1,"button",16),\u0275\u0275elementStart(49,"div",7)(50,"button",17),\u0275\u0275listener("click",function(){return ctx.cancel()}),\u0275\u0275elementStart(51,"span",5),\u0275\u0275text(52,"CANCEL"),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(53,"button",18)(54,"span",5),\u0275\u0275text(55,"APPLY"),\u0275\u0275elementEnd()()()()()(),\u0275\u0275elementStart(56,"div",19)(57,"mat-action-list",20),\u0275\u0275repeaterCreate(58,PeriodPanelComponent_For_59_Template,3,4,"mat-list-item",null,\u0275\u0275repeaterTrackByIdentity),\u0275\u0275elementEnd()()()),rf&2&&(\u0275\u0275advance(5),\u0275\u0275classProp("active",ctx.timeZoneSpec==="user"),\u0275\u0275advance(7),\u0275\u0275textInterpolate(ctx.myTimeZone),\u0275\u0275advance(),\u0275\u0275classProp("active",ctx.timeZoneSpec==="device"),\u0275\u0275advance(7),\u0275\u0275textInterpolate(ctx.deviceTimeZone),\u0275\u0275advance(),\u0275\u0275conditional(ctx.deviceTimeZone&&ctx.deviceTimeZone!==ctx.myTimeZone?21:-1),\u0275\u0275advance(3),\u0275\u0275property("autoApply",!0)("linkedCalendars",!0)("minDate",ctx.minISO)("maxDate",ctx.maxISO)("locale",ctx.locale)("startDate",ctx.selected.startDate)("endDate",ctx.selected.endDate||null),\u0275\u0275advance(),\u0275\u0275property("formGroup",ctx.form),\u0275\u0275advance(5),\u0275\u0275property("placeholder",\u0275\u0275interpolate(\u0275\u0275pipeBind1(31,31,"FROM__DATE"))),\u0275\u0275advance(2),\u0275\u0275conditional(ctx.form.controls.from.hasError("inverted")?32:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx.form.controls.from.hasError("maxDate")?33:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx.form.controls.from.hasError("minDate")?34:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx.form.controls.from.hasError("unitOutOfRange")?35:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx.form.controls.from.hasError("unparsable")?36:-1),\u0275\u0275advance(4),\u0275\u0275property("placeholder",\u0275\u0275interpolate(\u0275\u0275pipeBind1(41,33,"TO__DATE"))),\u0275\u0275advance(2),\u0275\u0275conditional(ctx.form.controls.to.hasError("inverted")?42:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx.form.controls.to.hasError("maxDate")?43:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx.form.controls.to.hasError("minDate")?44:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx.form.controls.to.hasError("unitOutOfRange")?45:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx.form.controls.to.hasError("unparsable")?46:-1),\u0275\u0275advance(2),\u0275\u0275conditional(ctx.showReset?48:-1),\u0275\u0275advance(5),\u0275\u0275property("disabled",ctx.form.invalid),\u0275\u0275advance(5),\u0275\u0275repeater(ctx.ranges))},dependencies:[FlexModule,DefaultLayoutDirective,DefaultLayoutGapDirective,DefaultLayoutAlignDirective,DefaultFlexDirective,MatButtonModule,MatButton,MatFormFieldModule,MatFormField,MatLabel,MatError,MatIconModule,MatIcon,MatInputModule,MatInput,MatListModule,MatActionList,MatListItem,MatMenuModule,MatMenu,MatMenuItem,MatMenuTrigger,MatToolbarModule,MatToolbar,NgxDaterangepickerMd,DaterangepickerComponent,ReactiveFormsModule,\u0275NgNoValidate,DefaultValueAccessor,NgControlStatus,NgControlStatusGroup,FormGroupDirective,FormControlName,TranslateModule,TranslateDirective,TranslatePipe],styles:['@keyframes _ngcontent-%COMP%_zoom-in{0%{transform:scale(.75);opacity:.9}to{transform:scale(1);opacity:1}}[_nghost-%COMP%]{min-width:754px;max-height:514px;background-color:var(--mat-sys-surface-container);animation:_ngcontent-%COMP%_zoom-in .14s cubic-bezier(0,0,.2,1) both;border-radius:4px;box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f;transform-origin:top right}[_nghost-%COMP%] .mat-toolbar[_ngcontent-%COMP%]{border-bottom:1px solid var(--mat-sys-outline-variant);--mat-toolbar-container-background-color: var(--mat-sys-surface-container);--mat-toolbar-title-text-size: 14px}[_nghost-%COMP%] .time-zone-select[_ngcontent-%COMP%]{padding:0 4px 0 8px;font-size:12px;color:color-mix(in srgb,transparent,var(--mat-sys-on-surface) 67%)}[_nghost-%COMP%] .time-zone-select[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]:first-child{height:20px;width:20px;margin-right:4px;font-size:20px}[_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker{margin-top:0;background-color:var(--mat-sys-surface-container);box-shadow:none;border-radius:0}[_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker .calendar-table{background-color:var(--mat-sys-surface-container);border-color:var(--mat-sys-surface-container)}[_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker td.available:hover, [_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker th.available:hover{background-color:var(--mat-sys-surface-container-highest)}[_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker td{transition-property:none;opacity:1}[_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker td.off{color:color-mix(in srgb,transparent,currentcolor 16%)}[_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker td.off.active:hover{background-color:#eee;border-radius:50%}[_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker td.off, [_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker td.off.in-range, [_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker td.off.start-date, [_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker td.off.end-date{background-color:var(--mat-sys-surface-container)}[_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker tbody tr td{height:32px}[_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker th.month{font-weight:500;color:color-mix(in srgb,transparent,currentcolor 77%)}[_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker th.next, [_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker th.prev{min-width:28px}[_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker td.available.prev, [_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker th.available.prev, [_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker td.available.next, [_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker th.available.next{background-image:none}[_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker td.available.prev:after, [_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker th.available.prev:after, [_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker td.available.next:after, [_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker th.available.next:after{content:"";display:block;height:2em;width:2em;background-color:var(--mat-sys-on-surface);background-image:none;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:.5em;mask-size:.5em;-webkit-mask-position:center;mask-position:center}[_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker td.available.prev:after, [_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker th.available.prev:after{-webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K);mask-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)}[_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker td.available.next:after, [_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker th.available.next:after{-webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K);mask-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)}[_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker tr.week-days th{font-size:11px;font-weight:400;color:color-mix(in srgb,transparent,currentcolor 38%)}[_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker td.in-range{background-color:color-mix(in srgb,transparent,var(--mat-sys-primary) 12%);color:color-mix(in srgb,transparent,currentcolor 87%)}[_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker td.today:not(.active,.in-range,.off){border:1px solid color-mix(in srgb,transparent,currentcolor 38%)}[_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker td.active:not(.off), [_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker td.active:not(.off):hover{background-color:var(--mat-sys-primary);color:var(--mat-sys-on-primary);border-radius:50%;opacity:1;transition-property:border-radius}[_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker td.active:not(.off).start-date:not(.end-date), [_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker td.active:not(.off):hover.start-date:not(.end-date){border-top-right-radius:0;border-bottom-right-radius:0}[_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker td.active:not(.off).end-date:not(.start-date), [_nghost-%COMP%] .picker[_ngcontent-%COMP%] .md-drppicker td.active:not(.off):hover.end-date:not(.start-date){border-top-left-radius:0;border-bottom-left-radius:0}[_nghost-%COMP%] .ranges[_ngcontent-%COMP%]{border-left:1px solid var(--mat-sys-outline-variant);height:449px;width:200px;overflow-y:auto}[_nghost-%COMP%] .ranges[_ngcontent-%COMP%] .mat-mdc-action-list[dense][_ngcontent-%COMP%]{padding:4px 0}[_nghost-%COMP%] .ranges[_ngcontent-%COMP%] .mat-mdc-action-list[dense][_ngcontent-%COMP%] .mat-mdc-list-item[_ngcontent-%COMP%]{padding-top:6px;padding-bottom:6px;--mat-list-list-item-one-line-container-height: auto;--mat-list-list-item-label-text-line-height: 14px;--mat-list-list-item-label-text-size: 12px}[_nghost-%COMP%] .ranges[_ngcontent-%COMP%] .mat-mdc-action-list[dense][_ngcontent-%COMP%] .mat-mdc-list-item[_ngcontent-%COMP%] .mdc-list-item__primary-text{white-space:normal}[_nghost-%COMP%] fieldset[_ngcontent-%COMP%]{margin:0;padding:0 16px;border:none}[_nghost-%COMP%] .actions[_ngcontent-%COMP%]{padding:12px 16px;gap:8px}[_nghost-%COMP%] .actions[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{gap:8px;margin-left:auto}']})}}return PeriodPanelComponent2})();var DEFAULT_CONNECTED_POSITIONS=[{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top",offsetX:0,offsetY:0}],PeriodPanelService=(()=>{class PeriodPanelService2{constructor(){this.injector=inject(Injector),this.overlay=inject(Overlay)}show(origin,data,positions){let overlayRef=this.createOverlay(origin,positions),instance=new PeriodPanelRef(overlayRef);return this.attachPanelContainer(overlayRef,instance,data,this.getTransformOrigin(positions)),instance}getTransformOrigin(positions){if(!positions)return;let positionOriginX=positions[0].originX,originX=positionOriginX==="start"?"left":positionOriginX==="end"?"right":"center",originY=positions[0].originY;return`${originX} ${originY}`}createOverlay(origin,positions){let overlayRef=this.overlay.create(this.getOverlayConfig(origin,positions));return overlayRef.backdropClick().subscribe(()=>overlayRef.dispose()),overlayRef}createInjector(panelRef,data){return Injector.create({providers:[{provide:PeriodPanelRef,useValue:panelRef},{provide:PERIOD_PANEL_DATA,useValue:data}],parent:this.injector})}attachPanelContainer(overlayRef,panelRef,data,transformOrigin){let injector=this.createInjector(panelRef,data),containerPortal=new ComponentPortal(PeriodPanelComponent,null,injector),containerRef=overlayRef.attach(containerPortal);if(transformOrigin){let panelElement=overlayRef.overlayElement.firstElementChild;panelElement.style.transformOrigin=transformOrigin}return containerRef.instance}getOverlayConfig(origin,positions){let positionStrategy=this.overlay.position().flexibleConnectedTo(origin).withPositions(positions||DEFAULT_CONNECTED_POSITIONS);return new OverlayConfig({hasBackdrop:!0,backdropClass:"overlay-transparent-backdrop",panelClass:"ix-period-panel-container",scrollStrategy:this.overlay.scrollStrategies.noop(),positionStrategy})}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||PeriodPanelService2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:PeriodPanelService2,factory:PeriodPanelService2.\u0275fac,providedIn:"root"})}}return PeriodPanelService2})();function PeriodControlsComponent_Conditional_0_Template(rf,ctx){if(rf&1){let _r1=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"button",2),\u0275\u0275pipe(1,"translate"),\u0275\u0275listener("click",function(){\u0275\u0275restoreView(_r1);let ctx_r1=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r1.handleZoomOutButtonClick())}),\u0275\u0275elementStart(2,"mat-icon"),\u0275\u0275text(3,"zoom_out"),\u0275\u0275elementEnd()()}rf&2&&\u0275\u0275property("matTooltip",\u0275\u0275pipeBind1(1,1,"ZOOM_OUT"))}var PeriodControlsComponent=(()=>{class PeriodControlsComponent3{get gtSm(){return this.bpObserver.isMatched("(min-width: 960px)")}constructor(bpObserver,bottomSheet,periodPanel,translate){this.bpObserver=bpObserver,this.bottomSheet=bottomSheet,this.periodPanel=periodPanel,this.translate=translate,this.periodSpecSelected=new EventEmitter,this.timeZoneSpecSelected=new EventEmitter}ngOnChanges(changes){changes.periodSpecs&&(this.periodButtonLabel=this.getPeriodButtonLabel(),this.zoomOutIsVisible=this.getZoomOutIsVisible())}handleZoomOutButtonClick(){this.zoomOut()}handlePeriodButtonClick(event2){return this.gtSm?this.openPeriodPanel(event2):this.openPeriodBottomSheet()}openPeriodBottomSheet(){this.periodSpecs&&this.bottomSheet.open(PeriodBottomSheetComponent,{data:{periodSpec:this.periodSpecs.active,default:this.periodSpecs.default}}).afterDismissed().subscribe(periodSpec=>{periodSpec&&(this.periodSpecs=__spreadProps(__spreadValues({},this.periodSpecs),{selected:periodSpec}),this.periodSpecSelected.emit(periodSpec))})}openPeriodPanel(event2){this.periodSpecs&&this.periodPanel.show(event2.currentTarget,{periodSpec:this.periodSpecs.active||null,default:this.periodSpecs.default,deviceTimeZone:this.deviceTimeZone,timeZoneSpec:this.timeZoneSpec,timeZoneSpecSelected:this.timeZoneSpecSelected}).afterClosed().subscribe(periodSpec=>{periodSpec&&(this.periodSpecs=__spreadProps(__spreadValues({},this.periodSpecs),{selected:periodSpec}),this.periodSpecSelected.emit(periodSpec))})}getPeriodButtonLabel(){return this.periodSpecs?.active?typeof this.periodSpecs.active=="string"?this.translate.instant(getTranslateKeyForPeriod(this.periodSpecs.active),getTranslateParamsForPeriod(this.periodSpecs.active)):toStringTimeRange(this.periodSpecs.active):""}getZoomOutIsVisible(){return this.periodSpecs?!isEqual_default(this.periodSpecs.active,this.periodSpecs.selected):!1}zoomOut(){this.periodSpecSelected.emit(this.periodSpecs.selected)}enterKeyDownHandler(event2){event2.target.blur()}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||PeriodControlsComponent3)(\u0275\u0275directiveInject(BreakpointObserver),\u0275\u0275directiveInject(MatBottomSheet),\u0275\u0275directiveInject(PeriodPanelService),\u0275\u0275directiveInject(TranslateService))}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:PeriodControlsComponent3,selectors:[["ix-period-controls"]],inputs:{deviceTimeZone:"deviceTimeZone",periodSpecs:"periodSpecs",timeZoneSpec:"timeZoneSpec",mobile:"mobile"},outputs:{periodSpecSelected:"periodSpecSelected",timeZoneSpecSelected:"timeZoneSpecSelected"},standalone:!1,features:[\u0275\u0275NgOnChangesFeature],decls:3,vars:2,consts:[["mat-stroked-button","",1,"zoom-out-button",3,"matTooltip"],["mat-stroked-button","",3,"keydown.enter","click"],["mat-stroked-button","",1,"zoom-out-button",3,"click","matTooltip"]],template:function(rf,ctx){rf&1&&(\u0275\u0275conditionalCreate(0,PeriodControlsComponent_Conditional_0_Template,4,3,"button",0),\u0275\u0275elementStart(1,"button",1),\u0275\u0275listener("keydown.enter",function($event){return ctx.enterKeyDownHandler($event)})("click",function($event){return ctx.handlePeriodButtonClick($event)}),\u0275\u0275text(2),\u0275\u0275elementEnd()),rf&2&&(\u0275\u0275conditional(ctx.zoomOutIsVisible?0:-1),\u0275\u0275advance(2),\u0275\u0275textInterpolate1(" ",ctx.periodButtonLabel,`
|
|
894
|
+
`))},dependencies:[MatButton,MatIcon,MatTooltip,TranslatePipe],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .zoom-out-button[_ngcontent-%COMP%]{min-width:0;padding:0 7px;margin-right:8px}[_nghost-%COMP%] .zoom-out-button[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{margin:0}"],changeDetection:0})}}return PeriodControlsComponent3})();var BackendComponentBrokerDirective=(()=>{class BackendComponentBrokerDirective3{constructor(){this.scopeRef=inject(ComponentGridScopeDirective,{optional:!0}),this.callerFactory=inject(BackendComponentCallerServiceFactory),this.facade=inject(BackendComponentBrokerFacade),this.clientProxy=inject(BackendComponentClientProxyService),this.destroyRef=inject(DestroyRef),this.myCompany$=this.facade.myCompany$,this.myUser$=this.facade.myUser$,this.agentOrAssetId$=new ReplaySubject(1)}set agentOrAssetId(agentOrAssetId){this.agentOrAssetId$.next(agentOrAssetId)}ngOnInit(){combineLatest([this.facade.findAgentAndAsset(this.agentOrAssetId$),this.facade.myCompany$,this.facade.myUser$]).pipe(filter(([,myCompany,myUser])=>!!myCompany&&!!myUser),takeUntilDestroyed(this.destroyRef)).subscribe(([[agent,asset],myCompany,myUser])=>{this.caller=this.callerFactory.create({agent,asset,myCompany,myUser})}),this.clientProxy.onCall(this.scopeRef?.value).pipe(mergeMap(call=>this.facade.resolveTemplateFromPageComponent(call.pageComponentId).pipe(first(),map(result=>({call:call.call,template:{publicId:result}})))),mergeMap(call=>this.caller?this.caller.call(call).pipe(map(result=>({result,call})),catchError(error3=>(this.clientProxy.emitError({call:call.call,data:error3},this.scopeRef?.value),EMPTY))):EMPTY),takeUntilDestroyed(this.destroyRef)).subscribe(({result,call})=>{this.clientProxy.emitResult({call:call.call,data:result.value},this.scopeRef?.value)})}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||BackendComponentBrokerDirective3)}}static{this.\u0275dir=\u0275\u0275defineDirective({type:BackendComponentBrokerDirective3,selectors:[["","ixBackendComponentBroker",""]],inputs:{agentOrAssetId:"agentOrAssetId"}})}}return BackendComponentBrokerDirective3})();var PagesModule=(()=>{class PagesModule2{static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||PagesModule2)}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:PagesModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({providers:[ComponentContextService],imports:[SharedModule,NgxDaterangepickerMd,ComponentGridModule,ComponentPropertiesModule,FileSaveModule,PeriodBottomSheetComponent,PeriodPanelComponent,ComponentGridModule,ComponentPropertiesModule]})}}return PagesModule2})();function mutationObservableFactory(target,options){return new Observable(subscriber=>{let observer=new MutationObserver(records=>{subscriber.next(records)});return observer.observe(target,options),function(){observer.disconnect()}})}var _c020=["*"],ButtonToggleComponent=(()=>{class ButtonToggleComponent3{constructor(){this.elRef=inject(ElementRef),this.disabled=!1,this.valueChange=new EventEmitter}getWidth(){return this.elRef.nativeElement.clientWidth??0}getOffset(){return this.elRef.nativeElement.offsetLeft??0}select(){this.selected=!0}unselect(){this.selected=!1}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||ButtonToggleComponent3)}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:ButtonToggleComponent3,selectors:[["ix-button-toggle"]],inputs:{value:"value",disabled:"disabled"},outputs:{valueChange:"valueChange"},ngContentSelectors:_c020,decls:2,vars:4,consts:[["role","tab","tabindex","0",1,"button",3,"click"]],template:function(rf,ctx){rf&1&&(\u0275\u0275projectionDef(),\u0275\u0275domElementStart(0,"div",0),\u0275\u0275domListener("click",function(){return ctx.valueChange.emit(ctx.value)}),\u0275\u0275projection(1),\u0275\u0275domElementEnd()),rf&2&&\u0275\u0275classProp("disabled",ctx.disabled)("selected",ctx.selected)},styles:["[_nghost-%COMP%] .button[_ngcontent-%COMP%]{display:flex;flex-direction:row;align-items:center;padding:0 12px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:normal;cursor:pointer;font-size:14px;max-width:100%;position:relative;height:34px;color:color-mix(in srgb,currentcolor 50%,transparent);transition:box-shadow .2s cubic-bezier(.4,1,.75,.9);-webkit-user-select:none;user-select:none}[_nghost-%COMP%] .button.selected[_ngcontent-%COMP%]{color:currentcolor;font-weight:500;z-index:1}[_nghost-%COMP%] .button.disabled[_ngcontent-%COMP%]{color:color-mix(in srgb,currentcolor 25%,transparent);pointer-events:none}[_nghost-%COMP%] .button[_ngcontent-%COMP%]:focus{outline:none;outline-offset:0;-moz-outline-radius:0}[_nghost-%COMP%]:hover [_ngcontent-%COMP%]:not(.selected,.disabled){border-bottom:none;color:color-mix(in srgb,currentcolor 75%,transparent);background-color:color-mix(in srgb,currentcolor 4%,transparent)!important;border-radius:12px;box-shadow:none!important;transition:all .2s cubic-bezier(.4,1,.75,.9)}"]})}}return ButtonToggleComponent3})();var _c021=["*"],ButtonToggleGroupComponent=(()=>{class ButtonToggleGroupComponent3{constructor(){this.cdRef=inject(ChangeDetectorRef),this.elRef=inject(ElementRef),this.destroy=inject(DestroyRef),this.ngZone=inject(NgZone),this.indicatorStyle=null,this._animate=!1,mutationObservableFactory(this.elRef.nativeElement,{childList:!0}).pipe(takeUntilDestroyed(this.destroy)).subscribe(()=>{this.animate(),this.cdRef.markForCheck()}),resizeObservableFactory(this.elRef.nativeElement).pipe(skip(1),takeUntilDestroyed(this.destroy)).subscribe(()=>{this.animate(),this.cdRef.markForCheck()})}ngOnChanges(changes){changes.value&&!changes.value.isFirstChange()&&this.animate()}animate(){this._active=this._buttons?.find(segment=>segment.value===this.value)??null,this._active?.select(),this._buttons?.filter(s2=>s2!==this._active).forEach(s2=>s2.unselect()),this.indicatorStyle=this._active?{width:`${this._active.getWidth()}px`,transform:`translateX(${this._active.getOffset()}px)`}:null,this._active&&!this._animate&&this.ngZone.runOutsideAngular(()=>{setTimeout(()=>{this._animate=!0,this.elRef.nativeElement.classList.add("animate")},0)})}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||ButtonToggleGroupComponent3)}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:ButtonToggleGroupComponent3,selectors:[["ix-button-toggle-group"]],contentQueries:function(rf,ctx,dirIndex){if(rf&1&&\u0275\u0275contentQuery(dirIndex,ButtonToggleComponent,4),rf&2){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx._buttons=_t)}},inputs:{value:"value"},features:[\u0275\u0275NgOnChangesFeature],ngContentSelectors:_c021,decls:3,vars:2,consts:[["role","tablist",1,"button-list"],[1,"active-indicator"]],template:function(rf,ctx){rf&1&&(\u0275\u0275projectionDef(),\u0275\u0275domElementStart(0,"div",0),\u0275\u0275domElement(1,"div",1),\u0275\u0275projection(2),\u0275\u0275domElementEnd()),rf&2&&(\u0275\u0275advance(),\u0275\u0275styleMap(ctx.indicatorStyle))},styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .button-list[_ngcontent-%COMP%]{align-items:flex-end;border:none;display:flex;flex:0 0 auto;list-style:none;margin:0;padding:0;position:relative;background-color:var(--button-toggle-bg, var(--mat-sys-background));color:var(--button-toggle-color, var(--mat-sys-on-background));box-shadow:0 0 0 1px color-mix(in srgb,transparent,var(--button-toggle-color, var(--mat-sys-on-background)) 24%);border-radius:12px}[_nghost-%COMP%] .button-list[_ngcontent-%COMP%] .active-indicator[_ngcontent-%COMP%]{left:0;pointer-events:none;position:absolute;top:0;transform:translate(0);transition:height,transform,width;transition-duration:0;transition-timing-function:cubic-bezier(.4,1,.75,.9);border-radius:12px;box-shadow:0 0 0 1px var(--button-toggle-color, var(--mat-sys-on-background)),inset 0 0 0 1px var(--button-toggle-color, var(--mat-sys-on-background));height:34px;background-color:var(--button-toggle-bg, var(--mat-sys-background));z-index:1}.animate[_nghost-%COMP%] .button-list[_ngcontent-%COMP%] .active-indicator[_ngcontent-%COMP%]{transition-duration:.2s}"],changeDetection:0})}}return ButtonToggleGroupComponent3})();var ButtonToggleModule=(()=>{class ButtonToggleModule2{static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||ButtonToggleModule2)}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:ButtonToggleModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({})}}return ButtonToggleModule2})();var ReloadOnValueChangeDirective=(()=>{class ReloadOnValueChangeDirective2{constructor(cdRef,templateRef,viewContainer){this.cdRef=cdRef,this.templateRef=templateRef,this.viewContainer=viewContainer,this.changes=new ReplaySubject,this.destroy=inject(DestroyRef)}ngOnInit(){this.viewContainer.createEmbeddedView(this.templateRef),this.changes.pipe(distinctUntilChanged(isEqual_default),takeUntilDestroyed(this.destroy)).subscribe(()=>{this.viewContainer.clear(),this.viewContainer.createEmbeddedView(this.templateRef),this.cdRef.markForCheck()})}ngOnChanges(changes){changes.value.isFirstChange()||this.changes.next(changes.value.currentValue)}ngOnDestroy(){this.changes.complete()}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||ReloadOnValueChangeDirective2)(\u0275\u0275directiveInject(ChangeDetectorRef),\u0275\u0275directiveInject(TemplateRef),\u0275\u0275directiveInject(ViewContainerRef))}}static{this.\u0275dir=\u0275\u0275defineDirective({type:ReloadOnValueChangeDirective2,selectors:[["","ixReloadOnValueChange",""]],inputs:{value:[0,"ixReloadOnValueChange","value"]},features:[\u0275\u0275NgOnChangesFeature]})}}return ReloadOnValueChangeDirective2})();function assetsToAssetTreeOptions(rootId,descendantAssets){let sortedDescendants=sortBy_default(descendantAssets,["order"]),assetDict=Object.fromEntries(sortedDescendants.map(a=>[a.publicId,a])),childrenMap=new Map;sortedDescendants.forEach(asset=>{let parentId=asset.parent?.publicId;parentId&&(childrenMap.has(parentId)||childrenMap.set(parentId,[]),childrenMap.get(parentId)?.push(asset))});let assetDepthMap=new Map(sortedDescendants.map(a=>[a.publicId,_getAssetDepth(a,assetDict)])),directSubAssets=childrenMap.get(rootId)||[];if(directSubAssets.length===0)return[];let flattenedTree=[];return directSubAssets.forEach(asset=>_buildAssetArray(asset,childrenMap,flattenedTree)),flattenedTree.map(a=>{let depth=assetDepthMap.get(a.publicId)??0;return{id:a.publicId,name:a.name??"",depth,match:null}})}function _buildAssetArray(asset,childrenMap,arr){arr.push(asset),(childrenMap.get(asset.publicId)||[]).forEach(child=>_buildAssetArray(child,childrenMap,arr))}function _getAssetDepth(asset,entities,depth=0){let parentId=asset.parent?.publicId;return parentId&&entities[parentId]?_getAssetDepth(entities[parentId],entities,depth+1):depth}var PreviewDeviceSelectFacade=(()=>{class PreviewDeviceSelectFacade2{constructor(){this.store=inject(Store),this.agentsDict$=this.store.select(selectEntities3),this.customPropsDict$=this.store.select(selectAll31).pipe(map(props2=>props2.reduce((dict,p)=>(p.resourceType==="Agent"||p.resourceType==="Asset")&&p.scopeType&&p.slug?__spreadProps(__spreadValues({},dict),{[`${p.resourceType}.custom.${p.scopeType}${p.slug}`]:p}):dict,{}))),this.groupsDict$=this.store.select(selectEntities9)}assetTreeByRootAssetPublicId(rootAssetPublicId){return rootAssetPublicId?this.store.select(selectAllLoadedForRoot(rootAssetPublicId)).pipe(filter(loaded=>loaded),switchMap(()=>this.store.select(selectAllForRoot(rootAssetPublicId))),map(assets=>assetsToAssetTreeOptions(rootAssetPublicId,assets.filter(asset=>!!asset.parent)))):of([])}getRootAssetIdBySubAssetId(subAssetId){return this.store.select(selectEntityWithFields4(subAssetId)(["root"])).pipe(map(asset=>asset?.root?.publicId??null))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||PreviewDeviceSelectFacade2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:PreviewDeviceSelectFacade2,factory:PreviewDeviceSelectFacade2.\u0275fac,providedIn:"root"})}}return PreviewDeviceSelectFacade2})();function geoLocationIsEmpty(geoLocation){return geoLocation===null||geoLocation.city==="-"&&geoLocation.country==="-"||geoLocation.latitude==="0.000000"&&geoLocation.longitude==="0.000000"}function mapGeoLocationToName(geoLocation){return geoLocationIsEmpty(geoLocation)?null:geoLocation?.city&&geoLocation?.country?`${geoLocation.city}, ${geoLocation.country}`:geoLocation?.country?geoLocation.country:null}function findAgentOrAssetMatch(a,query,customPropsDict,groupsDict,agentsDict,nullifyName=!0){let q=deburr_default(query.toLowerCase().trim());if((a.name?deburr_default(a.name.toLowerCase()):null)?.includes(q))return nullifyName?null:a.name;if(a.description?.toLowerCase().includes(q))return a.description;if("serialNumber"in a&&a.serialNumber?.toLowerCase().includes(q))return a.serialNumber;let location2="location"in a?a.location?.name||("geoLocation"in a&&a.geoLocation?mapGeoLocationToName(a.geoLocation):null):null;if(location2?.toLowerCase().includes(q))return location2;if(groupsDict){let groups=a.memberships?.map(m=>groupsDict[m.group?.publicId]).filter(g=>!!g?.type)??[],groupName=_findBestMatch(groups.map(g=>g.name),q);if(groupName)return groupName}if(customPropsDict){let resType="agent"in a?"Asset":"Agent",customValues=Object.keys(customPropsDict).filter(key=>key.startsWith(`${resType}.`)).map(key=>(a.custom??{})[key.replace(`${resType}.custom.`,"")]).filter(val=>!isNil_default(val)).map(String),customValue=_findBestMatch(customValues,q);if(customValue)return customValue}if(agentsDict&&"agent"in a&&a.agent?.publicId){let linkedAgent=agentsDict[a.agent.publicId];if(linkedAgent)return findAgentOrAssetMatch(linkedAgent,query,customPropsDict,groupsDict,void 0,!1)}}function _findBestMatch(values,q){return values.reduce((best,value)=>{if(!value)return best;let v=deburr_default(value.toLowerCase());if(!v.includes(q))return best;let matchRatio=q.length/v.length;return!best||matchRatio>best.matchRatio?{value,matchRatio}:best},void 0)?.value}var _c022=a0=>[a0],_forTrack08=($index,$item)=>$item.id;function PreviewDeviceSelectComponent_Conditional_10_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"mat-option",9),\u0275\u0275text(1),\u0275\u0275pipe(2,"translate"),\u0275\u0275elementEnd()),rf&2){let noneOpt_r3=ctx;\u0275\u0275property("value",noneOpt_r3.value),\u0275\u0275advance(),\u0275\u0275textInterpolate(noneOpt_r3.label??\u0275\u0275pipeBind1(2,2,"NONE"))}}function PreviewDeviceSelectComponent_For_12_Conditional_4_Template(rf,ctx){if(rf&1&&(\u0275\u0275element(0,"span",11),\u0275\u0275pipe(1,"highlightText")),rf&2){let option_r4=\u0275\u0275nextContext().$implicit,ctx_r4=\u0275\u0275nextContext();\u0275\u0275property("innerHTML",\u0275\u0275pipeBind2(1,1,option_r4.match,ctx_r4.query()),\u0275\u0275sanitizeHtml)}}function PreviewDeviceSelectComponent_For_12_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"mat-option",9)(1,"div"),\u0275\u0275element(2,"span",10),\u0275\u0275pipe(3,"highlightText"),\u0275\u0275conditionalCreate(4,PreviewDeviceSelectComponent_For_12_Conditional_4_Template,2,4,"span",11),\u0275\u0275elementEnd()()),rf&2){let option_r4=ctx.$implicit,ctx_r4=\u0275\u0275nextContext();\u0275\u0275property("value",option_r4.id),\u0275\u0275advance(2),\u0275\u0275property("innerHTML",\u0275\u0275pipeBind2(3,3,option_r4.name,ctx_r4.query()),\u0275\u0275sanitizeHtml),\u0275\u0275advance(2),\u0275\u0275conditional(option_r4.match?4:-1)}}function PreviewDeviceSelectComponent_Conditional_13_For_14_Conditional_4_Template(rf,ctx){if(rf&1&&(\u0275\u0275element(0,"span",11),\u0275\u0275pipe(1,"highlightText")),rf&2){let option_r8=\u0275\u0275nextContext().$implicit,ctx_r4=\u0275\u0275nextContext(2);\u0275\u0275property("innerHTML",\u0275\u0275pipeBind2(1,1,option_r8.match,ctx_r4.query()),\u0275\u0275sanitizeHtml)}}function PreviewDeviceSelectComponent_Conditional_13_For_14_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"mat-option",9)(1,"div"),\u0275\u0275element(2,"span",10),\u0275\u0275pipe(3,"highlightText"),\u0275\u0275conditionalCreate(4,PreviewDeviceSelectComponent_Conditional_13_For_14_Conditional_4_Template,2,4,"span",11),\u0275\u0275elementEnd()()),rf&2){let option_r8=ctx.$implicit,ctx_r4=\u0275\u0275nextContext(2);\u0275\u0275property("value",option_r8.id),\u0275\u0275advance(2),\u0275\u0275styleProp("padding-left",\u0275\u0275pureFunction1(8,_c022,8*option_r8.depth),"px"),\u0275\u0275property("innerHTML",\u0275\u0275pipeBind2(3,5,option_r8.name,ctx_r4.query()),\u0275\u0275sanitizeHtml),\u0275\u0275advance(2),\u0275\u0275conditional(option_r8.match?4:-1)}}function PreviewDeviceSelectComponent_Conditional_13_Template(rf,ctx){if(rf&1){let _r6=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"div")(1,"button",12),\u0275\u0275listener("click",function($event){\u0275\u0275restoreView(_r6);let subAssetSelect_r7=\u0275\u0275reference(4);return \u0275\u0275resetView(subAssetSelect_r7.onContainerClick($event))}),\u0275\u0275text(2),\u0275\u0275elementEnd(),\u0275\u0275elementStart(3,"mat-select",13,3),\u0275\u0275listener("closed",function(){\u0275\u0275restoreView(_r6);let ctx_r4=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r4.handleSubAssetSelectClosed())}),\u0275\u0275elementStart(5,"mat-option",7),\u0275\u0275element(6,"ngx-mat-select-search",8),\u0275\u0275pipe(7,"translate"),\u0275\u0275pipe(8,"translate"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(9,"mat-option",9)(10,"span",14),\u0275\u0275text(11,"NONE"),\u0275\u0275elementEnd()(),\u0275\u0275element(12,"mat-divider"),\u0275\u0275repeaterCreate(13,PreviewDeviceSelectComponent_Conditional_13_For_14_Template,5,10,"mat-option",9,_forTrack08),\u0275\u0275elementEnd()()}if(rf&2){let ctx_r4=\u0275\u0275nextContext(),subAssetDialogOptionTemplate_r9=\u0275\u0275reference(17);\u0275\u0275advance(2),\u0275\u0275textInterpolate1(" ",ctx_r4.subAssetSelectTriggerLabel()," "),\u0275\u0275advance(),\u0275\u0275property("formControl",ctx_r4.subAssetControl)("ixSelectDialogOptionTemplate",subAssetDialogOptionTemplate_r9)("ixSelectDialogSearchPredicate",ctx_r4.subAssetSearchPredicate),\u0275\u0275advance(3),\u0275\u0275property("formControl",ctx_r4.queryControl)("placeholderLabel",\u0275\u0275pipeBind1(7,8,"SEARCH"))("noEntriesFoundLabel",\u0275\u0275pipeBind1(8,10,"NO_RESULTS_FOUND")),\u0275\u0275advance(3),\u0275\u0275property("value",null),\u0275\u0275advance(4),\u0275\u0275repeater(ctx_r4.subAssetOptions())}}function PreviewDeviceSelectComponent_ng_template_14_Conditional_5_Template(rf,ctx){if(rf&1&&(\u0275\u0275element(0,"span",11),\u0275\u0275pipe(1,"highlightText")),rf&2){\u0275\u0275nextContext();let query_r10=\u0275\u0275readContextLet(2);\u0275\u0275property("innerHTML",\u0275\u0275pipeBind2(1,1,ctx,query_r10),\u0275\u0275sanitizeHtml)}}function PreviewDeviceSelectComponent_ng_template_14_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"div",15)(1,"div"),\u0275\u0275declareLet(2),\u0275\u0275element(3,"span",10),\u0275\u0275pipe(4,"highlightText"),\u0275\u0275conditionalCreate(5,PreviewDeviceSelectComponent_ng_template_14_Conditional_5_Template,2,4,"span",11),\u0275\u0275elementEnd()()),rf&2){let tmp_5_0,tmp_7_0,option_r11=ctx.$implicit,ctx_r4=\u0275\u0275nextContext();\u0275\u0275advance(2);let query_r12=\u0275\u0275storeLet(((tmp_5_0=ctx_r4.selectDialogTrigger())==null||tmp_5_0.searchQueryControl==null?null:tmp_5_0.searchQueryControl.value)??"");\u0275\u0275advance(),\u0275\u0275property("innerHTML",\u0275\u0275pipeBind2(4,3,option_r11.viewValue,query_r12),\u0275\u0275sanitizeHtml),\u0275\u0275advance(2),\u0275\u0275conditional((tmp_7_0=ctx_r4.findOptionMatch("device",option_r11,query_r12))?5:-1,tmp_7_0)}}function PreviewDeviceSelectComponent_ng_template_16_Conditional_5_Template(rf,ctx){if(rf&1&&(\u0275\u0275element(0,"span",11),\u0275\u0275pipe(1,"highlightText")),rf&2){\u0275\u0275nextContext();let query_r13=\u0275\u0275readContextLet(2);\u0275\u0275property("innerHTML",\u0275\u0275pipeBind2(1,1,ctx,query_r13),\u0275\u0275sanitizeHtml)}}function PreviewDeviceSelectComponent_ng_template_16_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"div",15)(1,"div"),\u0275\u0275declareLet(2),\u0275\u0275element(3,"span",10),\u0275\u0275pipe(4,"highlightText"),\u0275\u0275conditionalCreate(5,PreviewDeviceSelectComponent_ng_template_16_Conditional_5_Template,2,4,"span",11),\u0275\u0275elementEnd()()),rf&2){let tmp_5_0,tmp_7_0,option_r14=ctx.$implicit,ctx_r4=\u0275\u0275nextContext();\u0275\u0275advance(2);let query_r15=\u0275\u0275storeLet(((tmp_5_0=ctx_r4.selectDialogTrigger())==null||tmp_5_0.searchQueryControl==null?null:tmp_5_0.searchQueryControl.value)??"");\u0275\u0275advance(),\u0275\u0275property("innerHTML",\u0275\u0275pipeBind2(4,3,option_r14.viewValue,query_r15),\u0275\u0275sanitizeHtml),\u0275\u0275advance(2),\u0275\u0275conditional((tmp_7_0=ctx_r4.findOptionMatch("subAsset",option_r14,query_r15))?5:-1,tmp_7_0)}}var PreviewDeviceSelectComponent=(()=>{class PreviewDeviceSelectComponent2{constructor(){this.agentAndRootAssets=input.required(),this.value=input(null),this.noneOption=input(),this.hideSubAssets=input(!1,{transform:booleanAttribute}),this.selectionChange=output(),this.facade=inject(PreviewDeviceSelectFacade),this.translateService=inject(TranslateService),this.selectDialogTrigger=viewChild(SelectDialogTriggerDirective),this.deviceControl=new FormControl(null),this.subAssetControl=new FormControl(null),this.queryControl=new FormControl("",{nonNullable:!0}),this.query=toSignal(this.queryControl.valueChanges,{initialValue:""}),this.agentsDict=toSignal(this.facade.agentsDict$,{requireSync:!0}),this.customPropsDict=toSignal(this.facade.customPropsDict$,{requireSync:!0}),this.groupsDict=toSignal(this.facade.groupsDict$,{requireSync:!0}),this.selectedDevicePublicId=toSignal(this.deviceControl.valueChanges.pipe(tap(()=>this.subAssetControl.setValue(null))),{initialValue:null}),this.selectedSubAssetPublicId=toSignal(this.subAssetControl.valueChanges,{initialValue:null}),this.selectedDeviceIsAsset=computed(()=>{let selectedId=this.selectedDevicePublicId();return selectedId?!(selectedId in this.agentsDict()):!1}),this.deviceOptions=computed(()=>this._getDeviceOptionsByQuery(this.query())),this.subAssetParams=computed(()=>({deviceId:this.selectedDeviceIsAsset()?this.selectedDevicePublicId():null})),this.subAssetOptionsResource=resource({params:this.subAssetParams,loader:({params})=>firstValueFrom(this.facade.assetTreeByRootAssetPublicId(params.deviceId))}),this.subAssetOptions=computed(()=>this._getSubAssetOptionsByQuery(this.query())),this.previewDeviceSelectTriggerLabel=computed(()=>{let publicId=this.selectedDevicePublicId(),emptyLabel=this.translateService.instant("SELECT_DEVICE_FOR_PREVIEW");return publicId?this.agentAndRootAssets().find(opt=>opt.publicId===publicId)?.name??emptyLabel:emptyLabel}),this.subAssetSelectTriggerLabel=computed(()=>{let publicId=this.selectedSubAssetPublicId(),emptyLabel=this.translateService.instant("SELECT_A_SUB_ASSET"),options=this.subAssetOptions();return publicId&&options?options.find(opt=>opt.id===publicId)?.name??emptyLabel:emptyLabel}),this.deviceSearchPredicate=this._optionSearchPredicate.bind(this,"device"),this.subAssetSearchPredicate=this._optionSearchPredicate.bind(this,"subAsset"),effect(()=>__async(this,null,function*(){let initialValue=this.value();if(!initialValue){this.deviceControl.setValue(null),this.subAssetControl.setValue(null);return}if(!this.hideSubAssets()&&!this.agentAndRootAssets().some(a=>a.publicId===initialValue)&&initialValue){let rootAssetId=yield firstValueFrom(this.facade.getRootAssetIdBySubAssetId(initialValue));this.deviceControl.setValue(rootAssetId,{emitModelToViewChange:!0,emitViewToModelChange:!1}),this.subAssetControl.setValue(initialValue,{emitModelToViewChange:!0,emitViewToModelChange:!1});return}this.deviceControl.setValue(initialValue,{emitModelToViewChange:!0,emitViewToModelChange:!1})}))}findOptionMatch(type,option,query){return query?(type==="device"?this._getDeviceOptionsByQuery(query):this._getSubAssetOptionsByQuery(query)).find(opt=>opt.id===option.value)?.match:void 0}handlePreviewDeviceSelectClosed(){return __async(this,null,function*(){let publicId=this.selectedDevicePublicId(),selectedSubAssetPublicId=this.selectedSubAssetPublicId();if(selectedSubAssetPublicId){let rootAssetPublicId=yield firstValueFrom(this.facade.getRootAssetIdBySubAssetId(selectedSubAssetPublicId));if(publicId===rootAssetPublicId)return}publicId&&this.selectionChange.emit(publicId)})}handleSubAssetSelectClosed(){let publicId=this.selectedSubAssetPublicId();if(publicId){this.selectionChange.emit(publicId);return}this.handlePreviewDeviceSelectClosed()}_getDeviceOptionsByQuery(query){let agentAndRootAssets=this.agentAndRootAssets();if(query){let agentsDict=this.agentsDict(),customPropsDict=this.customPropsDict(),groupsDict=this.groupsDict();return agentAndRootAssets.reduce((options,a)=>{let match3=findAgentOrAssetMatch(a,query,customPropsDict,groupsDict,agentsDict);return match3!==void 0?[...options,{id:a.publicId,name:a.name,match:match3}]:options},[])}return this.agentAndRootAssets().map(a=>({id:a.publicId,name:a.name,match:null}))}_getSubAssetOptionsByQuery(query){if(this.hideSubAssets())return[];let options=this.subAssetOptionsResource.value();if(!options)return[];if(options&&query){let agentsDict=this.agentsDict(),customPropsDict=this.customPropsDict(),groupsDict=this.groupsDict();return options.filter(opt=>findAgentOrAssetMatch({publicId:opt.id,name:opt.name},query,customPropsDict,groupsDict,agentsDict)!==void 0)}return options}_optionSearchPredicate(type,option,query){return query?(type==="device"?this._getDeviceOptionsByQuery(query):this._getSubAssetOptionsByQuery(query)).some(opt=>opt.id===option.value):!0}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||PreviewDeviceSelectComponent2)}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:PreviewDeviceSelectComponent2,selectors:[["ix-preview-device-select"]],viewQuery:function(rf,ctx){rf&1&&\u0275\u0275viewQuerySignal(ctx.selectDialogTrigger,SelectDialogTriggerDirective,5),rf&2&&\u0275\u0275queryAdvance()},inputs:{agentAndRootAssets:[1,"agentAndRootAssets"],value:[1,"value"],noneOption:[1,"noneOption"],hideSubAssets:[1,"hideSubAssets"]},outputs:{selectionChange:"selectionChange"},decls:18,vars:13,consts:[["previewDeviceSelect",""],["deviceDialogOptionTemplate",""],["subAssetDialogOptionTemplate",""],["subAssetSelect",""],[1,"button-group"],["matButton","outlined","data-testid","preview-device-select-button",3,"click"],["data-testid","preview-device-select","disableOptionCentering","","panelClass","preview-device-select-button-panel","name","device","ixSelectDialogTrigger","",3,"closed","formControl","ixSelectDialogOptionTemplate","ixSelectDialogSearchPredicate"],[1,"search-option"],[3,"formControl","placeholderLabel","noEntriesFoundLabel"],[3,"value"],[3,"innerHTML"],[1,"match",3,"innerHTML"],["matButton","outlined","data-testid","sub-asset-select-button",3,"click"],["data-testid","sub-asset-select","disableOptionCentering","","panelClass","preview-device-select-button-panel","name","subAsset","ixSelectDialogTrigger","",3,"closed","formControl","ixSelectDialogOptionTemplate","ixSelectDialogSearchPredicate"],["translate",""],[1,"ix-preview-device-dialog-option-template"]],template:function(rf,ctx){if(rf&1){let _r1=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"div",4)(1,"div")(2,"button",5),\u0275\u0275listener("click",function($event){\u0275\u0275restoreView(_r1);let previewDeviceSelect_r2=\u0275\u0275reference(5);return \u0275\u0275resetView(previewDeviceSelect_r2.onContainerClick($event))}),\u0275\u0275text(3),\u0275\u0275elementEnd(),\u0275\u0275elementStart(4,"mat-select",6,0),\u0275\u0275listener("closed",function(){return ctx.handlePreviewDeviceSelectClosed()}),\u0275\u0275elementStart(6,"mat-option",7),\u0275\u0275element(7,"ngx-mat-select-search",8),\u0275\u0275pipe(8,"translate"),\u0275\u0275pipe(9,"translate"),\u0275\u0275elementEnd(),\u0275\u0275conditionalCreate(10,PreviewDeviceSelectComponent_Conditional_10_Template,3,4,"mat-option",9),\u0275\u0275repeaterCreate(11,PreviewDeviceSelectComponent_For_12_Template,5,6,"mat-option",9,_forTrack08),\u0275\u0275elementEnd()(),\u0275\u0275conditionalCreate(13,PreviewDeviceSelectComponent_Conditional_13_Template,15,12,"div"),\u0275\u0275elementEnd(),\u0275\u0275template(14,PreviewDeviceSelectComponent_ng_template_14_Template,6,6,"ng-template",null,1,\u0275\u0275templateRefExtractor)(16,PreviewDeviceSelectComponent_ng_template_16_Template,6,6,"ng-template",null,2,\u0275\u0275templateRefExtractor)}if(rf&2){let tmp_10_0,deviceDialogOptionTemplate_r16=\u0275\u0275reference(15);\u0275\u0275advance(3),\u0275\u0275textInterpolate1(" ",ctx.previewDeviceSelectTriggerLabel()," "),\u0275\u0275advance(),\u0275\u0275property("formControl",ctx.deviceControl)("ixSelectDialogOptionTemplate",deviceDialogOptionTemplate_r16)("ixSelectDialogSearchPredicate",ctx.deviceSearchPredicate),\u0275\u0275advance(3),\u0275\u0275property("formControl",ctx.queryControl)("placeholderLabel",\u0275\u0275pipeBind1(8,9,"SEARCH"))("noEntriesFoundLabel",\u0275\u0275pipeBind1(9,11,"NO_RESULTS_FOUND")),\u0275\u0275advance(3),\u0275\u0275conditional((tmp_10_0=ctx.noneOption())?10:-1,tmp_10_0),\u0275\u0275advance(),\u0275\u0275repeater(ctx.deviceOptions()),\u0275\u0275advance(2),\u0275\u0275conditional(!ctx.hideSubAssets()&&ctx.selectedDeviceIsAsset()&&ctx.subAssetOptions().length>0?13:-1)}},dependencies:[ReactiveFormsModule,NgControlStatus,FormControlDirective,MatButtonModule,MatButton,MatDividerModule,MatDivider,MatSelectModule,MatSelect,MatOption,NgxMatSelectSearchModule,MatSelectSearchComponent,TranslateModule,TranslateDirective,SelectDialogTriggerDirective,TranslatePipe,HighlightTextPipe],styles:['[_nghost-%COMP%]{display:flex;flex-direction:column;position:relative}[_nghost-%COMP%] .button-group[_ngcontent-%COMP%]{display:flex;padding-right:8px}[_nghost-%COMP%] .button-group[_ngcontent-%COMP%] div[_ngcontent-%COMP%]:first-child:not(:last-child) > .mdc-button[_ngcontent-%COMP%]{padding-left:12px;border-top-right-radius:0;border-bottom-right-radius:0}[_nghost-%COMP%] .button-group[_ngcontent-%COMP%] div[_ngcontent-%COMP%]:not(:first-child) > .mdc-button[_ngcontent-%COMP%]{border-left:0}[_nghost-%COMP%] .button-group[_ngcontent-%COMP%] div[_ngcontent-%COMP%]:last-child:not(:first-child) > .mdc-button[_ngcontent-%COMP%]{border-top-left-radius:0;border-bottom-left-radius:0}[_nghost-%COMP%] .mat-mdc-button-base[_ngcontent-%COMP%]{display:block;padding-left:8px!important;padding-right:24px!important;position:relative}[_nghost-%COMP%] .mat-mdc-button-base[_ngcontent-%COMP%] .mdc-button__label{display:block;overflow-x:hidden;text-overflow:ellipsis}[_nghost-%COMP%] .mat-mdc-button-base[_ngcontent-%COMP%] .mdc-button__label:after{content:"";position:absolute;top:50%;right:8px;margin-top:-2px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid currentcolor}[_nghost-%COMP%] .mat-mdc-select[_ngcontent-%COMP%]{position:absolute;opacity:0;pointer-events:none;top:12px;left:0;font-size:14px}@media(min-width:960px){ .mat-mdc-select-panel.preview-device-select-button-panel{min-width:400px!important;max-width:500px!important}} .mat-mdc-select-panel.preview-device-select-button-panel .mat-mdc-option[role=option]{min-height:32px;padding-top:4px;padding-bottom:4px} .mat-mdc-select-panel.preview-device-select-button-panel .mat-mdc-option div, .ix-preview-device-dialog-option-template div{display:flex;flex-direction:column} .mat-mdc-select-panel.preview-device-select-button-panel .mat-mdc-option span:has(+.match), .ix-preview-device-dialog-option-template span:has(+.match){margin-top:6px;margin-bottom:-2px} .mat-mdc-select-panel.preview-device-select-button-panel .mat-mdc-option .match, .ix-preview-device-dialog-option-template .match{font-size:12px;line-height:14px;margin-bottom:8px;text-wrap:auto}'],changeDetection:0})}}return PreviewDeviceSelectComponent2})();var _c023=()=>[],_c110=()=>({value:"none"});function BuilderComponent_Conditional_0_Conditional_4_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"span"),\u0275\u0275text(1),\u0275\u0275elementEnd()),rf&2){let ctx_r1=\u0275\u0275nextContext(2);\u0275\u0275advance(),\u0275\u0275textInterpolate1(" - ",ctx_r1.componentName)}}function BuilderComponent_Conditional_0_Conditional_14_Template(rf,ctx){if(rf&1){let _r3=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"ix-button-toggle-group",22),\u0275\u0275listener("mousedown",function($event){return $event.stopPropagation()}),\u0275\u0275elementStart(1,"ix-button-toggle",23),\u0275\u0275pipe(2,"translate"),\u0275\u0275listener("valueChange",function($event){\u0275\u0275restoreView(_r3);let ctx_r1=\u0275\u0275nextContext(2);return \u0275\u0275resetView(ctx_r1.setPreviewMode($event))}),\u0275\u0275elementStart(3,"mat-icon"),\u0275\u0275text(4,"desktop_windows"),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(5,"ix-button-toggle",24),\u0275\u0275pipe(6,"translate"),\u0275\u0275listener("valueChange",function($event){\u0275\u0275restoreView(_r3);let ctx_r1=\u0275\u0275nextContext(2);return \u0275\u0275resetView(ctx_r1.setPreviewMode($event))}),\u0275\u0275elementStart(7,"mat-icon"),\u0275\u0275text(8,"smartphone"),\u0275\u0275elementEnd()()()}if(rf&2){let ctx_r1=\u0275\u0275nextContext(2);\u0275\u0275property("value",ctx_r1.previewMode),\u0275\u0275advance(),\u0275\u0275property("matTooltip",\u0275\u0275pipeBind1(2,3,"DESKTOP_VIEW")),\u0275\u0275advance(4),\u0275\u0275property("matTooltip",\u0275\u0275pipeBind1(6,5,"MOBILE_VIEW"))}}function BuilderComponent_Conditional_0_Conditional_15_Template(rf,ctx){if(rf&1){let _r4=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"ix-button-toggle-group",25),\u0275\u0275listener("mousedown",function($event){return $event.stopPropagation()}),\u0275\u0275elementStart(1,"ix-button-toggle",26),\u0275\u0275pipe(2,"translate"),\u0275\u0275listener("valueChange",function($event){\u0275\u0275restoreView(_r4);let ctx_r1=\u0275\u0275nextContext(2);return \u0275\u0275resetView(ctx_r1.setOrientation($event))}),\u0275\u0275elementStart(3,"mat-icon"),\u0275\u0275text(4,"crop_portrait"),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(5,"ix-button-toggle",27),\u0275\u0275pipe(6,"translate"),\u0275\u0275listener("valueChange",function($event){\u0275\u0275restoreView(_r4);let ctx_r1=\u0275\u0275nextContext(2);return \u0275\u0275resetView(ctx_r1.setOrientation($event))}),\u0275\u0275elementStart(7,"mat-icon"),\u0275\u0275text(8,"crop_landscape"),\u0275\u0275elementEnd()()()}if(rf&2){let ctx_r1=\u0275\u0275nextContext(2);\u0275\u0275property("value",ctx_r1.orientation),\u0275\u0275advance(),\u0275\u0275property("matTooltip",\u0275\u0275pipeBind1(2,3,"PORTRAIT_ORIENTATION")),\u0275\u0275advance(4),\u0275\u0275property("matTooltip",\u0275\u0275pipeBind1(6,5,"LANDSCAPE_ORIENTATION"))}}function BuilderComponent_Conditional_0_Conditional_16_Template(rf,ctx){if(rf&1){let _r5=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"button",28),\u0275\u0275listener("click",function(){\u0275\u0275restoreView(_r5);let ctx_r1=\u0275\u0275nextContext(2);return \u0275\u0275resetView(ctx_r1.toggleMode())})("mousedown",function($event){return $event.stopPropagation()}),\u0275\u0275elementStart(1,"mat-icon"),\u0275\u0275text(2),\u0275\u0275elementEnd(),\u0275\u0275elementStart(3,"span"),\u0275\u0275text(4),\u0275\u0275pipe(5,"translate"),\u0275\u0275elementEnd()()}if(rf&2){let ctx_r1=\u0275\u0275nextContext(2);\u0275\u0275advance(2),\u0275\u0275textInterpolate(ctx_r1.mode==="preview"?"edit":"visibility"),\u0275\u0275advance(2),\u0275\u0275textInterpolate(\u0275\u0275pipeBind1(5,2,ctx_r1.mode==="preview"?"EDIT":"PREVIEW"))}}function BuilderComponent_Conditional_0_Conditional_36_Conditional_0_Template(rf,ctx){if(rf&1){let _r6=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"mat-toolbar")(1,"h1"),\u0275\u0275text(2),\u0275\u0275elementEnd(),\u0275\u0275element(3,"span",3),\u0275\u0275elementStart(4,"button",30),\u0275\u0275listener("click",function(){\u0275\u0275restoreView(_r6);let ctx_r1=\u0275\u0275nextContext(3);return \u0275\u0275resetView(ctx_r1.toggleDrawerLock())}),\u0275\u0275elementStart(5,"mat-icon"),\u0275\u0275text(6,"keyboard_arrow_right"),\u0275\u0275elementEnd()()()}if(rf&2){let ctx_r1=\u0275\u0275nextContext(3);\u0275\u0275advance(2),\u0275\u0275textInterpolate(ctx_r1.selectedComponentTemplate==null?null:ctx_r1.selectedComponentTemplate.name)}}function BuilderComponent_Conditional_0_Conditional_36_Conditional_2_Template(rf,ctx){if(rf&1){let _r7=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"ix-page-component-properties",31),\u0275\u0275listener("update",function($event){\u0275\u0275restoreView(_r7);let ctx_r1=\u0275\u0275nextContext(3);return \u0275\u0275resetView(ctx_r1.updateComponent($event))}),\u0275\u0275elementEnd()}if(rf&2){let ctx_r1=\u0275\u0275nextContext(3);\u0275\u0275property("component",ctx_r1.selectedComponent)("template",ctx_r1.selectedComponentTemplate)}}function BuilderComponent_Conditional_0_Conditional_36_Template(rf,ctx){if(rf&1&&(\u0275\u0275conditionalCreate(0,BuilderComponent_Conditional_0_Conditional_36_Conditional_0_Template,7,1,"mat-toolbar"),\u0275\u0275elementStart(1,"div",17),\u0275\u0275conditionalCreate(2,BuilderComponent_Conditional_0_Conditional_36_Conditional_2_Template,1,2,"ix-page-component-properties",29),\u0275\u0275elementEnd()),rf&2){let ctx_r1=\u0275\u0275nextContext(2);\u0275\u0275conditional(ctx_r1.selectedComponentTemplate!=null&&ctx_r1.selectedComponentTemplate.name?0:-1),\u0275\u0275advance(2),\u0275\u0275conditional(ctx_r1.selectedComponent?2:-1)}}function BuilderComponent_Conditional_0_Conditional_37_Template(rf,ctx){if(rf&1){let _r8=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"button",30),\u0275\u0275listener("click",function(){\u0275\u0275restoreView(_r8);let ctx_r1=\u0275\u0275nextContext(2);return \u0275\u0275resetView(ctx_r1.toggleDrawerLock())}),\u0275\u0275elementStart(1,"mat-icon"),\u0275\u0275text(2,"keyboard_arrow_left"),\u0275\u0275elementEnd()()}}function BuilderComponent_Conditional_0_Case_39_Conditional_0_Conditional_1_Template(rf,ctx){if(rf&1){let _r9=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"ix-component-grid",38),\u0275\u0275listener("selectionChange",function($event){\u0275\u0275restoreView(_r9);let ctx_r1=\u0275\u0275nextContext(4);return \u0275\u0275resetView(ctx_r1.handleSelectionChange($event))})("componentChanges",function($event){\u0275\u0275restoreView(_r9);let ctx_r1=\u0275\u0275nextContext(4);return \u0275\u0275resetView(ctx_r1.handleComponentChanges($event))})("movingGridItem",function($event){\u0275\u0275restoreView(_r9);let ctx_r1=\u0275\u0275nextContext(4);return \u0275\u0275resetView(ctx_r1.setDrawerIsOpen($event))}),\u0275\u0275elementEnd()}if(rf&2){let pageVersion_r10=\u0275\u0275nextContext(3),ctx_r1=\u0275\u0275nextContext();\u0275\u0275classProp("desktop",ctx_r1.previewMode!=="mobile")("mobile",ctx_r1.previewMode==="mobile"),\u0275\u0275property("ixComponentGridScope",ctx_r1.gridScope)("agentOrAssetId",(pageVersion_r10.previewAgent==null?null:pageVersion_r10.previewAgent.publicId)||(pageVersion_r10.previewAsset==null?null:pageVersion_r10.previewAsset.publicId)||null)("mobile",ctx_r1.previewMode==="mobile")("pageId",ctx_r1.pageId)("pageVersionId",pageVersion_r10.publicId)("selectedComponentId",(ctx_r1.selectedComponent==null?null:ctx_r1.selectedComponent.publicId)||null)}}function BuilderComponent_Conditional_0_Case_39_Conditional_0_Conditional_2_Template(rf,ctx){if(rf&1){let _r11=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"ix-card-component-grid",39),\u0275\u0275listener("componentResize",function($event){\u0275\u0275restoreView(_r11);let ctx_r1=\u0275\u0275nextContext(4);return \u0275\u0275resetView(ctx_r1.updateComponentSize($event))})("selectionChange",function($event){\u0275\u0275restoreView(_r11);let ctx_r1=\u0275\u0275nextContext(4);return \u0275\u0275resetView(ctx_r1.handleSelectionChange($event))}),\u0275\u0275elementEnd()}if(rf&2){let pageVersion_r10=\u0275\u0275nextContext(3),ctx_r1=\u0275\u0275nextContext();\u0275\u0275property("ixComponentGridScope",ctx_r1.gridScope)("agentOrAssetId",(ctx_r1.previewAgentOrAsset==null?null:ctx_r1.previewAgentOrAsset.publicId)??null)("pageId",ctx_r1.pageId)("pageVersionId",pageVersion_r10.publicId)("selectedComponentId",(ctx_r1.selectedComponent==null?null:ctx_r1.selectedComponent.publicId)??null)}}function BuilderComponent_Conditional_0_Case_39_Conditional_0_Conditional_3_ix_component_grid_0_Template(rf,ctx){if(rf&1){let _r12=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"ix-component-grid",41),\u0275\u0275listener("selectionChange",function($event){\u0275\u0275restoreView(_r12);let ctx_r1=\u0275\u0275nextContext(5);return \u0275\u0275resetView(ctx_r1.handleSelectionChange($event))})("componentChanges",function($event){\u0275\u0275restoreView(_r12);let ctx_r1=\u0275\u0275nextContext(5);return \u0275\u0275resetView(ctx_r1.handleComponentChanges($event))})("movingGridItem",function($event){\u0275\u0275restoreView(_r12);let ctx_r1=\u0275\u0275nextContext(5);return \u0275\u0275resetView(ctx_r1.setDrawerIsOpen($event))}),\u0275\u0275elementEnd()}if(rf&2){let pageVersion_r10=\u0275\u0275nextContext(4),ctx_r1=\u0275\u0275nextContext();\u0275\u0275classMap(ctx_r1.orientation),\u0275\u0275property("ixComponentGridScope",ctx_r1.gridScope)("agentOrAssetId",(pageVersion_r10.previewAgent==null?null:pageVersion_r10.previewAgent.publicId)||(pageVersion_r10.previewAsset==null?null:pageVersion_r10.previewAsset.publicId)||null)("pageId",ctx_r1.pageId)("pageVersionId",pageVersion_r10.publicId)("selectedComponentId",(ctx_r1.selectedComponent==null?null:ctx_r1.selectedComponent.publicId)??null)("orientation",ctx_r1.orientation)("mobile",!1)}}function BuilderComponent_Conditional_0_Case_39_Conditional_0_Conditional_3_Template(rf,ctx){if(rf&1&&\u0275\u0275template(0,BuilderComponent_Conditional_0_Case_39_Conditional_0_Conditional_3_ix_component_grid_0_Template,1,9,"ix-component-grid",40),rf&2){let ctx_r1=\u0275\u0275nextContext(4);\u0275\u0275property("ixReloadOnValueChange",ctx_r1.orientation)}}function BuilderComponent_Conditional_0_Case_39_Conditional_0_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"div",34),\u0275\u0275conditionalCreate(1,BuilderComponent_Conditional_0_Case_39_Conditional_0_Conditional_1_Template,1,10,"ix-component-grid",35),\u0275\u0275conditionalCreate(2,BuilderComponent_Conditional_0_Case_39_Conditional_0_Conditional_2_Template,1,5,"ix-card-component-grid",36),\u0275\u0275conditionalCreate(3,BuilderComponent_Conditional_0_Case_39_Conditional_0_Conditional_3_Template,1,1,"ix-component-grid",37),\u0275\u0275elementEnd()),rf&2){let ctx_r1=\u0275\u0275nextContext(3);\u0275\u0275classMap(ctx_r1.gridClasses),\u0275\u0275advance(),\u0275\u0275conditional(ctx_r1.applicationType==="sheet"?1:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx_r1.applicationType==="card"?2:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx_r1.applicationType==="report"?3:-1)}}function BuilderComponent_Conditional_0_Case_39_Conditional_1_Conditional_1_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"div",43),\u0275\u0275element(1,"ix-simple-component-grid",45),\u0275\u0275elementEnd()),rf&2){let pageVersion_r10=\u0275\u0275nextContext(3),ctx_r1=\u0275\u0275nextContext();\u0275\u0275advance(),\u0275\u0275classMap(ctx_r1.previewMode),\u0275\u0275property("ixComponentGridScope",ctx_r1.gridScope)("agentOrAssetId",(pageVersion_r10.previewAgent==null?null:pageVersion_r10.previewAgent.publicId)||(pageVersion_r10.previewAsset==null?null:pageVersion_r10.previewAsset.publicId)||null)("mobile",ctx_r1.previewMode==="mobile")("pageId",ctx_r1.pageId)("pageVersionId",pageVersion_r10.publicId)}}function BuilderComponent_Conditional_0_Case_39_Conditional_1_Conditional_2_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"div",44),\u0275\u0275element(1,"ix-simple-card-component-grid",46),\u0275\u0275elementEnd()),rf&2){let pageVersion_r10=\u0275\u0275nextContext(3),ctx_r1=\u0275\u0275nextContext();\u0275\u0275advance(),\u0275\u0275property("ixComponentGridScope",ctx_r1.gridScope)("agentOrAssetId",(pageVersion_r10.previewAgent==null?null:pageVersion_r10.previewAgent.publicId)||(pageVersion_r10.previewAsset==null?null:pageVersion_r10.previewAsset.publicId)||null)("pageId",ctx_r1.pageId)("pageVersionId",pageVersion_r10.publicId)}}function BuilderComponent_Conditional_0_Case_39_Conditional_1_Template(rf,ctx){if(rf&1&&(\u0275\u0275elementStart(0,"div",42),\u0275\u0275conditionalCreate(1,BuilderComponent_Conditional_0_Case_39_Conditional_1_Conditional_1_Template,2,7,"div",43),\u0275\u0275conditionalCreate(2,BuilderComponent_Conditional_0_Case_39_Conditional_1_Conditional_2_Template,2,4,"div",44),\u0275\u0275elementEnd()),rf&2){let ctx_r1=\u0275\u0275nextContext(3);\u0275\u0275classMap(ctx_r1.applicationType),\u0275\u0275advance(),\u0275\u0275conditional(ctx_r1.applicationType==="sheet"?1:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx_r1.applicationType==="card"?2:-1)}}function BuilderComponent_Conditional_0_Case_39_Template(rf,ctx){if(rf&1&&\u0275\u0275conditionalCreate(0,BuilderComponent_Conditional_0_Case_39_Conditional_0_Template,4,5,"div",32)(1,BuilderComponent_Conditional_0_Case_39_Conditional_1_Template,3,4,"div",33),rf&2){let ctx_r1=\u0275\u0275nextContext(2);\u0275\u0275conditional(ctx_r1.mode==="edit"?0:1)}}function BuilderComponent_Conditional_0_Case_40_Template(rf,ctx){if(rf&1&&\u0275\u0275elementContainer(0,21),rf&2){\u0275\u0275nextContext();let standaloneContent_r13=\u0275\u0275reference(42);\u0275\u0275property("ngTemplateOutlet",standaloneContent_r13)}}function BuilderComponent_Conditional_0_ng_template_41_Conditional_0_ix_component_loader_2_Template(rf,ctx){if(rf&1&&\u0275\u0275element(0,"ix-component-loader",50),rf&2){let component_r15=\u0275\u0275nextContext();\u0275\u0275property("component",component_r15)}}function BuilderComponent_Conditional_0_ng_template_41_Conditional_0_Template(rf,ctx){if(rf&1){let _r14=\u0275\u0275getCurrentView();\u0275\u0275elementContainerStart(0,47),\u0275\u0275elementStart(1,"div",48),\u0275\u0275listener("click",function(){let component_r15=\u0275\u0275restoreView(_r14),ctx_r1=\u0275\u0275nextContext(3);return \u0275\u0275resetView(ctx_r1.handleSelectionChange(component_r15.publicId))}),\u0275\u0275template(2,BuilderComponent_Conditional_0_ng_template_41_Conditional_0_ix_component_loader_2_Template,1,1,"ix-component-loader",49),\u0275\u0275elementEnd(),\u0275\u0275elementContainerEnd()}if(rf&2){let ctx_r1=\u0275\u0275nextContext(3);\u0275\u0275property("ixComponentGridScope",ctx_r1.gridScope),\u0275\u0275advance(),\u0275\u0275property("ixComponentGridScope",ctx_r1.gridScope),\u0275\u0275advance(),\u0275\u0275property("ixReloadOnValueChange",ctx)}}function BuilderComponent_Conditional_0_ng_template_41_Template(rf,ctx){if(rf&1&&(\u0275\u0275conditionalCreate(0,BuilderComponent_Conditional_0_ng_template_41_Conditional_0_Template,3,3,"ng-container",47),\u0275\u0275pipe(1,"async")),rf&2){let tmp_4_0,ctx_r1=\u0275\u0275nextContext(2);\u0275\u0275conditional((tmp_4_0=\u0275\u0275pipeBind1(1,1,ctx_r1.component$))?0:-1,tmp_4_0)}}function BuilderComponent_Conditional_0_Template(rf,ctx){if(rf&1){let _r1=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"div",1)(1,"mat-toolbar",2)(2,"h1"),\u0275\u0275text(3," Simulator "),\u0275\u0275conditionalCreate(4,BuilderComponent_Conditional_0_Conditional_4_Template,2,1,"span"),\u0275\u0275elementEnd(),\u0275\u0275element(5,"span",3),\u0275\u0275elementStart(6,"button",4)(7,"mat-icon"),\u0275\u0275text(8,"settings"),\u0275\u0275elementEnd()()(),\u0275\u0275elementStart(9,"mat-toolbar",5)(10,"ix-preview-device-select",6),\u0275\u0275pipe(11,"async"),\u0275\u0275listener("selectionChange",function($event){\u0275\u0275restoreView(_r1);let ctx_r1=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r1.selectPreviewAgentOrAsset($event))})("mousedown",function($event){return $event.stopPropagation()}),\u0275\u0275elementEnd(),\u0275\u0275element(12,"div",3),\u0275\u0275elementStart(13,"ix-period-controls",7),\u0275\u0275listener("periodSpecSelected",function($event){\u0275\u0275restoreView(_r1);let ctx_r1=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r1.updateSelectedPeriodSpec($event))})("mousedown",function($event){return $event.stopPropagation()}),\u0275\u0275elementEnd(),\u0275\u0275conditionalCreate(14,BuilderComponent_Conditional_0_Conditional_14_Template,9,7,"ix-button-toggle-group",8),\u0275\u0275conditionalCreate(15,BuilderComponent_Conditional_0_Conditional_15_Template,9,7,"ix-button-toggle-group",9),\u0275\u0275conditionalCreate(16,BuilderComponent_Conditional_0_Conditional_16_Template,6,4,"button",10),\u0275\u0275elementStart(17,"ix-button-toggle-group",11),\u0275\u0275listener("mousedown",function($event){return $event.stopPropagation()}),\u0275\u0275elementStart(18,"ix-button-toggle",12),\u0275\u0275pipe(19,"translate"),\u0275\u0275listener("valueChange",function($event){\u0275\u0275restoreView(_r1);let ctx_r1=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r1.setApplicationType($event))}),\u0275\u0275elementStart(20,"mat-icon"),\u0275\u0275text(21,"dashboard"),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(22,"ix-button-toggle",13),\u0275\u0275pipe(23,"translate"),\u0275\u0275listener("valueChange",function($event){\u0275\u0275restoreView(_r1);let ctx_r1=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r1.setApplicationType($event))}),\u0275\u0275element(24,"mat-icon",14),\u0275\u0275elementEnd(),\u0275\u0275elementStart(25,"ix-button-toggle",15),\u0275\u0275pipe(26,"translate"),\u0275\u0275listener("valueChange",function($event){\u0275\u0275restoreView(_r1);let ctx_r1=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r1.setApplicationType($event))}),\u0275\u0275elementStart(27,"mat-icon"),\u0275\u0275text(28,"draft"),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(29,"ix-button-toggle",16),\u0275\u0275pipe(30,"translate"),\u0275\u0275listener("valueChange",function($event){\u0275\u0275restoreView(_r1);let ctx_r1=\u0275\u0275nextContext();return \u0275\u0275resetView(ctx_r1.setApplicationType($event))}),\u0275\u0275elementStart(31,"mat-icon"),\u0275\u0275text(32,"fit_screen"),\u0275\u0275elementEnd()()()(),\u0275\u0275elementStart(33,"div",17)(34,"mat-drawer-container")(35,"mat-drawer",18),\u0275\u0275conditionalCreate(36,BuilderComponent_Conditional_0_Conditional_36_Template,3,2)(37,BuilderComponent_Conditional_0_Conditional_37_Template,3,0,"button",19),\u0275\u0275elementEnd(),\u0275\u0275elementStart(38,"mat-drawer-content",20),\u0275\u0275conditionalCreate(39,BuilderComponent_Conditional_0_Case_39_Template,2,1)(40,BuilderComponent_Conditional_0_Case_40_Template,1,1,"ng-container",21),\u0275\u0275template(41,BuilderComponent_Conditional_0_ng_template_41_Template,2,3,"ng-template",null,0,\u0275\u0275templateRefExtractor),\u0275\u0275elementEnd()()()()}if(rf&2){let tmp_21_0,ctx_r1=\u0275\u0275nextContext();\u0275\u0275advance(4),\u0275\u0275conditional(ctx_r1.componentName?4:-1),\u0275\u0275advance(6),\u0275\u0275property("agentAndRootAssets",\u0275\u0275pipeBind1(11,21,ctx_r1.previewAgentsOrAssets$)??\u0275\u0275pureFunction0(31,_c023))("noneOption",\u0275\u0275pureFunction0(32,_c110))("value",(ctx_r1.previewAgentOrAsset==null?null:ctx_r1.previewAgentOrAsset.publicId)??""),\u0275\u0275advance(3),\u0275\u0275property("deviceTimeZone",null)("periodSpecs",ctx_r1.periodSpecs),\u0275\u0275advance(),\u0275\u0275conditional(ctx_r1.applicationType==="sheet"?14:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx_r1.applicationType==="report"?15:-1),\u0275\u0275advance(),\u0275\u0275conditional(ctx_r1.applicationType==="sheet"||ctx_r1.applicationType==="card"?16:-1),\u0275\u0275advance(),\u0275\u0275property("value",ctx_r1.applicationType),\u0275\u0275advance(),\u0275\u0275property("matTooltip",\u0275\u0275pipeBind1(19,23,"PAGE")),\u0275\u0275advance(4),\u0275\u0275property("matTooltip",\u0275\u0275pipeBind1(23,25,"CARD")),\u0275\u0275advance(3),\u0275\u0275property("matTooltip",\u0275\u0275pipeBind1(26,27,"REPORT")),\u0275\u0275advance(4),\u0275\u0275property("matTooltip",\u0275\u0275pipeBind1(30,29,"STANDALONE")),\u0275\u0275advance(6),\u0275\u0275classProp("locked-drawer",ctx_r1.drawerLockedClose)("open-drawer",ctx_r1.selectedComponent&&!ctx_r1.drawerLockedClose),\u0275\u0275property("opened",ctx_r1.selectedComponent&&ctx_r1.drawerIsOpen&&ctx_r1.mode==="edit"),\u0275\u0275advance(),\u0275\u0275conditional(ctx_r1.selectedComponent&&!ctx_r1.drawerLockedClose?36:37),\u0275\u0275advance(3),\u0275\u0275conditional((tmp_21_0=ctx_r1.applicationType)==="standalone"?40:39)}}var BuilderComponent=(()=>{class BuilderComponent2{constructor(){this.activePeriodSpec=inject(ActivePeriodSpec),this.cdRef=inject(ChangeDetectorRef),this.destroy=inject(DestroyRef),this.facade=inject(BuilderFacade),this.sessionStorage=inject(SESSION_STORAGE),this.applicationType=this.sessionStorage.getItem("application-type")||"sheet",this.orientation=this.sessionStorage.getItem("orientation")||"portrait",this.drawerLockedClose=!1,this.gridScope="simulator",this.mode=this.sessionStorage.getItem("mode")||"edit",this.previewMode=this.sessionStorage.getItem("preview-mode")||"desktop",this.drawerIsOpen=!0,this.selectedComponentId$=new BehaviorSubject(null),this.busyUpdating$=this.facade.busyUpdating$,this.component$=this.facade.getComponent(this.pageId),this.pageVersion$=this.facade.draftVersionByPageId(this.pageId),this.previewAgentsOrAssets$=this.facade.previewAgentsOrAssets$,this.previewAgentOrAsset$=this.facade.previewAgentOrAsset(this.pageVersion$)}get gridClasses(){return this.previewMode==="mobile"?["mobile"]:[]}get pageId(){return"page"}ngOnInit(){this.pageVersion$.pipe(takeUntilDestroyed(this.destroy)).subscribe(pageVersion=>{this.pageVersion=pageVersion,this.pageVersionId=pageVersion.publicId,pageVersion.previewAsset&&this.facade.loadOneAsset(pageVersion.previewAsset.publicId)}),this.facade.selectedPeriodSpec(of(this.pageId)).pipe(takeUntilDestroyed(this.destroy)).subscribe(periodSpec=>{this.periodSpecs=__spreadProps(__spreadValues({},this.periodSpecs),{selected:periodSpec}),this.activePeriodSpec.setPeriodSpec(periodSpec,this.gridScope),this.zoomOutIsVisible=this.getZoomOutIsVisible(),this.cdRef.markForCheck()}),this.activePeriodSpec.inScopeOf(this.gridScope).pipe(takeUntilDestroyed(this.destroy)).subscribe(periodSpec=>{this.periodSpecs=__spreadProps(__spreadValues({},this.periodSpecs),{active:periodSpec}),this.zoomOutIsVisible=this.getZoomOutIsVisible(),this.cdRef.markForCheck()}),this.selectedComponentId$.pipe(distinctUntilChanged(),switchMap(id=>combineLatest([this.facade.pageComponent(id),this.facade.pageComponentTemplate(id)])),takeUntilDestroyed(this.destroy)).subscribe(([component,template])=>{this.selectedComponent=component,this.selectedComponentTemplate=template,this.cdRef.markForCheck()}),this.previewAgentOrAsset$.pipe(takeUntilDestroyed(this.destroy)).subscribe(agentOrAsset=>{this.previewAgentOrAsset=agentOrAsset;let rootAssetId=agentOrAsset&&"root"in agentOrAsset?agentOrAsset.root?.publicId||agentOrAsset.publicId:void 0;this.facade.loadAssetsForRoot(rootAssetId),this.cdRef.markForCheck()}),this.facade.getComponentName(this.pageId).pipe(takeUntilDestroyed(this.destroy)).subscribe(name=>{this.componentName=name}),this.facade.loadAgents(),this.facade.loadRootAssets(),this.facade.loadCustomProperties(),this.facade.loadGroups(),this.facade.loadPageComponentTemplates(),this.facade.loadPage(this.pageId),this.facade.loadRoles(),this.destroy.onDestroy(()=>{this.facade.reset()})}handleSelectionChange(componentId){this.selectedComponentId$.next(componentId)}handleComponentChanges(components){let updates=components.reduce((acc,component)=>this.previewMode==="desktop"&&component.dimensions?.type==="sheet"?[...acc,pick_default(component,["publicId","dimensions.type","dimensions.left","dimensions.top","dimensions.rows","dimensions.cols"])]:this.previewMode==="mobile"&&component.dimensions?.type==="sheet"?[...acc,pick_default(component,["publicId","dimensions.type","dimensions.mobileCols","dimensions.mobileHeight","dimensions.mobileLeft","dimensions.mobileOrder"])]:component.dimensions?.type==="report"?[...acc,pick_default(component,["publicId","dimensions.type","dimensions.left","dimensions.top","dimensions.rows","dimensions.cols"])]:acc,[]);updates.length>0&&(updates.length===1?this.facade.updateComponent(updates[0].publicId,omit_default(updates[0],["publicId"])):this.facade.updateComponentList(updates))}updateComponent(component){this.facade.updateComponent(component.publicId,omit_default(component,["publicId"]))}updateComponentSize({componentId,height}){this.facade.updateComponent(componentId,{dimensions:{type:"card",height}})}selectPreviewAgentOrAsset(publicId){this.previewAgentOrAsset?.publicId!==publicId&&this.facade.updatePreviewAgentOrAsset(this.pageVersionId,publicId==="none"?null:publicId)}setApplicationType(newApplicationType){this.applicationType=newApplicationType,this.sessionStorage.setItem("application-type",newApplicationType),this.facade.reloadDimensions(this.pageId,newApplicationType),this.facade.updateApplicationType(this.pageId,newApplicationType);let mode=null,remember=!0;switch(newApplicationType){case"report":mode="edit",remember=!1;break;case"standalone":mode="preview",remember=!1;break}mode||(mode=this.sessionStorage.getItem("mode")||null),mode&&this.setMode(mode,remember)}setPreviewMode(newPreviewMode){this.previewMode=newPreviewMode,this.sessionStorage.setItem("preview-mode",newPreviewMode)}setOrientation(newOrientation){this.orientation=newOrientation,this.sessionStorage.setItem("orientation",newOrientation);let component=this.pageVersion.components?.[0];component?.dimensions?.type==="report"&&this.facade.updateComponent(component.publicId,{dimensions:__spreadProps(__spreadValues({},component.dimensions),{type:"report",left:0,top:3,cols:newOrientation==="landscape"?8:6,rows:6})})}getZoomOutIsVisible(){return this.periodSpecs?!isEqual_default(this.periodSpecs.active,this.periodSpecs.selected):!1}setMode(newMode,rememberMode=!0){this.mode=newMode,rememberMode&&this.sessionStorage.setItem("mode",newMode)}setDrawerIsOpen(gridItemIsMoving){this.drawerIsOpen=!gridItemIsMoving}toggleDrawerLock(){this.drawerLockedClose=!this.drawerLockedClose}toggleMode(){this.setMode(this.mode==="preview"?"edit":"preview")}updateSelectedPeriodSpec(periodSpec){this.facade.updateSelectedPeriodSpec(periodSpec)}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||BuilderComponent2)}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:BuilderComponent2,selectors:[["ix-builder"]],viewQuery:function(rf,ctx){if(rf&1&&\u0275\u0275viewQuery(ComponentGridComponent,5),rf&2){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx.componentGrid=_t.first)}},decls:2,vars:3,consts:[["standaloneContent",""],["fxFlex","","fxLayout","column",1,"ix-surface"],["ixComponentGridFocus",""],["fxFlex",""],["mat-icon-button","","routerLink","/settings","matTooltip","Settings"],["ixComponentGridFocus","",1,"second"],[3,"selectionChange","mousedown","agentAndRootAssets","noneOption","value"],[3,"periodSpecSelected","mousedown","deviceTimeZone","periodSpecs"],[1,"screen-toggle-group",3,"value"],[1,"orientation-toggle-group",3,"value"],["mat-stroked-button","","type","button",1,"mode-button"],[1,"application-type-toggle-group",3,"mousedown","value"],["value","sheet",3,"valueChange","matTooltip"],["value","card",3,"valueChange","matTooltip"],["svgIcon","card_outline"],["value","report",3,"valueChange","matTooltip"],["value","standalone",3,"valueChange","matTooltip"],["fxFlex","",1,"ix-content"],["mode","over","position","end",3,"opened"],["mat-icon-button","","disableRipple","true"],["fxLayout","column"],[3,"ngTemplateOutlet"],[1,"screen-toggle-group",3,"mousedown","value"],["value","desktop",3,"valueChange","matTooltip"],["value","mobile",3,"valueChange","matTooltip"],[1,"orientation-toggle-group",3,"mousedown","value"],["value","portrait",3,"valueChange","matTooltip"],["value","landscape",3,"valueChange","matTooltip"],["mat-stroked-button","","type","button",1,"mode-button",3,"click","mousedown"],[3,"component","template"],["mat-icon-button","","disableRipple","true",3,"click"],[3,"update","component","template"],["ixComponentGridFocus","",1,"grid-container",3,"class"],[1,"preview-grid-container",3,"class"],["ixComponentGridFocus","",1,"grid-container"],["ixBackendComponentBroker","","ixLoggingDataBroker","","ixResourceDataBroker","","ixObjectStorageBroker","","ixComponentGridMode","edit","ixComponentContextCleanup","","pagePageId","pagepage",3,"ixComponentGridScope","agentOrAssetId","mobile","pageId","pageVersionId","selectedComponentId","desktop"],["ixBackendComponentBroker","","ixLoggingDataBroker","","ixResourceDataBroker","","ixObjectStorageBroker","","ixComponentContextCleanup","","ixComponentGridMode","edit","pagePageId","pagepage",3,"ixComponentGridScope","agentOrAssetId","pageId","pageVersionId","selectedComponentId"],["ixBackendComponentBroker","","ixLoggingDataBroker","","ixResourceDataBroker","","ixObjectStorageBroker","","ixComponentGridMode","edit","ixComponentContextCleanup","","pagePageId","pagepage","applicationType","report",1,"report-grid","mat-elevation-z2",3,"ixComponentGridScope","agentOrAssetId","pageId","pageVersionId","selectedComponentId","class","orientation","mobile"],["ixBackendComponentBroker","","ixLoggingDataBroker","","ixResourceDataBroker","","ixObjectStorageBroker","","ixComponentGridMode","edit","ixComponentContextCleanup","","pagePageId","pagepage",3,"selectionChange","componentChanges","movingGridItem","ixComponentGridScope","agentOrAssetId","mobile","pageId","pageVersionId","selectedComponentId"],["ixBackendComponentBroker","","ixLoggingDataBroker","","ixResourceDataBroker","","ixObjectStorageBroker","","ixComponentContextCleanup","","ixComponentGridMode","edit","pagePageId","pagepage",3,"componentResize","selectionChange","ixComponentGridScope","agentOrAssetId","pageId","pageVersionId","selectedComponentId"],["ixBackendComponentBroker","","ixLoggingDataBroker","","ixResourceDataBroker","","ixObjectStorageBroker","","ixComponentGridMode","edit","ixComponentContextCleanup","","pagePageId","pagepage","class","report-grid mat-elevation-z2","applicationType","report",3,"ixComponentGridScope","agentOrAssetId","pageId","pageVersionId","selectedComponentId","class","orientation","mobile","selectionChange","componentChanges","movingGridItem",4,"ixReloadOnValueChange"],["ixBackendComponentBroker","","ixLoggingDataBroker","","ixResourceDataBroker","","ixObjectStorageBroker","","ixComponentGridMode","edit","ixComponentContextCleanup","","pagePageId","pagepage","applicationType","report",1,"report-grid","mat-elevation-z2",3,"selectionChange","componentChanges","movingGridItem","ixComponentGridScope","agentOrAssetId","pageId","pageVersionId","selectedComponentId","orientation","mobile"],[1,"preview-grid-container"],[1,"ix-large-section","preview"],[1,"preview"],["ixBackendComponentBroker","","ixLoggingDataBroker","","ixResourceDataBroker","","ixObjectStorageBroker","","ixComponentContextCleanup","","ixComponentGridMode","view",3,"ixComponentGridScope","agentOrAssetId","mobile","pageId","pageVersionId"],["ixBackendComponentBroker","","ixLoggingDataBroker","","ixResourceDataBroker","","ixObjectStorageBroker","","ixComponentContextCleanup","","ixComponentGridMode","view",3,"ixComponentGridScope","agentOrAssetId","pageId","pageVersionId"],[3,"ixComponentGridScope"],["ixBackendComponentBroker","","ixLoggingDataBroker","","ixResourceDataBroker","","ixObjectStorageBroker","","ixComponentContextCleanup","",1,"standalone",3,"click","ixComponentGridScope"],[3,"component",4,"ixReloadOnValueChange"],[3,"component"]],template:function(rf,ctx){if(rf&1&&(\u0275\u0275conditionalCreate(0,BuilderComponent_Conditional_0_Template,43,33,"div",1),\u0275\u0275pipe(1,"async")),rf&2){let tmp_0_0;\u0275\u0275conditional((tmp_0_0=\u0275\u0275pipeBind1(1,1,ctx.pageVersion$))?0:-1,tmp_0_0)}},dependencies:[ButtonToggleModule,ButtonToggleComponent,ButtonToggleGroupComponent,ComponentLoaderModule,ComponentLoaderComponent,PreviewDeviceSelectComponent,FlexModule,DefaultLayoutDirective,DefaultFlexDirective,MatButtonModule,MatButton,MatIconButton,MatFormFieldModule,MatIconModule,MatIcon,MatInputModule,MatSidenavModule,MatDrawer,MatDrawerContainer,MatDrawerContent,MatToolbarModule,MatToolbar,MatTooltipModule,MatTooltip,NgTemplateOutlet,PagesModule,ComponentGridComponent,CardComponentGridComponent,SimpleComponentGridComponent,SimpleCardComponentGridComponent,ComponentPropertiesComponent,ComponentGridModeDirective,ComponentGridScopeDirective,ComponentContextCleanupDirective,BackendComponentBrokerDirective,LoggingDataBrokerDirective,ObjectStorageBrokerDirective,ResourceDataBrokerDirective,PeriodControlsComponent,ComponentGridFocusDirective,ReloadOnValueChangeDirective,RouterModule,RouterLink,TranslateModule,AsyncPipe,TranslatePipe],styles:['[_nghost-%COMP%]{height:100%;width:100%}[_nghost-%COMP%] .mat-toolbar[_ngcontent-%COMP%]{border-bottom:1px solid var(--mat-sys-surface-variant)}[_nghost-%COMP%] .mat-toolbar[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{padding-right:16px}[_nghost-%COMP%] .mat-toolbar[_ngcontent-%COMP%] ix-device-select-button[_ngcontent-%COMP%]{margin-right:8px;max-width:calc(100% - 340px)}[_nghost-%COMP%] .mat-toolbar.second[_ngcontent-%COMP%]{--mat-toolbar-standard-height: 56px;--mat-button-outlined-container-height: 36px;border-bottom:1px solid var(--mat-sys-surface-variant)}[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%]{height:100%}[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .mat-drawer-backdrop{display:none}[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .mat-drawer[_ngcontent-%COMP%]{height:100%;width:300px;border-left:1px solid var(--mat-sys-surface-variant)}[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .mat-drawer[_ngcontent-%COMP%] .mat-drawer-inner-container{height:100%;flex-direction:column}[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .mat-drawer[_ngcontent-%COMP%] .mat-drawer-inner-container>.mat-toolbar{height:40px!important}[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .mat-drawer[_ngcontent-%COMP%] .mat-drawer-inner-container>.mat-toolbar h1{color:var(--body-color);font-size:16px;font-weight:400}[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .mat-drawer.locked-drawer[_ngcontent-%COMP%]{--mat-sidenav-container-elevation-shadow: 0px 8px 10px -5px rgb(0 0 0 / 20%), 0px 16px 24px 2px rgb(0 0 0 / 14%), 0px 6px 30px 5px rgb(0 0 0 / 12%);width:50px;height:40px;border-top-left-radius:25px;border-bottom-left-radius:25px;border-left:none}[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .mat-drawer[_ngcontent-%COMP%] .mat-mdc-icon-button[_ngcontent-%COMP%] .mat-mdc-button-focus-overlay{display:none}[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .grid-container[_ngcontent-%COMP%]{height:100%;overflow-x:auto;background-color:#f5f5f5}[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .grid-container[_ngcontent-%COMP%] .grid[_ngcontent-%COMP%]{height:100%}[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .grid-container[_ngcontent-%COMP%] ix-component-grid[_ngcontent-%COMP%]{margin:0 auto;height:100%}@media(min-width:960px){[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .grid-container[_ngcontent-%COMP%] ix-component-grid[_ngcontent-%COMP%]{max-width:970px}}@media(min-width:1280px){[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .grid-container[_ngcontent-%COMP%] ix-component-grid[_ngcontent-%COMP%]{max-width:1200px}}@media(min-width:1896px){[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .grid-container[_ngcontent-%COMP%] ix-component-grid[_ngcontent-%COMP%]{max-width:1600px}}@media screen and (min-width:2251px){[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .grid-container[_ngcontent-%COMP%] ix-component-grid[_ngcontent-%COMP%]{max-width:2000px}}[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .grid-container[_ngcontent-%COMP%] ix-component-grid.desktop[_ngcontent-%COMP%]{min-width:970px}[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .grid-container[_ngcontent-%COMP%] ix-component-grid.mobile[_ngcontent-%COMP%]{max-width:400px}[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .preview-grid-container[_ngcontent-%COMP%]{height:100%;width:100%;box-sizing:border-box;overflow-x:auto;display:flex;flex-direction:column;background-color:var(--detail-page-bg);--uic-color-scheme: var(--card-color-scheme);--uic-background: var(--card-bg);--uic-on-background: var(--card-color)}[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .preview-grid-container.card[_ngcontent-%COMP%]{place-content:center}[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .preview-grid-container.card[_ngcontent-%COMP%] .preview[_ngcontent-%COMP%]{display:flex;place-items:center}[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .preview-grid-container[_ngcontent-%COMP%] .preview[_ngcontent-%COMP%]{height:100%}[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .preview-grid-container[_ngcontent-%COMP%] .preview[_ngcontent-%COMP%] ix-simple-component-grid[_ngcontent-%COMP%]{height:100%;box-sizing:border-box;margin:0 auto}[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .preview-grid-container[_ngcontent-%COMP%] .preview[_ngcontent-%COMP%] ix-simple-component-grid.desktop[_ngcontent-%COMP%]{min-width:970px}[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .preview-grid-container[_ngcontent-%COMP%] .preview[_ngcontent-%COMP%] ix-simple-component-grid.mobile[_ngcontent-%COMP%]{max-width:400px;border-left:1px solid rgba(0,0,0,.08);border-right:1px solid rgba(0,0,0,.08)}[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .preview-grid-container[_ngcontent-%COMP%] .preview[_ngcontent-%COMP%] ix-simple-card-component-grid[_ngcontent-%COMP%]{width:300px;padding:0;margin:0 auto;box-sizing:border-box;background-color:var(--card-bg);color:var(--card-color);color-scheme:var(--card-color-scheme);border:var(--card-border-width) solid var(--card-border-color);border-radius:8px}[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .standalone[_ngcontent-%COMP%]{height:100%}[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] .standalone[_ngcontent-%COMP%] ix-component-loader[_ngcontent-%COMP%]{overflow:auto}[_nghost-%COMP%] .mat-drawer-container[_ngcontent-%COMP%] ix-page-properties[_ngcontent-%COMP%]{padding:20px 16px}[_nghost-%COMP%] .select-button[_ngcontent-%COMP%]{padding-left:8px;padding-right:2px;margin-right:8px}[_nghost-%COMP%] .select-button[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]:first-child{margin-right:6px}[_nghost-%COMP%] .screen-toggle-group[_ngcontent-%COMP%], [_nghost-%COMP%] .orientation-toggle-group[_ngcontent-%COMP%], [_nghost-%COMP%] .application-type-toggle-group[_ngcontent-%COMP%]{margin-left:12px}[_nghost-%COMP%] .mode-button[_ngcontent-%COMP%]{margin-left:12px}[_nghost-%COMP%] .mode-button[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]:first-child{margin-right:6px}[_nghost-%COMP%] .report-grid[_ngcontent-%COMP%]{--card-bg: #fff;--card-border-color: rgb(0 0 0 / 12%);--card-border-width: 1px;--card-color: rgb(0 0 0 / 87%);--card-color-scheme: "light";--uic-color-scheme: var(--card-color-scheme);--uic-background: var(--card-bg);--uic-on-background: var(--card-color);margin:16px auto!important;background:#fff;height:842pt!important;width:595pt}[_nghost-%COMP%] .report-grid.landscape[_ngcontent-%COMP%]{height:595pt!important;width:842pt}[_nghost-%COMP%] .report-grid[_ngcontent-%COMP%] .canvas gridster .gridster-row{width:calc(100% - 76px)!important}[_nghost-%COMP%] .report-grid[_ngcontent-%COMP%] .gridster-column, [_nghost-%COMP%] .report-grid[_ngcontent-%COMP%] .gridster-row{border-color:#00000014}'],changeDetection:0})}}return BuilderComponent2})();var BuilderGuard=(()=>{class BuilderGuard2{constructor(){this.store=inject(Store)}canActivate(){return forkJoin([this.getMyUser(),this.getMyCompany()]).pipe(map(()=>!0),take(1))}getMyUser(){return this._loadIfAbsent(selectMyUser,loadMe3())}getMyCompany(){return this._loadIfAbsent(selectMyCompany,loadMe())}_loadIfAbsent(selector3,action){return this.store.select(selector3).pipe(tap(entity2=>{entity2||this.store.dispatch(action)}),first(entity2=>!!entity2),map(()=>!0))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||BuilderGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:BuilderGuard2,factory:BuilderGuard2.\u0275fac,providedIn:"root"})}}return BuilderGuard2})();var LoginExpiredComponent=(()=>{class LoginExpiredComponent3{constructor(){this.document=inject(DOCUMENT),this.storage=inject(StorageService)}useMockData(){this.storage.forget("api-data-provider"),this.storage.forget("company"),this.reload()}reload(){this.document.location.href="/"}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||LoginExpiredComponent3)}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:LoginExpiredComponent3,selectors:[["ix-login-expired"]],standalone:!1,decls:18,vars:0,consts:[["fxFlex","","fxLayout","column","fxLayoutAlign","center center",1,"ix-surface"],[1,"ix-status-card"],[1,"ix-status-card__icon"],["type","button","mat-button","","color","primary",3,"click"]],template:function(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"div",0)(1,"mat-card",1)(2,"div",2)(3,"mat-icon"),\u0275\u0275text(4,"error"),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(5,"mat-card-header")(6,"mat-card-title"),\u0275\u0275text(7,"Login expired"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(8,"mat-card-subtitle"),\u0275\u0275text(9," Please re-authenticate via the command line "),\u0275\u0275elementStart(10,"pre"),\u0275\u0275text(11,"npx cdk login"),\u0275\u0275elementEnd(),\u0275\u0275text(12," and reload or revert to using API mock data. "),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(13,"mat-card-actions")(14,"button",3),\u0275\u0275listener("click",function(){return ctx.useMockData()}),\u0275\u0275text(15,"Use mock data"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(16,"button",3),\u0275\u0275listener("click",function(){return ctx.reload()}),\u0275\u0275text(17,"Reload"),\u0275\u0275elementEnd()()()())},dependencies:[DefaultLayoutDirective,DefaultLayoutAlignDirective,DefaultFlexDirective,MatButton,MatCard,MatCardActions,MatCardHeader,MatCardSubtitle,MatCardTitle,MatIcon],styles:["[_nghost-%COMP%]{width:100%;height:100%}"],changeDetection:0})}}return LoginExpiredComponent3})();var LoginExpiredCanActivateGuard=(()=>{class LoginExpiredCanActivateGuard2{constructor(){this.router=inject(Router),this.storage=inject(StorageService)}canActivate(route){return this.isAuthenticated(route)}isAuthenticated(route){return of(this.storage.has("auth")).pipe(tap(authenticated=>{if(authenticated)if(route.queryParamMap.has("next")){let next=route.queryParams.next;this.router.navigateByUrl(next).then(success=>{success||this.router.navigate(["/"])})}else this.router.navigate(["/"])}),map(authenticated=>!authenticated))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||LoginExpiredCanActivateGuard2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:LoginExpiredCanActivateGuard2,factory:LoginExpiredCanActivateGuard2.\u0275fac,providedIn:"root"})}}return LoginExpiredCanActivateGuard2})();var LoginExpiredModule=(()=>{class LoginExpiredModule2{static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||LoginExpiredModule2)}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:LoginExpiredModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({imports:[SharedModule]})}}return LoginExpiredModule2})();var ManifestInvalidComponent=(()=>{class ManifestInvalidComponent3{static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||ManifestInvalidComponent3)}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:ManifestInvalidComponent3,selectors:[["ix-manifest-invalid"]],standalone:!1,decls:13,vars:0,consts:[["fxFlex","","fxLayout","column","fxLayoutAlign","center center",1,"ix-surface"],[1,"ix-status-card"],[1,"ix-status-card__icon"]],template:function(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"div",0)(1,"mat-card",1)(2,"div",2)(3,"mat-icon"),\u0275\u0275text(4,"error"),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(5,"mat-card-header")(6,"mat-card-title"),\u0275\u0275text(7,"Manifest invalid"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(8,"mat-card-subtitle"),\u0275\u0275text(9," Schema validation for the "),\u0275\u0275elementStart(10,"pre"),\u0275\u0275text(11,"manifest.json"),\u0275\u0275elementEnd(),\u0275\u0275text(12," file failed. "),\u0275\u0275elementEnd()()()())},dependencies:[DefaultLayoutDirective,DefaultLayoutAlignDirective,DefaultFlexDirective,MatCard,MatCardHeader,MatCardSubtitle,MatCardTitle,MatIcon],styles:["[_nghost-%COMP%]{width:100%;height:100%}"],changeDetection:0})}}return ManifestInvalidComponent3})();var TwoFactorAuthRequiredComponent=(()=>{class TwoFactorAuthRequiredComponent2{constructor(){this.document=inject(DOCUMENT),this.storage=inject(StorageService)}switchCompany(){this.storage.forget("api-data-provider"),this.storage.forget("company"),this.document.location.href="/settings/general"}useMockData(){this.storage.forget("api-data-provider"),this.storage.forget("company"),this.document.location.href="/"}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||TwoFactorAuthRequiredComponent2)}}static{this.\u0275cmp=\u0275\u0275defineComponent({type:TwoFactorAuthRequiredComponent2,selectors:[["ix-two-factor-auth-required"]],decls:13,vars:0,consts:[["fxFlex","","fxLayout","column","fxLayoutAlign","center center",1,"ix-surface"],[1,"ix-status-card"],[1,"ix-status-card__icon"],["type","button","mat-button","","color","primary",3,"click"]],template:function(rf,ctx){rf&1&&(\u0275\u0275elementStart(0,"div",0)(1,"mat-card",1)(2,"div",2)(3,"mat-icon"),\u0275\u0275text(4,"error"),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(5,"mat-card-header")(6,"mat-card-title"),\u0275\u0275text(7,"Two-factor authentication is required"),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(8,"mat-card-actions")(9,"button",3),\u0275\u0275listener("click",function(){return ctx.useMockData()}),\u0275\u0275text(10,"Use mock data"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(11,"button",3),\u0275\u0275listener("click",function(){return ctx.switchCompany()}),\u0275\u0275text(12,"Switch company"),\u0275\u0275elementEnd()()()())},dependencies:[FlexModule,DefaultLayoutDirective,DefaultLayoutAlignDirective,DefaultFlexDirective,MatButtonModule,MatButton,MatCardModule,MatCard,MatCardActions,MatCardHeader,MatCardTitle,MatIconModule,MatIcon],styles:["[_nghost-%COMP%]{width:100%;height:100%}"],changeDetection:0})}}return TwoFactorAuthRequiredComponent2})();var routes=[{path:"",canActivate:[AppGuard2],children:[{path:"",component:BuilderComponent,canActivate:__use_api_mocks__?[BuilderGuard]:[AuthCompanyGuard,BuilderGuard]},{path:"settings",loadChildren:()=>import("./chunk-2FVLXOND.js").then(m=>m.SettingsModule)},...__use_api_mocks__?[]:[{path:"login",component:LoginExpiredComponent,canActivate:[LoginExpiredCanActivateGuard]},{path:"my-companies",redirectTo:"settings"},{path:"two-factor-auth-required",component:TwoFactorAuthRequiredComponent}]]},{path:"manifest-invalid",component:ManifestInvalidComponent},{path:"**",redirectTo:""}];var AppRoutingConfig={routerState:RouterState?.Minimal,serializer:CustomRouterStateSerializer};var AppRoutingModule=(()=>{class AppRoutingModule2{static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AppRoutingModule2)}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:AppRoutingModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({imports:[RouterModule.forRoot(routes,{bindToComponentInputs:!0,onSameUrlNavigation:"reload",preloadingStrategy:CustomPreloadingStrategy}),StoreRouterConnectingModule.forRoot(AppRoutingConfig),RouterModule]})}}return AppRoutingModule2})();var PERFORM_ACTION="PERFORM_ACTION",REFRESH="REFRESH",RESET="RESET",ROLLBACK="ROLLBACK",COMMIT="COMMIT",SWEEP="SWEEP",TOGGLE_ACTION="TOGGLE_ACTION",SET_ACTIONS_ACTIVE="SET_ACTIONS_ACTIVE",JUMP_TO_STATE="JUMP_TO_STATE",JUMP_TO_ACTION="JUMP_TO_ACTION",IMPORT_STATE="IMPORT_STATE",LOCK_CHANGES="LOCK_CHANGES",PAUSE_RECORDING="PAUSE_RECORDING",PerformAction=class{constructor(action,timestamp2){if(this.action=action,this.timestamp=timestamp2,this.type=PERFORM_ACTION,typeof action.type>"u")throw new Error('Actions may not have an undefined "type" property. Have you misspelled a constant?')}},Refresh=class{constructor(){this.type=REFRESH}},Reset=class{constructor(timestamp2){this.timestamp=timestamp2,this.type=RESET}},Rollback=class{constructor(timestamp2){this.timestamp=timestamp2,this.type=ROLLBACK}},Commit=class{constructor(timestamp2){this.timestamp=timestamp2,this.type=COMMIT}},Sweep=class{constructor(){this.type=SWEEP}},ToggleAction=class{constructor(id){this.id=id,this.type=TOGGLE_ACTION}};var JumpToState=class{constructor(index){this.index=index,this.type=JUMP_TO_STATE}},JumpToAction=class{constructor(actionId){this.actionId=actionId,this.type=JUMP_TO_ACTION}},ImportState=class{constructor(nextLiftedState){this.nextLiftedState=nextLiftedState,this.type=IMPORT_STATE}},LockChanges=class{constructor(status){this.status=status,this.type=LOCK_CHANGES}},PauseRecording=class{constructor(status){this.status=status,this.type=PAUSE_RECORDING}};var STORE_DEVTOOLS_CONFIG=new InjectionToken("@ngrx/store-devtools Options"),INITIAL_OPTIONS=new InjectionToken("@ngrx/store-devtools Initial Config");function noMonitor(){return null}var DEFAULT_NAME="NgRx Store DevTools";function createConfig(optionsInput){let DEFAULT_OPTIONS2={maxAge:!1,monitor:noMonitor,actionSanitizer:void 0,stateSanitizer:void 0,name:DEFAULT_NAME,serialize:!1,logOnly:!1,autoPause:!1,trace:!1,traceLimit:75,features:{pause:!0,lock:!0,persist:!0,export:!0,import:"custom",jump:!0,skip:!0,reorder:!0,dispatch:!0,test:!0},connectInZone:!1},options=typeof optionsInput=="function"?optionsInput():optionsInput,logOnly=options.logOnly?{pause:!0,export:!0,test:!0}:!1,features2=options.features||logOnly||DEFAULT_OPTIONS2.features;features2.import===!0&&(features2.import="custom");let config4=Object.assign({},DEFAULT_OPTIONS2,{features:features2},options);if(config4.maxAge&&config4.maxAge<2)throw new Error(`Devtools 'maxAge' cannot be less than 2, got ${config4.maxAge}`);return config4}function difference(first2,second){return first2.filter(item=>second.indexOf(item)<0)}function unliftState(liftedState){let{computedStates,currentStateIndex}=liftedState;if(currentStateIndex>=computedStates.length){let{state:state2}=computedStates[computedStates.length-1];return state2}let{state}=computedStates[currentStateIndex];return state}function liftAction(action){return new PerformAction(action,+Date.now())}function sanitizeActions(actionSanitizer,actions){return Object.keys(actions).reduce((sanitizedActions,actionIdx)=>{let idx=Number(actionIdx);return sanitizedActions[idx]=sanitizeAction(actionSanitizer,actions[idx],idx),sanitizedActions},{})}function sanitizeAction(actionSanitizer,action,actionIdx){return __spreadProps(__spreadValues({},action),{action:actionSanitizer(action.action,actionIdx)})}function sanitizeStates(stateSanitizer,states){return states.map((computedState,idx)=>({state:sanitizeState(stateSanitizer,computedState.state,idx),error:computedState.error}))}function sanitizeState(stateSanitizer,state,stateIdx){return stateSanitizer(state,stateIdx)}function shouldFilterActions(config4){return config4.predicate||config4.actionsSafelist||config4.actionsBlocklist}function filterLiftedState(liftedState,predicate,safelist,blocklist){let filteredStagedActionIds=[],filteredActionsById={},filteredComputedStates=[];return liftedState.stagedActionIds.forEach((id,idx)=>{let liftedAction=liftedState.actionsById[id];liftedAction&&(idx&&isActionFiltered(liftedState.computedStates[idx],liftedAction,predicate,safelist,blocklist)||(filteredActionsById[id]=liftedAction,filteredStagedActionIds.push(id),filteredComputedStates.push(liftedState.computedStates[idx])))}),__spreadProps(__spreadValues({},liftedState),{stagedActionIds:filteredStagedActionIds,actionsById:filteredActionsById,computedStates:filteredComputedStates})}function isActionFiltered(state,action,predicate,safelist,blockedlist){let predicateMatch=predicate&&!predicate(state,action.action),safelistMatch=safelist&&!action.action.type.match(safelist.map(s2=>escapeRegExp(s2)).join("|")),blocklistMatch=blockedlist&&action.action.type.match(blockedlist.map(s2=>escapeRegExp(s2)).join("|"));return predicateMatch||safelistMatch||blocklistMatch}function escapeRegExp(s2){return s2.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function injectZoneConfig(connectInZone){return{ngZone:connectInZone?inject(NgZone):null,connectInZone}}var DevtoolsDispatcher=(()=>{class DevtoolsDispatcher2 extends ActionsSubject{static{this.\u0275fac=(()=>{let \u0275DevtoolsDispatcher_BaseFactory;return function(__ngFactoryType__){return(\u0275DevtoolsDispatcher_BaseFactory||(\u0275DevtoolsDispatcher_BaseFactory=\u0275\u0275getInheritedFactory(DevtoolsDispatcher2)))(__ngFactoryType__||DevtoolsDispatcher2)}})()}static{this.\u0275prov=\u0275\u0275defineInjectable({token:DevtoolsDispatcher2,factory:DevtoolsDispatcher2.\u0275fac})}}return DevtoolsDispatcher2})(),ExtensionActionTypes={START:"START",DISPATCH:"DISPATCH",STOP:"STOP",ACTION:"ACTION"},REDUX_DEVTOOLS_EXTENSION=new InjectionToken("@ngrx/store-devtools Redux Devtools Extension"),DevtoolsExtension=(()=>{class DevtoolsExtension2{constructor(devtoolsExtension,config4,dispatcher){this.config=config4,this.dispatcher=dispatcher,this.zoneConfig=injectZoneConfig(this.config.connectInZone),this.devtoolsExtension=devtoolsExtension,this.createActionStreams()}notify(action,state){if(this.devtoolsExtension)if(action.type===PERFORM_ACTION){if(state.isLocked||state.isPaused)return;let currentState=unliftState(state);if(shouldFilterActions(this.config)&&isActionFiltered(currentState,action,this.config.predicate,this.config.actionsSafelist,this.config.actionsBlocklist))return;let sanitizedState=this.config.stateSanitizer?sanitizeState(this.config.stateSanitizer,currentState,state.currentStateIndex):currentState,sanitizedAction=this.config.actionSanitizer?sanitizeAction(this.config.actionSanitizer,action,state.nextActionId):action;this.sendToReduxDevtools(()=>this.extensionConnection.send(sanitizedAction,sanitizedState))}else{let sanitizedLiftedState=__spreadProps(__spreadValues({},state),{stagedActionIds:state.stagedActionIds,actionsById:this.config.actionSanitizer?sanitizeActions(this.config.actionSanitizer,state.actionsById):state.actionsById,computedStates:this.config.stateSanitizer?sanitizeStates(this.config.stateSanitizer,state.computedStates):state.computedStates});this.sendToReduxDevtools(()=>this.devtoolsExtension.send(null,sanitizedLiftedState,this.getExtensionConfig(this.config)))}}createChangesObservable(){return this.devtoolsExtension?new Observable(subscriber=>{let connection=this.zoneConfig.connectInZone?this.zoneConfig.ngZone.runOutsideAngular(()=>this.devtoolsExtension.connect(this.getExtensionConfig(this.config))):this.devtoolsExtension.connect(this.getExtensionConfig(this.config));return this.extensionConnection=connection,connection.init(),connection.subscribe(change=>subscriber.next(change)),connection.unsubscribe}):EMPTY}createActionStreams(){let changes$=this.createChangesObservable().pipe(share()),start$=changes$.pipe(filter(change=>change.type===ExtensionActionTypes.START)),stop$=changes$.pipe(filter(change=>change.type===ExtensionActionTypes.STOP)),liftedActions$=changes$.pipe(filter(change=>change.type===ExtensionActionTypes.DISPATCH),map(change=>this.unwrapAction(change.payload)),concatMap(action=>action.type===IMPORT_STATE?this.dispatcher.pipe(filter(action2=>action2.type===UPDATE),timeout(1e3),debounceTime(1e3),map(()=>action),catchError(()=>of(action)),take(1)):of(action))),actionsUntilStop$=changes$.pipe(filter(change=>change.type===ExtensionActionTypes.ACTION),map(change=>this.unwrapAction(change.payload))).pipe(takeUntil(stop$)),liftedUntilStop$=liftedActions$.pipe(takeUntil(stop$));this.start$=start$.pipe(takeUntil(stop$)),this.actions$=this.start$.pipe(switchMap(()=>actionsUntilStop$)),this.liftedActions$=this.start$.pipe(switchMap(()=>liftedUntilStop$))}unwrapAction(action){return typeof action=="string"?(0,eval)(`(${action})`):action}getExtensionConfig(config4){let extensionOptions={name:config4.name,features:config4.features,serialize:config4.serialize,autoPause:config4.autoPause??!1,trace:config4.trace??!1,traceLimit:config4.traceLimit??75};return config4.maxAge!==!1&&(extensionOptions.maxAge=config4.maxAge),extensionOptions}sendToReduxDevtools(send){try{send()}catch(err){console.warn("@ngrx/store-devtools: something went wrong inside the redux devtools",err)}}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||DevtoolsExtension2)(\u0275\u0275inject(REDUX_DEVTOOLS_EXTENSION),\u0275\u0275inject(STORE_DEVTOOLS_CONFIG),\u0275\u0275inject(DevtoolsDispatcher))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:DevtoolsExtension2,factory:DevtoolsExtension2.\u0275fac})}}return DevtoolsExtension2})(),INIT_ACTION={type:INIT},RECOMPUTE="@ngrx/store-devtools/recompute",RECOMPUTE_ACTION={type:RECOMPUTE};function computeNextEntry(reducer44,action,state,error3,errorHandler){if(error3)return{state,error:"Interrupted by an error up the chain"};let nextState=state,nextError;try{nextState=reducer44(state,action)}catch(err){nextError=err.toString(),errorHandler.handleError(err)}return{state:nextState,error:nextError}}function recomputeStates(computedStates,minInvalidatedStateIndex,reducer44,committedState,actionsById,stagedActionIds,skippedActionIds,errorHandler,isPaused){if(minInvalidatedStateIndex>=computedStates.length&&computedStates.length===stagedActionIds.length)return computedStates;let nextComputedStates=computedStates.slice(0,minInvalidatedStateIndex),lastIncludedActionId=stagedActionIds.length-(isPaused?1:0);for(let i=minInvalidatedStateIndex;i<lastIncludedActionId;i++){let actionId=stagedActionIds[i],action=actionsById[actionId].action,previousEntry=nextComputedStates[i-1],previousState=previousEntry?previousEntry.state:committedState,previousError=previousEntry?previousEntry.error:void 0,entry=skippedActionIds.indexOf(actionId)>-1?previousEntry:computeNextEntry(reducer44,action,previousState,previousError,errorHandler);nextComputedStates.push(entry)}return isPaused&&nextComputedStates.push(computedStates[computedStates.length-1]),nextComputedStates}function liftInitialState(initialCommittedState,monitorReducer){return{monitorState:monitorReducer(void 0,{}),nextActionId:1,actionsById:{0:liftAction(INIT_ACTION)},stagedActionIds:[0],skippedActionIds:[],committedState:initialCommittedState,currentStateIndex:0,computedStates:[],isLocked:!1,isPaused:!1}}function liftReducerWith(initialCommittedState,initialLiftedState,errorHandler,monitorReducer,options={}){return reducer44=>(liftedState,liftedAction)=>{let{monitorState,actionsById,nextActionId,stagedActionIds,skippedActionIds,committedState,currentStateIndex,computedStates,isLocked,isPaused}=liftedState||initialLiftedState;liftedState||(actionsById=Object.create(actionsById));function commitExcessActions(n2){let excess=n2,idsToDelete=stagedActionIds.slice(1,excess+1);for(let i=0;i<idsToDelete.length;i++)if(computedStates[i+1].error){excess=i,idsToDelete=stagedActionIds.slice(1,excess+1);break}else delete actionsById[idsToDelete[i]];skippedActionIds=skippedActionIds.filter(id=>idsToDelete.indexOf(id)===-1),stagedActionIds=[0,...stagedActionIds.slice(excess+1)],committedState=computedStates[excess].state,computedStates=computedStates.slice(excess),currentStateIndex=currentStateIndex>excess?currentStateIndex-excess:0}function commitChanges(){actionsById={0:liftAction(INIT_ACTION)},nextActionId=1,stagedActionIds=[0],skippedActionIds=[],committedState=computedStates[currentStateIndex].state,currentStateIndex=0,computedStates=[]}let minInvalidatedStateIndex=0;switch(liftedAction.type){case LOCK_CHANGES:{isLocked=liftedAction.status,minInvalidatedStateIndex=1/0;break}case PAUSE_RECORDING:{isPaused=liftedAction.status,isPaused?(stagedActionIds=[...stagedActionIds,nextActionId],actionsById[nextActionId]=new PerformAction({type:"@ngrx/devtools/pause"},+Date.now()),nextActionId++,minInvalidatedStateIndex=stagedActionIds.length-1,computedStates=computedStates.concat(computedStates[computedStates.length-1]),currentStateIndex===stagedActionIds.length-2&¤tStateIndex++,minInvalidatedStateIndex=1/0):commitChanges();break}case RESET:{actionsById={0:liftAction(INIT_ACTION)},nextActionId=1,stagedActionIds=[0],skippedActionIds=[],committedState=initialCommittedState,currentStateIndex=0,computedStates=[];break}case COMMIT:{commitChanges();break}case ROLLBACK:{actionsById={0:liftAction(INIT_ACTION)},nextActionId=1,stagedActionIds=[0],skippedActionIds=[],currentStateIndex=0,computedStates=[];break}case TOGGLE_ACTION:{let{id:actionId}=liftedAction;skippedActionIds.indexOf(actionId)===-1?skippedActionIds=[actionId,...skippedActionIds]:skippedActionIds=skippedActionIds.filter(id=>id!==actionId),minInvalidatedStateIndex=stagedActionIds.indexOf(actionId);break}case SET_ACTIONS_ACTIVE:{let{start:start3,end:end2,active}=liftedAction,actionIds=[];for(let i=start3;i<end2;i++)actionIds.push(i);active?skippedActionIds=difference(skippedActionIds,actionIds):skippedActionIds=[...skippedActionIds,...actionIds],minInvalidatedStateIndex=stagedActionIds.indexOf(start3);break}case JUMP_TO_STATE:{currentStateIndex=liftedAction.index,minInvalidatedStateIndex=1/0;break}case JUMP_TO_ACTION:{let index=stagedActionIds.indexOf(liftedAction.actionId);index!==-1&&(currentStateIndex=index),minInvalidatedStateIndex=1/0;break}case SWEEP:{stagedActionIds=difference(stagedActionIds,skippedActionIds),skippedActionIds=[],currentStateIndex=Math.min(currentStateIndex,stagedActionIds.length-1);break}case PERFORM_ACTION:{if(isLocked)return liftedState||initialLiftedState;if(isPaused||liftedState&&isActionFiltered(liftedState.computedStates[currentStateIndex],liftedAction,options.predicate,options.actionsSafelist,options.actionsBlocklist)){let lastState=computedStates[computedStates.length-1];computedStates=[...computedStates.slice(0,-1),computeNextEntry(reducer44,liftedAction.action,lastState.state,lastState.error,errorHandler)],minInvalidatedStateIndex=1/0;break}options.maxAge&&stagedActionIds.length===options.maxAge&&commitExcessActions(1),currentStateIndex===stagedActionIds.length-1&¤tStateIndex++;let actionId=nextActionId++;actionsById[actionId]=liftedAction,stagedActionIds=[...stagedActionIds,actionId],minInvalidatedStateIndex=stagedActionIds.length-1;break}case IMPORT_STATE:{({monitorState,actionsById,nextActionId,stagedActionIds,skippedActionIds,committedState,currentStateIndex,computedStates,isLocked,isPaused}=liftedAction.nextLiftedState);break}case INIT:{minInvalidatedStateIndex=0,options.maxAge&&stagedActionIds.length>options.maxAge&&(computedStates=recomputeStates(computedStates,minInvalidatedStateIndex,reducer44,committedState,actionsById,stagedActionIds,skippedActionIds,errorHandler,isPaused),commitExcessActions(stagedActionIds.length-options.maxAge),minInvalidatedStateIndex=1/0);break}case UPDATE:{if(computedStates.filter(state=>state.error).length>0)minInvalidatedStateIndex=0,options.maxAge&&stagedActionIds.length>options.maxAge&&(computedStates=recomputeStates(computedStates,minInvalidatedStateIndex,reducer44,committedState,actionsById,stagedActionIds,skippedActionIds,errorHandler,isPaused),commitExcessActions(stagedActionIds.length-options.maxAge),minInvalidatedStateIndex=1/0);else{if(!isPaused&&!isLocked){currentStateIndex===stagedActionIds.length-1&¤tStateIndex++;let actionId=nextActionId++;actionsById[actionId]=new PerformAction(liftedAction,+Date.now()),stagedActionIds=[...stagedActionIds,actionId],minInvalidatedStateIndex=stagedActionIds.length-1,computedStates=recomputeStates(computedStates,minInvalidatedStateIndex,reducer44,committedState,actionsById,stagedActionIds,skippedActionIds,errorHandler,isPaused)}computedStates=computedStates.map(cmp=>__spreadProps(__spreadValues({},cmp),{state:reducer44(cmp.state,RECOMPUTE_ACTION)})),currentStateIndex=stagedActionIds.length-1,options.maxAge&&stagedActionIds.length>options.maxAge&&commitExcessActions(stagedActionIds.length-options.maxAge),minInvalidatedStateIndex=1/0}break}default:{minInvalidatedStateIndex=1/0;break}}return computedStates=recomputeStates(computedStates,minInvalidatedStateIndex,reducer44,committedState,actionsById,stagedActionIds,skippedActionIds,errorHandler,isPaused),monitorState=monitorReducer(monitorState,liftedAction),{monitorState,actionsById,nextActionId,stagedActionIds,skippedActionIds,committedState,currentStateIndex,computedStates,isLocked,isPaused}}}var StoreDevtools=(()=>{class StoreDevtools2{constructor(dispatcher,actions$,reducers$,extension,scannedActions,errorHandler,initialState48,config4){let liftedInitialState=liftInitialState(initialState48,config4.monitor),liftReducer=liftReducerWith(initialState48,liftedInitialState,errorHandler,config4.monitor,config4),liftedAction$=merge(merge(actions$.asObservable().pipe(skip(1)),extension.actions$).pipe(map(liftAction)),dispatcher,extension.liftedActions$).pipe(observeOn(queueScheduler)),liftedReducer$=reducers$.pipe(map(liftReducer)),zoneConfig=injectZoneConfig(config4.connectInZone),liftedStateSubject=new ReplaySubject(1);this.liftedStateSubscription=liftedAction$.pipe(withLatestFrom(liftedReducer$),emitInZone(zoneConfig),scan(({state:liftedState},[action,reducer44])=>{let reducedLiftedState=reducer44(liftedState,action);return action.type!==PERFORM_ACTION&&shouldFilterActions(config4)&&(reducedLiftedState=filterLiftedState(reducedLiftedState,config4.predicate,config4.actionsSafelist,config4.actionsBlocklist)),extension.notify(action,reducedLiftedState),{state:reducedLiftedState,action}},{state:liftedInitialState,action:null})).subscribe(({state,action})=>{if(liftedStateSubject.next(state),action.type===PERFORM_ACTION){let unliftedAction=action.action;scannedActions.next(unliftedAction)}}),this.extensionStartSubscription=extension.start$.pipe(emitInZone(zoneConfig)).subscribe(()=>{this.refresh()});let liftedState$=liftedStateSubject.asObservable(),state$=liftedState$.pipe(map(unliftState));Object.defineProperty(state$,"state",{value:toSignal(state$,{manualCleanup:!0,requireSync:!0})}),this.dispatcher=dispatcher,this.liftedState=liftedState$,this.state=state$}ngOnDestroy(){this.liftedStateSubscription.unsubscribe(),this.extensionStartSubscription.unsubscribe()}dispatch(action){this.dispatcher.next(action)}next(action){this.dispatcher.next(action)}error(error3){}complete(){}performAction(action){this.dispatch(new PerformAction(action,+Date.now()))}refresh(){this.dispatch(new Refresh)}reset(){this.dispatch(new Reset(+Date.now()))}rollback(){this.dispatch(new Rollback(+Date.now()))}commit(){this.dispatch(new Commit(+Date.now()))}sweep(){this.dispatch(new Sweep)}toggleAction(id){this.dispatch(new ToggleAction(id))}jumpToAction(actionId){this.dispatch(new JumpToAction(actionId))}jumpToState(index){this.dispatch(new JumpToState(index))}importState(nextLiftedState){this.dispatch(new ImportState(nextLiftedState))}lockChanges(status){this.dispatch(new LockChanges(status))}pauseRecording(status){this.dispatch(new PauseRecording(status))}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||StoreDevtools2)(\u0275\u0275inject(DevtoolsDispatcher),\u0275\u0275inject(ActionsSubject),\u0275\u0275inject(ReducerObservable),\u0275\u0275inject(DevtoolsExtension),\u0275\u0275inject(ScannedActionsSubject),\u0275\u0275inject(ErrorHandler),\u0275\u0275inject(INITIAL_STATE),\u0275\u0275inject(STORE_DEVTOOLS_CONFIG))}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:StoreDevtools2,factory:StoreDevtools2.\u0275fac})}}return StoreDevtools2})();function emitInZone({ngZone,connectInZone}){return source=>connectInZone?new Observable(subscriber=>source.subscribe({next:value=>ngZone.run(()=>subscriber.next(value)),error:error3=>ngZone.run(()=>subscriber.error(error3)),complete:()=>ngZone.run(()=>subscriber.complete())})):source}var IS_EXTENSION_OR_MONITOR_PRESENT=new InjectionToken("@ngrx/store-devtools Is Devtools Extension or Monitor Present");function createIsExtensionOrMonitorPresent(extension,config4){return!!extension||config4.monitor!==noMonitor}function createReduxDevtoolsExtension(){let extensionKey="__REDUX_DEVTOOLS_EXTENSION__";return typeof window=="object"&&typeof window[extensionKey]<"u"?window[extensionKey]:null}function createStateObservable(devtools){return devtools.state}function provideStoreDevtools(options={}){return makeEnvironmentProviders([DevtoolsExtension,DevtoolsDispatcher,StoreDevtools,{provide:INITIAL_OPTIONS,useValue:options},{provide:IS_EXTENSION_OR_MONITOR_PRESENT,deps:[REDUX_DEVTOOLS_EXTENSION,STORE_DEVTOOLS_CONFIG],useFactory:createIsExtensionOrMonitorPresent},{provide:REDUX_DEVTOOLS_EXTENSION,useFactory:createReduxDevtoolsExtension},{provide:STORE_DEVTOOLS_CONFIG,deps:[INITIAL_OPTIONS],useFactory:createConfig},{provide:StateObservable,deps:[StoreDevtools],useFactory:createStateObservable},{provide:ReducerManagerDispatcher,useExisting:DevtoolsDispatcher}])}var StoreDevtoolsModule=(()=>{class StoreDevtoolsModule2{static instrument(options={}){return{ngModule:StoreDevtoolsModule2,providers:[provideStoreDevtools(options)]}}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||StoreDevtoolsModule2)}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:StoreDevtoolsModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({})}}return StoreDevtoolsModule2})();var DEBUG_BUILD=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__;var GLOBAL_OBJ=globalThis;var SDK_VERSION="10.43.0";function getMainCarrier(){return getSentryCarrier(GLOBAL_OBJ),GLOBAL_OBJ}function getSentryCarrier(carrier){let __SENTRY__=carrier.__SENTRY__=carrier.__SENTRY__||{};return __SENTRY__.version=__SENTRY__.version||SDK_VERSION,__SENTRY__[SDK_VERSION]=__SENTRY__[SDK_VERSION]||{}}function getGlobalSingleton(name,creator,obj=GLOBAL_OBJ){let __SENTRY__=obj.__SENTRY__=obj.__SENTRY__||{},carrier=__SENTRY__[SDK_VERSION]=__SENTRY__[SDK_VERSION]||{};return carrier[name]||(carrier[name]=creator())}var PREFIX="Sentry Logger ",originalConsoleMethods={};function consoleSandbox(callback){if(!("console"in GLOBAL_OBJ))return callback();let console2=GLOBAL_OBJ.console,wrappedFuncs={},wrappedLevels=Object.keys(originalConsoleMethods);wrappedLevels.forEach(level=>{let originalConsoleMethod=originalConsoleMethods[level];wrappedFuncs[level]=console2[level],console2[level]=originalConsoleMethod});try{return callback()}finally{wrappedLevels.forEach(level=>{console2[level]=wrappedFuncs[level]})}}function enable(){_getLoggerSettings().enabled=!0}function disable(){_getLoggerSettings().enabled=!1}function isEnabled(){return _getLoggerSettings().enabled}function log(...args){_maybeLog("log",...args)}function warn2(...args){_maybeLog("warn",...args)}function error2(...args){_maybeLog("error",...args)}function _maybeLog(level,...args){DEBUG_BUILD&&isEnabled()&&consoleSandbox(()=>{GLOBAL_OBJ.console[level](`${PREFIX}[${level}]:`,...args)})}function _getLoggerSettings(){return DEBUG_BUILD?getGlobalSingleton("loggerSettings",()=>({enabled:!1})):{enabled:!1}}var debug={enable,disable,isEnabled,log,warn:warn2,error:error2};var objectToString=Object.prototype.toString;function isBuiltin(wat,className){return objectToString.call(wat)===`[object ${className}]`}function isPlainObject(wat){return isBuiltin(wat,"Object")}function isThenable(wat){return!!(wat?.then&&typeof wat.then=="function")}function addNonEnumerableProperty(obj,name,value){try{Object.defineProperty(obj,name,{value,writable:!0,configurable:!0})}catch(e){DEBUG_BUILD&&debug.log(`Failed to add non-enumerable property "${name}" to object`,obj)}}var RESOLVED_RUNNER;function withRandomSafeContext(cb){if(RESOLVED_RUNNER!==void 0)return RESOLVED_RUNNER?RESOLVED_RUNNER(cb):cb();let sym=Symbol.for("__SENTRY_SAFE_RANDOM_ID_WRAPPER__"),globalWithSymbol=GLOBAL_OBJ;return sym in globalWithSymbol&&typeof globalWithSymbol[sym]=="function"?(RESOLVED_RUNNER=globalWithSymbol[sym],RESOLVED_RUNNER(cb)):(RESOLVED_RUNNER=null,cb())}function safeMathRandom(){return withRandomSafeContext(()=>Math.random())}function safeDateNow(){return withRandomSafeContext(()=>Date.now())}function truncate(str,max3=0){return typeof str!="string"||max3===0||str.length<=max3?str:`${str.slice(0,max3)}...`}function getCrypto(){let gbl=GLOBAL_OBJ;return gbl.crypto||gbl.msCrypto}var emptyUuid;function getRandomByte(){return safeMathRandom()*16}function uuid4(crypto2=getCrypto()){try{if(crypto2?.randomUUID)return withRandomSafeContext(()=>crypto2.randomUUID()).replace(/-/g,"")}catch(e){}return emptyUuid||(emptyUuid="10000000100040008000"+1e11),emptyUuid.replace(/[018]/g,c=>(c^(getRandomByte()&15)>>c/4).toString(16))}var ONE_SECOND_IN_MS=1e3;function dateTimestampInSeconds(){return safeDateNow()/ONE_SECOND_IN_MS}function createUnixTimestampInSecondsFunc(){let{performance:performance2}=GLOBAL_OBJ;if(!performance2?.now||!performance2.timeOrigin)return dateTimestampInSeconds;let timeOrigin=performance2.timeOrigin;return()=>(timeOrigin+withRandomSafeContext(()=>performance2.now()))/ONE_SECOND_IN_MS}var _cachedTimestampInSeconds;function timestampInSeconds(){return(_cachedTimestampInSeconds??(_cachedTimestampInSeconds=createUnixTimestampInSecondsFunc()))()}function updateSession(session,context3={}){if(context3.user&&(!session.ipAddress&&context3.user.ip_address&&(session.ipAddress=context3.user.ip_address),!session.did&&!context3.did&&(session.did=context3.user.id||context3.user.email||context3.user.username)),session.timestamp=context3.timestamp||timestampInSeconds(),context3.abnormal_mechanism&&(session.abnormal_mechanism=context3.abnormal_mechanism),context3.ignoreDuration&&(session.ignoreDuration=context3.ignoreDuration),context3.sid&&(session.sid=context3.sid.length===32?context3.sid:uuid4()),context3.init!==void 0&&(session.init=context3.init),!session.did&&context3.did&&(session.did=`${context3.did}`),typeof context3.started=="number"&&(session.started=context3.started),session.ignoreDuration)session.duration=void 0;else if(typeof context3.duration=="number")session.duration=context3.duration;else{let duration=session.timestamp-session.started;session.duration=duration>=0?duration:0}context3.release&&(session.release=context3.release),context3.environment&&(session.environment=context3.environment),!session.ipAddress&&context3.ipAddress&&(session.ipAddress=context3.ipAddress),!session.userAgent&&context3.userAgent&&(session.userAgent=context3.userAgent),typeof context3.errors=="number"&&(session.errors=context3.errors),context3.status&&(session.status=context3.status)}function merge3(initialObj,mergeObj,levels=2){if(!mergeObj||typeof mergeObj!="object"||levels<=0)return mergeObj;if(initialObj&&Object.keys(mergeObj).length===0)return initialObj;let output2=__spreadValues({},initialObj);for(let key in mergeObj)Object.prototype.hasOwnProperty.call(mergeObj,key)&&(output2[key]=merge3(output2[key],mergeObj[key],levels-1));return output2}function generateTraceId(){return uuid4()}var SCOPE_SPAN_FIELD="_sentrySpan";function _setSpanForScope(scope,span){span?addNonEnumerableProperty(scope,SCOPE_SPAN_FIELD,span):delete scope[SCOPE_SPAN_FIELD]}function _getSpanForScope(scope){return scope[SCOPE_SPAN_FIELD]}var DEFAULT_MAX_BREADCRUMBS=100,Scope=class _Scope{constructor(){this._notifyingListeners=!1,this._scopeListeners=[],this._eventProcessors=[],this._breadcrumbs=[],this._attachments=[],this._user={},this._tags={},this._attributes={},this._extra={},this._contexts={},this._sdkProcessingMetadata={},this._propagationContext={traceId:generateTraceId(),sampleRand:safeMathRandom()}}clone(){let newScope=new _Scope;return newScope._breadcrumbs=[...this._breadcrumbs],newScope._tags=__spreadValues({},this._tags),newScope._attributes=__spreadValues({},this._attributes),newScope._extra=__spreadValues({},this._extra),newScope._contexts=__spreadValues({},this._contexts),this._contexts.flags&&(newScope._contexts.flags={values:[...this._contexts.flags.values]}),newScope._user=this._user,newScope._level=this._level,newScope._session=this._session,newScope._transactionName=this._transactionName,newScope._fingerprint=this._fingerprint,newScope._eventProcessors=[...this._eventProcessors],newScope._attachments=[...this._attachments],newScope._sdkProcessingMetadata=__spreadValues({},this._sdkProcessingMetadata),newScope._propagationContext=__spreadValues({},this._propagationContext),newScope._client=this._client,newScope._lastEventId=this._lastEventId,newScope._conversationId=this._conversationId,_setSpanForScope(newScope,_getSpanForScope(this)),newScope}setClient(client){this._client=client}setLastEventId(lastEventId2){this._lastEventId=lastEventId2}getClient(){return this._client}lastEventId(){return this._lastEventId}addScopeListener(callback){this._scopeListeners.push(callback)}addEventProcessor(callback){return this._eventProcessors.push(callback),this}setUser(user){return this._user=user||{email:void 0,id:void 0,ip_address:void 0,username:void 0},this._session&&updateSession(this._session,{user}),this._notifyScopeListeners(),this}getUser(){return this._user}setConversationId(conversationId){return this._conversationId=conversationId||void 0,this._notifyScopeListeners(),this}setTags(tags){return this._tags=__spreadValues(__spreadValues({},this._tags),tags),this._notifyScopeListeners(),this}setTag(key,value){return this.setTags({[key]:value})}setAttributes(newAttributes){return this._attributes=__spreadValues(__spreadValues({},this._attributes),newAttributes),this._notifyScopeListeners(),this}setAttribute(key,value){return this.setAttributes({[key]:value})}removeAttribute(key){return key in this._attributes&&(delete this._attributes[key],this._notifyScopeListeners()),this}setExtras(extras){return this._extra=__spreadValues(__spreadValues({},this._extra),extras),this._notifyScopeListeners(),this}setExtra(key,extra){return this._extra=__spreadProps(__spreadValues({},this._extra),{[key]:extra}),this._notifyScopeListeners(),this}setFingerprint(fingerprint){return this._fingerprint=fingerprint,this._notifyScopeListeners(),this}setLevel(level){return this._level=level,this._notifyScopeListeners(),this}setTransactionName(name){return this._transactionName=name,this._notifyScopeListeners(),this}setContext(key,context3){return context3===null?delete this._contexts[key]:this._contexts[key]=context3,this._notifyScopeListeners(),this}setSession(session){return session?this._session=session:delete this._session,this._notifyScopeListeners(),this}getSession(){return this._session}update(captureContext){if(!captureContext)return this;let scopeToMerge=typeof captureContext=="function"?captureContext(this):captureContext,scopeInstance=scopeToMerge instanceof _Scope?scopeToMerge.getScopeData():isPlainObject(scopeToMerge)?captureContext:void 0,{tags,attributes,extra,user,contexts,level,fingerprint=[],propagationContext,conversationId}=scopeInstance||{};return this._tags=__spreadValues(__spreadValues({},this._tags),tags),this._attributes=__spreadValues(__spreadValues({},this._attributes),attributes),this._extra=__spreadValues(__spreadValues({},this._extra),extra),this._contexts=__spreadValues(__spreadValues({},this._contexts),contexts),user&&Object.keys(user).length&&(this._user=user),level&&(this._level=level),fingerprint.length&&(this._fingerprint=fingerprint),propagationContext&&(this._propagationContext=propagationContext),conversationId&&(this._conversationId=conversationId),this}clear(){return this._breadcrumbs=[],this._tags={},this._attributes={},this._extra={},this._user={},this._contexts={},this._level=void 0,this._transactionName=void 0,this._fingerprint=void 0,this._session=void 0,this._conversationId=void 0,_setSpanForScope(this,void 0),this._attachments=[],this.setPropagationContext({traceId:generateTraceId(),sampleRand:safeMathRandom()}),this._notifyScopeListeners(),this}addBreadcrumb(breadcrumb,maxBreadcrumbs){let maxCrumbs=typeof maxBreadcrumbs=="number"?maxBreadcrumbs:DEFAULT_MAX_BREADCRUMBS;if(maxCrumbs<=0)return this;let mergedBreadcrumb=__spreadProps(__spreadValues({timestamp:dateTimestampInSeconds()},breadcrumb),{message:breadcrumb.message?truncate(breadcrumb.message,2048):breadcrumb.message});return this._breadcrumbs.push(mergedBreadcrumb),this._breadcrumbs.length>maxCrumbs&&(this._breadcrumbs=this._breadcrumbs.slice(-maxCrumbs),this._client?.recordDroppedEvent("buffer_overflow","log_item")),this._notifyScopeListeners(),this}getLastBreadcrumb(){return this._breadcrumbs[this._breadcrumbs.length-1]}clearBreadcrumbs(){return this._breadcrumbs=[],this._notifyScopeListeners(),this}addAttachment(attachment){return this._attachments.push(attachment),this}clearAttachments(){return this._attachments=[],this}getScopeData(){return{breadcrumbs:this._breadcrumbs,attachments:this._attachments,contexts:this._contexts,tags:this._tags,attributes:this._attributes,extra:this._extra,user:this._user,level:this._level,fingerprint:this._fingerprint||[],eventProcessors:this._eventProcessors,propagationContext:this._propagationContext,sdkProcessingMetadata:this._sdkProcessingMetadata,transactionName:this._transactionName,span:_getSpanForScope(this),conversationId:this._conversationId}}setSDKProcessingMetadata(newData){return this._sdkProcessingMetadata=merge3(this._sdkProcessingMetadata,newData,2),this}setPropagationContext(context3){return this._propagationContext=context3,this}getPropagationContext(){return this._propagationContext}captureException(exception,hint){let eventId=hint?.event_id||uuid4();if(!this._client)return DEBUG_BUILD&&debug.warn("No client configured on scope - will not capture exception!"),eventId;let syntheticException=new Error("Sentry syntheticException");return this._client.captureException(exception,__spreadProps(__spreadValues({originalException:exception,syntheticException},hint),{event_id:eventId}),this),eventId}captureMessage(message,level,hint){let eventId=hint?.event_id||uuid4();if(!this._client)return DEBUG_BUILD&&debug.warn("No client configured on scope - will not capture message!"),eventId;let syntheticException=hint?.syntheticException??new Error(message);return this._client.captureMessage(message,level,__spreadProps(__spreadValues({originalException:message,syntheticException},hint),{event_id:eventId}),this),eventId}captureEvent(event2,hint){let eventId=event2.event_id||hint?.event_id||uuid4();return this._client?(this._client.captureEvent(event2,__spreadProps(__spreadValues({},hint),{event_id:eventId}),this),eventId):(DEBUG_BUILD&&debug.warn("No client configured on scope - will not capture event!"),eventId)}_notifyScopeListeners(){this._notifyingListeners||(this._notifyingListeners=!0,this._scopeListeners.forEach(callback=>{callback(this)}),this._notifyingListeners=!1)}};function getDefaultCurrentScope(){return getGlobalSingleton("defaultCurrentScope",()=>new Scope)}function getDefaultIsolationScope(){return getGlobalSingleton("defaultIsolationScope",()=>new Scope)}var AsyncContextStack=class{constructor(scope,isolationScope){let assignedScope;scope?assignedScope=scope:assignedScope=new Scope;let assignedIsolationScope;isolationScope?assignedIsolationScope=isolationScope:assignedIsolationScope=new Scope,this._stack=[{scope:assignedScope}],this._isolationScope=assignedIsolationScope}withScope(callback){let scope=this._pushScope(),maybePromiseResult;try{maybePromiseResult=callback(scope)}catch(e){throw this._popScope(),e}return isThenable(maybePromiseResult)?maybePromiseResult.then(res=>(this._popScope(),res),e=>{throw this._popScope(),e}):(this._popScope(),maybePromiseResult)}getClient(){return this.getStackTop().client}getScope(){return this.getStackTop().scope}getIsolationScope(){return this._isolationScope}getStackTop(){return this._stack[this._stack.length-1]}_pushScope(){let scope=this.getScope().clone();return this._stack.push({client:this.getClient(),scope}),scope}_popScope(){return this._stack.length<=1?!1:!!this._stack.pop()}};function getAsyncContextStack(){let registry=getMainCarrier(),sentry=getSentryCarrier(registry);return sentry.stack=sentry.stack||new AsyncContextStack(getDefaultCurrentScope(),getDefaultIsolationScope())}function withScope(callback){return getAsyncContextStack().withScope(callback)}function withSetScope(scope,callback){let stack=getAsyncContextStack();return stack.withScope(()=>(stack.getStackTop().scope=scope,callback(scope)))}function withIsolationScope(callback){return getAsyncContextStack().withScope(()=>callback(getAsyncContextStack().getIsolationScope()))}function getStackAsyncContextStrategy(){return{withIsolationScope,withScope,withSetScope,withSetIsolationScope:(_isolationScope,callback)=>withIsolationScope(callback),getCurrentScope:()=>getAsyncContextStack().getScope(),getIsolationScope:()=>getAsyncContextStack().getIsolationScope()}}function getAsyncContextStrategy(carrier){let sentry=getSentryCarrier(carrier);return sentry.acs?sentry.acs:getStackAsyncContextStrategy()}function getCurrentScope(){let carrier=getMainCarrier();return getAsyncContextStrategy(carrier).getCurrentScope()}function getIsolationScope(){let carrier=getMainCarrier();return getAsyncContextStrategy(carrier).getIsolationScope()}function getClient(){return getCurrentScope().getClient()}var DEFAULT_BREADCRUMBS=100;function addBreadcrumb(breadcrumb,hint){let client=getClient(),isolationScope=getIsolationScope();if(!client)return;let{beforeBreadcrumb=null,maxBreadcrumbs=DEFAULT_BREADCRUMBS}=client.getOptions();if(maxBreadcrumbs<=0)return;let timestamp2=dateTimestampInSeconds(),mergedBreadcrumb=__spreadValues({timestamp:timestamp2},breadcrumb),finalBreadcrumb=beforeBreadcrumb?consoleSandbox(()=>beforeBreadcrumb(mergedBreadcrumb,hint)):mergedBreadcrumb;finalBreadcrumb!==null&&(client.emit&&client.emit("beforeAddBreadcrumb",finalBreadcrumb,hint),isolationScope.addBreadcrumb(finalBreadcrumb,maxBreadcrumbs))}function sentryNgrxMetaReducer(reducer44){return function(state,action){return addBreadcrumb({category:"ngrx",message:action.type,level:"info"}),reducer44(state,action)}}var reducers={router:routerReducer},metaReducers=environment.production?[sentryNgrxMetaReducer]:[];var AppEffects=(()=>{class AppEffects2{constructor(){this.actions$=inject(Actions),this.location=inject(Location),this.router=inject(Router),this.company2faRequired$=createEffect(()=>this.actions$.pipe(ofType(loadMeFailure),mergeMap(({errors:errors2})=>errors2.some(error3=>error3.message===IxApiRequestErrorMessages.TWO_FACTOR_AUTH_REQUIRED)?of(redirectTo2faRequired()):EMPTY))),this.redirectTo2faRequired$=createEffect(()=>this.actions$.pipe(ofType(redirectTo2faRequired),tap(()=>{this.router.navigate(["/two-factor-auth-required"],{skipLocationChange:!0})})),{dispatch:!1})}static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AppEffects2)}}static{this.\u0275prov=\u0275\u0275defineInjectable({token:AppEffects2,factory:AppEffects2.\u0275fac})}}return AppEffects2})();var AppStateModule=(()=>{class AppStateModule2{static{this.\u0275fac=function(__ngFactoryType__){return new(__ngFactoryType__||AppStateModule2)}}static{this.\u0275mod=\u0275\u0275defineNgModule({type:AppStateModule2})}static{this.\u0275inj=\u0275\u0275defineInjector({imports:[TranslateModule,StoreModule.forRoot(reducers,{metaReducers,runtimeChecks:{strictStateImmutability:!environment.production,strictActionImmutability:!environment.production,strictStateSerializability:!environment.production}}),environment.production?[]:[StoreDevtoolsModule.instrument({maxAge:50,connectInZone:!0})],EffectsModule.forRoot([AppEffects])]})}}return AppStateModule2})();function generateBanner(metadata,translate){let header=document.createElement("div");return header.innerHTML=`
|
|
894
895
|
<div id="appBanner" style="display: flex; top: 0; left: 0; width: 100%; height: 80px; position: absolute; justify-content: center; background-color: #f2f2f2;">
|
|
895
896
|
<div style="display: flex; justify-content: flex-start; width: 100vw; color: black;">
|
|
896
897
|
<div style="justify-content: flex-start; max-width: 330px; display: flex; align-items: center; flex: 1;">
|